/*
 * This file is generated by jOOQ.
 */
package ervu_dashboard.ervu_dashboard.db_beans.security;


import ervu_dashboard.ervu_dashboard.db_beans.security.tables.AccessLevel;
import ervu_dashboard.ervu_dashboard.db_beans.security.tables.Authority;
import ervu_dashboard.ervu_dashboard.db_beans.security.tables.EsiaUser;
import ervu_dashboard.ervu_dashboard.db_beans.security.tables.LinkUserAccountUserGroup;
import ervu_dashboard.ervu_dashboard.db_beans.security.tables.LinkUserGroupUserRole;
import ervu_dashboard.ervu_dashboard.db_beans.security.tables.LinkUserRoleAuthority;
import ervu_dashboard.ervu_dashboard.db_beans.security.tables.OrgUnit;
import ervu_dashboard.ervu_dashboard.db_beans.security.tables.UserAccount;
import ervu_dashboard.ervu_dashboard.db_beans.security.tables.UserAccountRefreshToken;
import ervu_dashboard.ervu_dashboard.db_beans.security.tables.UserGroup;
import ervu_dashboard.ervu_dashboard.db_beans.security.tables.UserRole;
import ervu_dashboard.ervu_dashboard.db_beans.security.tables.records.AccessLevelRecord;
import ervu_dashboard.ervu_dashboard.db_beans.security.tables.records.AuthorityRecord;
import ervu_dashboard.ervu_dashboard.db_beans.security.tables.records.EsiaUserRecord;
import ervu_dashboard.ervu_dashboard.db_beans.security.tables.records.LinkUserAccountUserGroupRecord;
import ervu_dashboard.ervu_dashboard.db_beans.security.tables.records.LinkUserGroupUserRoleRecord;
import ervu_dashboard.ervu_dashboard.db_beans.security.tables.records.LinkUserRoleAuthorityRecord;
import ervu_dashboard.ervu_dashboard.db_beans.security.tables.records.OrgUnitRecord;
import ervu_dashboard.ervu_dashboard.db_beans.security.tables.records.UserAccountRecord;
import ervu_dashboard.ervu_dashboard.db_beans.security.tables.records.UserAccountRefreshTokenRecord;
import ervu_dashboard.ervu_dashboard.db_beans.security.tables.records.UserGroupRecord;
import ervu_dashboard.ervu_dashboard.db_beans.security.tables.records.UserRoleRecord;

import org.jooq.ForeignKey;
import org.jooq.TableField;
import org.jooq.UniqueKey;
import org.jooq.impl.DSL;
import org.jooq.impl.Internal;


