Tables


SchemaSpy Analysis of fam.app_fam

Generated on Fri Dec 20 22:06 GMT 2024

XML Representation
Insertion Order Deletion Order
TABLES 20
VIEWS 0
COLUMNS 142
Constraints 26
Anomalies 1
Routines 0

Database Properties

Database Type: PostgreSQL - 14.13

Tables

Table / View Children Parents Columns Rows Type Comments
fam_forest_client 2 0 6 -1 Table

A forest client is a business, individual, or agency that is identified as an entity that a user can have a privilege “on behalf of”.

fam_user_role_xref 0 2 7 -1 Table

User Role Xref is a cross-reference object that allows for the identification of Roles assigned to a user, as well as the users that belong to a given Role

fam_user_terms_conditions 0 1 7 -1 Table

User Terms Conditions records identify the users who accept the terms and conditions, as well as the version of it.

fam_role_type 1 0 5 -1 Table

A role type is a code that is associated with roles that will influence what can be associate with a role. At time of implementation an abstract role can only have other roles related to it, while a concrete role can only have users associated with it

fam_application_group_xref 0 2 6 -1 Table
flyway_schema_history 0 0 10 -1 Table
alembic_version 0 0 1 -1 Table
fam_role 4 4 12 4 Table

A role is a qualifier that can be assigned to a user in order to identify a privilege within the context of an application.

fam_application_client 0 1 7 -1 Table

FAM needs to know the OIDC client ID in order to match to an application. The relationship between OIDC client and application is many-to-one because sometimes there is more than one OIDC client for an application and it is convenient to be able to configure the authorization once (at the application level) and re-use it (at the OIDC level).

fam_group_role_xref 0 2 6 -1 Table
fam_user_group_xref 0 2 6 -1 Table

User Group Xref is a cross-reference object that allows for the identification of Groups assigned to a user, as well as the users that belong to a given Group

fam_privilege_change_type 1 0 5 -1 Table

Table containing types of privilege changes such as Grant, Revoke, or Update access.

fam_access_control_privilege 0 2 7 -1 Table

Access Control Privilege is a cross-reference object that allows for the identification of who are the delegated administrators(User) for an Application for a particular role.

fam_user 7 1 13 5 Table

A user is a person or system that can authenticate and then interact with an application.

fam_user_type_code 1 0 5 -1 Table

A user type is a code that is associated with the user to indicate its identity provider.

fam_privilege_change_audit 0 4 10 -1 Table

Audit log tracking privilege changes, including details of the change, performer, and target user.

fam_application_admin 0 2 7 -1 Table

Application Admin is a cross-reference object that allows for the identification of who are the administrators(User) for an Application, as well as which Applications the User can administer.

fam_app_environment 1 0 5 -1 Table

Used by the application to indicate its environment.

fam_application 5 1 8 -1 Table

An application is a digital product that fulfills a specific user goal. It can be a front-end application, a back-end API, a combination of these, or something else entirely.

fam_group 4 2 9 -1 Table

A group is a collection of roles. When a group is assigned to a user, the user indirectly assumes the privileges of all the roles encompassed by the group. Groups are used to defineprofiles in order to make it easier to manage common sets of roles for users. A group can contain roles from multiple applications in order to handle the case where users typically have a certain set of privileges across multiple applications.