Authorization service DB - servinglynk/hslynk-open-source-docs GitHub Wiki

HMIS_DEVELOPER_COMPANY_ACCOUNT

ID DEVELOPER_COMPANY_ID ACCOUNT_ID - Associated with the user account id of the system ROLE - This role determines, who has rights to access the admin account of the developer company in the system CREATED_AT - Audit fields MODIFIED_AT - Audit fields CREATED_BY - Audit fields MODIFIED_BY - Audit fields

HMIS_DEVELOPER_COMPANY

ID
EXTERNAL_ID
NAME - App company
DOMAIN - App company URL
LOGO_URL - App Logo URL
OWNER_ACCOUNT_ID - Some one from the App developers should be an user to HMIS system.
COMPANY_SIZE - Optional additional detail
APP_EXPERIENCE - Optional additional detail
COMPANY_SKILL_SET - Optional additional detail APP_PLATFORMS - Optional additional detail EXPECTED_APP_FINISH_DATE - Optional additional detail CONTACT_EMAIL - Optional additional detail STATUS - Approved / Pending/ Rejected CREATED_AT - Audit fields
MODIFIED_AT - Audit fields
CREATED_BY - Audit fields
MODIFIED_BY - Audit fields

HMIS_DEVELOPER_COMPANY_STATUS

ID
DEVELOPER_COMPANY_ID
STATUS
COMMENTS
CREATED_AT - Audit fields MODIFIED_AT - Audit fields
CREATED_BY - Audit fields MODIFIED_BY - Audit fields

HMIS_CLIENT

ID
FRIENDLY_NAME - friendly name of the trusted app
EXTERNAL_ID - UNIQUE Identifier of the App
DESCRIPTION
STATUS - ACTIVE or INACTIVE
EXPIRATION_TIME - Each app will have the session time out configuration, depending on their requirements
CLIENT_SECRET - OAUTH
REFRESH_TOKEN_SUPPORTED - OAUTH
IMPLICIT_GRANT_SUPPORTED - OAUTH
AUTH_CODE_GRANT_SUPPORTED - OAUTH
API_METHOD_CHECK_REQUIRED - OAUTH
ACCOUNT_CONSENT_TYPE - OAUTH
LOGO_URL - Logo of the APP (optional)
SERVICE_ID - which DEVELOPER PROJECT this app is associated with ?
IS_INTERNAL - is it an internal app (this need not be an mobile app, example is our admin application)
PUBLISH_STATUS - Trused app publish status
VERSION - Trused app version CREATED_AT - Audit field
MODIFIED_AT - Audit field
CREATED_BY - Audit field
MODIFIED_BY - Audit field

HMIS_CLIENT_STATUS

ID
CLIENT_ID - Trusted app Identifier
STATUS - Status of the trusted app - Authroized personnel at HMIS will approve this or customer COMMENTS - Comments for Approval / Denail / More information required etc.
CREATED_AT - Audit fields MODIFIED_AT - Audit fields
CREATED_BY - Audit fields MODIFIED_BY - Audit fields

HMIS_SESSION

ID
ACCOUNT_ID - user who logged in
SESSION_TOKEN - session token
EXPIRES_AT - expirty time for this token
CLIENT_ID - which mobile app the user used to login
AUTH_CODE - OAUTH
AUTH_CODE_EXPIRES_AT - OAUTH
REDIRECT_URI - OAUTH which apps redirect Id, he got redirected to, after successful log in
REFRESH_TOKEN_ID - OAUTH which refresh token, the trusted app used to create the session
CREATED_AT - Audit fields MODIFIED_AT - Audit fields
CREATED_BY - Audit fields MODIFIED_BY - Audit fields

HMIS_SERVICE

ID
EXTERNAL_ID - Unique identifer for the service
FRIENDLY_NAME - Friendly name for the service
DESCRIPTION - Description of the service that teh developer company approaches us with.
DEVELOPER_COMPANY_ID - Which dev company is creating this APP
CREATED_AT - Audit fields MODIFIED_AT - Audit fields
CREATED_BY - Audit fields MODIFIED_BY - Audit fields
STATUS - Current status of the SERVICE

HMIS_SERVICE_STATUS

ID
STATUS_ID - Trusted app Identifier
STATUS - Status of the SERVICE Authroized personnel at HMIS will approve this or customer COMMENTS - Comments for Approval / Denail / More information required etc.
CREATED_AT - Audit fields MODIFIED_AT - Audit fields
CREATED_BY - Audit fields MODIFIED_BY - Audit fields

HMIS_CONSENT_MESSAGE

ID
EXTERNAL_ID - Unique Identifier of the message MESSAGE - OAUTH consent message
CREATED_AT - Audit fields MODIFIED_AT - Audit fields
CREATED_BY - Audit fields MODIFIED_BY - Audit fields

HMIS_API_METHOD

ID
EXTERNAL_ID - Unique Identifier of the API
FRIENDLY_NAME - Friendly name of the API
DESCRIPTION
TYPE - What type of API is this - (Optioanl and infomrational)
REQUIRES_ACCESS_TOKEN - Whether the user needs an Access token to acecss this API. (for instance, for creating a session we will not have )
IS_PUBLIC - Whether this
DEPRECATED - Is this API deprecated ?
CONSENT_MESSAGE_ID - Consent message for the user
DETAILED_CONSENT_MESSAGE_ID - Detailed message CREATED_AT - Audit fields MODIFIED_AT - Audit fields
CREATED_BY - Audit fields MODIFIED_BY - Audit fields

HMIS_SERVICE_API_METHOD

ID
SERVICE_ID - service Id of the developer
API_METHOD_ID - API Method that is associated with API Method. CREATED_AT - Audit fields MODIFIED_AT - Audit fields
CREATED_BY - Audit fields MODIFIED_BY - Audit fields

Trusted app / client registers Redirect URI for security purposes. We user's sucessful login with HMIS system, we will redirect them to ONE of the redirect URLs that they already registered with us. HMIS_REDIRECT_URI

ID
URI - Redirect URL
CLIENT_ID - Trusted app ID
CREATED_AT - Audit fields MODIFIED_AT - Audit fields
CREATED_BY - Audit fields MODIFIED_BY - Audit fields

GENERAL OAUTH entities for Refresh token and Request token handling - HMIS_REFRESH_TOKEN

ID
TOKEN
AUTH_CODE
ACCOUNT_ID - user Id / account Id
CLIENT_ID - Trusted app ID
CREATED_AT - Audit fields MODIFIED_AT - Audit fields
CREATED_BY - Audit fields MODIFIED_BY - Audit fields

OAUTH related HMIS_REQUEST_TOKEN

ID
TOKEN - Request token
USED - Whether this Request token is already used ?
EXPIRES_AT - what is the expiry time for the request token.
CREATED_AT - Audit fields MODIFIED_AT - Audit fields
CREATED_BY - Audit fields MODIFIED_BY - Audit fields
MAX_USE - how many times a request token can be used to create a auth token