/**
 * A class modelling foreign key relationships and constraints of tables in
 * security.
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Keys {

    // -------------------------------------------------------------------------
    // UNIQUE and PRIMARY KEY definitions
    // -------------------------------------------------------------------------

    public static final UniqueKey<AccessLevelRecord> PK_ACCESS_LEVEL = Internal.createUniqueKey(AccessLevel.ACCESS_LEVEL, DSL.name("pk_access_level"), new TableField[] { AccessLevel.ACCESS_LEVEL.ACCESS_LEVEL_ID }, true);
    public static final UniqueKey<AccessLevelRecord> UNI_ACCESS_LEVEL = Internal.createUniqueKey(AccessLevel.ACCESS_LEVEL, DSL.name("uni_access_level"), new TableField[] { AccessLevel.ACCESS_LEVEL.LEVEL }, true);
    public static final UniqueKey<AuthorityRecord> PK_AUTHORITY = Internal.createUniqueKey(Authority.AUTHORITY, DSL.name("pk_authority"), new TableField[] { Authority.AUTHORITY.AUTHORITY_ID }, true);
    public static final UniqueKey<AuthorityRecord> UNI_AUTHORITY_NAME = Internal.createUniqueKey(Authority.AUTHORITY, DSL.name("uni_authority_name"), new TableField[] { Authority.AUTHORITY.NAME }, true);
    public static final UniqueKey<EsiaUserRecord> PK_ESIA_USER = Internal.createUniqueKey(EsiaUser.ESIA_USER, DSL.name("pk_esia_user"), new TableField[] { EsiaUser.ESIA_USER.ESIA_USER_ID }, true);
    public static final UniqueKey<EsiaUserRecord> UNI_ESIA_USER1 = Internal.createUniqueKey(EsiaUser.ESIA_USER, DSL.name("uni_esia_user1"), new TableField[] { EsiaUser.ESIA_USER.USER_ACCOUNT_ID }, true);
    public static final UniqueKey<EsiaUserRecord> UNI_ESIA_USER2 = Internal.createUniqueKey(EsiaUser.ESIA_USER, DSL.name("uni_esia_user2"), new TableField[] { EsiaUser.ESIA_USER.PERSON_CONTACT_ID }, true);
    public static final UniqueKey<LinkUserAccountUserGroupRecord> PK_USER_GROUP = Internal.createUniqueKey(LinkUserAccountUserGroup.LINK_USER_ACCOUNT_USER_GROUP, DSL.name("pk_user_group"), new TableField[] { LinkUserAccountUserGroup.LINK_USER_ACCOUNT_USER_GROUP.LINK_USER_ACCOUNT_USER_GROUP_ID }, true);
    public static final UniqueKey<LinkUserAccountUserGroupRecord> UNI_USER_GROUP = Internal.createUniqueKey(LinkUserAccountUserGroup.LINK_USER_ACCOUNT_USER_GROUP, DSL.name("uni_user_group"), new TableField[] { LinkUserAccountUserGroup.LINK_USER_ACCOUNT_USER_GROUP.USER_ACCOUNT_ID, LinkUserAccountUserGroup.LINK_USER_ACCOUNT_USER_GROUP.USER_GROUP_ID }, true);
    public static final UniqueKey<LinkUserGroupUserRoleRecord> PK_GROUP_ROLE = Internal.createUniqueKey(LinkUserGroupUserRole.LINK_USER_GROUP_USER_ROLE, DSL.name("pk_group_role"), new TableField[] { LinkUserGroupUserRole.LINK_USER_GROUP_USER_ROLE.LINK_USER_GROUP_USER_ROLE_ID }, true);
    public static final UniqueKey<LinkUserGroupUserRoleRecord> UNI_GROUP_ROLE = Internal.createUniqueKey(LinkUserGroupUserRole.LINK_USER_GROUP_USER_ROLE, DSL.name("uni_group_role"), new TableField[] { LinkUserGroupUserRole.LINK_USER_GROUP_USER_ROLE.USER_GROUP_ID, LinkUserGroupUserRole.LINK_USER_GROUP_USER_ROLE.USER_ROLE_ID }, true);
    public static final UniqueKey<LinkUserRoleAuthorityRecord> PK_ROLE_AUTHORITY = Internal.createUniqueKey(LinkUserRoleAuthority.LINK_USER_ROLE_AUTHORITY, DSL.name("pk_role_authority"), new TableField[] { LinkUserRoleAuthority.LINK_USER_ROLE_AUTHORITY.USER_ROLE_AUTHORITY_ID }, true);
    public static final UniqueKey<LinkUserRoleAuthorityRecord> UNI_ROLE_AUTHORITY = Internal.createUniqueKey(LinkUserRoleAuthority.LINK_USER_ROLE_AUTHORITY, DSL.name("uni_role_authority"), new TableField[] { LinkUserRoleAuthority.LINK_USER_ROLE_AUTHORITY.USER_ROLE_ID, LinkUserRoleAuthority.LINK_USER_ROLE_AUTHORITY.AUTHORITY_ID }, true);
    public static final UniqueKey<OrgUnitRecord> ORG_UNIT_CODE_KEY = Internal.createUniqueKey(OrgUnit.ORG_UNIT, DSL.name("org_unit_code_key"), new TableField[] { OrgUnit.ORG_UNIT.CODE }, true);
    public static final UniqueKey<OrgUnitRecord> PK_ORG_UNIT = Internal.createUniqueKey(OrgUnit.ORG_UNIT, DSL.name("pk_org_unit"), new TableField[] { OrgUnit.ORG_UNIT.ID }, true);
    public static final UniqueKey<UserAccountRecord> PK_USER = Internal.createUniqueKey(UserAccount.USER_ACCOUNT, DSL.name("pk_user"), new TableField[] { UserAccount.USER_ACCOUNT.USER_ACCOUNT_ID }, true);
    public static final UniqueKey<UserAccountRecord> USER_ACCOUNT_USERNAME_UNIQUE = Internal.createUniqueKey(UserAccount.USER_ACCOUNT, DSL.name("user_account_username_unique"), new TableField[] { UserAccount.USER_ACCOUNT.USERNAME }, true);
    public static final UniqueKey<UserAccountRefreshTokenRecord> PK_USER_ACCOUNT_REFRESH_TOKEN = Internal.createUniqueKey(UserAccountRefreshToken.USER_ACCOUNT_REFRESH_TOKEN, DSL.name("pk_user_account_refresh_token"), new TableField[] { UserAccountRefreshToken.USER_ACCOUNT_REFRESH_TOKEN.USER_ACCOUNT_REFRESH_TOKEN_ID }, true);
    public static final UniqueKey<UserGroupRecord> PK_GROUP = Internal.createUniqueKey(UserGroup.USER_GROUP, DSL.name("pk_group"), new TableField[] { UserGroup.USER_GROUP.USER_GROUP_ID }, true);
    public static final UniqueKey<UserGroupRecord> UNI_GROUP_NAME = Internal.createUniqueKey(UserGroup.USER_GROUP, DSL.name("uni_group_name"), new TableField[] { UserGroup.USER_GROUP.NAME }, true);
    public static final UniqueKey<UserRoleRecord> PK_ROLE = Internal.createUniqueKey(UserRole.USER_ROLE, DSL.name("pk_role"), new TableField[] { UserRole.USER_ROLE.USER_ROLE_ID }, true);
    public static final UniqueKey<UserRoleRecord> UNI_ROLE_NAME = Internal.createUniqueKey(UserRole.USER_ROLE, DSL.name("uni_role_name"), new TableField[] { UserRole.USER_ROLE.NAME }, true);

    // -------------------------------------------------------------------------
    // FOREIGN KEY definitions
    // -------------------------------------------------------------------------

    public static final ForeignKey<EsiaUserRecord, UserAccountRecord> ESIA_USER__FK_ESIA_USER1 = Internal.createForeignKey(EsiaUser.ESIA_USER, DSL.name("fk_esia_user1"), new TableField[] { EsiaUser.ESIA_USER.USER_ACCOUNT_ID }, Keys.PK_USER, new TableField[] { UserAccount.USER_ACCOUNT.USER_ACCOUNT_ID }, true);
    public static final ForeignKey<LinkUserAccountUserGroupRecord, UserGroupRecord> LINK_USER_ACCOUNT_USER_GROUP__FK_USER_GROUP_GROUP = Internal.createForeignKey(LinkUserAccountUserGroup.LINK_USER_ACCOUNT_USER_GROUP, DSL.name("fk_user_group_group"), new TableField[] { LinkUserAccountUserGroup.LINK_USER_ACCOUNT_USER_GROUP.USER_GROUP_ID }, Keys.PK_GROUP, new TableField[] { UserGroup.USER_GROUP.USER_GROUP_ID }, true);
    public static final ForeignKey<LinkUserAccountUserGroupRecord, UserAccountRecord> LINK_USER_ACCOUNT_USER_GROUP__FK_USER_GROUP_USER = Internal.createForeignKey(LinkUserAccountUserGroup.LINK_USER_ACCOUNT_USER_GROUP, DSL.name("fk_user_group_user"), new TableField[] { LinkUserAccountUserGroup.LINK_USER_ACCOUNT_USER_GROUP.USER_ACCOUNT_ID }, Keys.PK_USER, new TableField[] { UserAccount.USER_ACCOUNT.USER_ACCOUNT_ID }, true);
    public static final ForeignKey<LinkUserGroupUserRoleRecord, UserGroupRecord> LINK_USER_GROUP_USER_ROLE__FK_GROUP_ROLE_GROUP = Internal.createForeignKey(LinkUserGroupUserRole.LINK_USER_GROUP_USER_ROLE, DSL.name("fk_group_role_group"), new TableField[] { LinkUserGroupUserRole.LINK_USER_GROUP_USER_ROLE.USER_GROUP_ID }, Keys.PK_GROUP, new TableField[] { UserGroup.USER_GROUP.USER_GROUP_ID }, true);
    public static final ForeignKey<LinkUserGroupUserRoleRecord, UserRoleRecord> LINK_USER_GROUP_USER_ROLE__FK_GROUP_ROLE_ROLE = Internal.createForeignKey(LinkUserGroupUserRole.LINK_USER_GROUP_USER_ROLE, DSL.name("fk_group_role_role"), new TableField[] { LinkUserGroupUserRole.LINK_USER_GROUP_USER_ROLE.USER_ROLE_ID }, Keys.PK_ROLE, new TableField[] { UserRole.USER_ROLE.USER_ROLE_ID }, true);
    public static final ForeignKey<LinkUserRoleAuthorityRecord, AuthorityRecord> LINK_USER_ROLE_AUTHORITY__FK_ROLE_AUTHORITY_AUTHORITY = Internal.createForeignKey(LinkUserRoleAuthority.LINK_USER_ROLE_AUTHORITY, DSL.name("fk_role_authority_authority"), new TableField[] { LinkUserRoleAuthority.LINK_USER_ROLE_AUTHORITY.AUTHORITY_ID }, Keys.PK_AUTHORITY, new TableField[] { Authority.AUTHORITY.AUTHORITY_ID }, true);
    public static final ForeignKey<LinkUserRoleAuthorityRecord, UserRoleRecord> LINK_USER_ROLE_AUTHORITY__FK_ROLE_AUTHORITY_ROLE = Internal.createForeignKey(LinkUserRoleAuthority.LINK_USER_ROLE_AUTHORITY, DSL.name("fk_role_authority_role"), new TableField[] { LinkUserRoleAuthority.LINK_USER_ROLE_AUTHORITY.USER_ROLE_ID }, Keys.PK_ROLE, new TableField[] { UserRole.USER_ROLE.USER_ROLE_ID }, true);
    public static final ForeignKey<OrgUnitRecord, OrgUnitRecord> ORG_UNIT__FK_ORG_UNIT_PARENT_ID = Internal.createForeignKey(OrgUnit.ORG_UNIT, DSL.name("fk_org_unit_parent_id"), new TableField[] { OrgUnit.ORG_UNIT.PARENT_ID }, Keys.PK_ORG_UNIT, new TableField[] { OrgUnit.ORG_UNIT.ID }, true);
    public static final ForeignKey<UserAccountRecord, OrgUnitRecord> USER_ACCOUNT__FK_USER_ORG_UNIT_ID = Internal.createForeignKey(UserAccount.USER_ACCOUNT, DSL.name("fk_user_org_unit_id"), new TableField[] { UserAccount.USER_ACCOUNT.ORG_UNIT_ID }, Keys.PK_ORG_UNIT, new TableField[] { OrgUnit.ORG_UNIT.ID }, true);
    public static final ForeignKey<UserAccountRefreshTokenRecord, UserAccountRecord> USER_ACCOUNT_REFRESH_TOKEN__FK_USER_ACCOUNT_REFRESH_TOKEN = Internal.createForeignKey(UserAccountRefreshToken.USER_ACCOUNT_REFRESH_TOKEN, DSL.name("fk_user_account_refresh_token"), new TableField[] { UserAccountRefreshToken.USER_ACCOUNT_REFRESH_TOKEN.USER_ACCOUNT_ID }, Keys.PK_USER, new TableField[] { UserAccount.USER_ACCOUNT.USER_ACCOUNT_ID }, true);
    public static final ForeignKey<UserGroupRecord, AccessLevelRecord> USER_GROUP__FK_USER_GROUP_ACCESS_LEVEL = Internal.createForeignKey(UserGroup.USER_GROUP, DSL.name("fk_user_group_access_level"), new TableField[] { UserGroup.USER_GROUP.ACCESS_LEVEL_ID }, Keys.PK_ACCESS_LEVEL, new TableField[] { AccessLevel.ACCESS_LEVEL.ACCESS_LEVEL_ID }, true);
}
