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. |