From e34f7eed13125e658a2e21ec3fe935fbb5564067 Mon Sep 17 00:00:00 2001 From: MHauer <168809208+MaximilianHauer@users.noreply.github.com> Date: Mon, 2 Sep 2024 08:16:10 +0200 Subject: [PATCH] docs: update db-view.md (#244) Reviewed-By: Phil Schneider --- docs/database/db-view.md | 187 +++++++++++++++++++-------------------- 1 file changed, 93 insertions(+), 94 deletions(-) diff --git a/docs/database/db-view.md b/docs/database/db-view.md index 20076d1c..57c647dd 100644 --- a/docs/database/db-view.md +++ b/docs/database/db-view.md @@ -203,13 +203,13 @@ The database is organized into several key tables, each serving a specific purpo ### COMPANY_SSI_DETAIL_ASSIGNED_DOCUMENTS -document_id (UUID): A unique identifier for the document. This is a primary key and a foreign key referencing id in the DOCUMENTS table. -company_ssi_detail_id (UUID): A unique identifier for the company SSI detail. This is a primary key and a foreign key referencing id in the COMPANY_SSI_DETAILS table. +- **document_id (UUID)**: A unique identifier for the document. This is a primary key and a foreign key referencing `id` in the `DOCUMENTS` table. +- **company_ssi_detail_id (UUID)**: A unique identifier for the company SSI detail. This is a primary key and a foreign key referencing `id` in the `COMPANY_SSI_DETAILS` table. ### COMPANY_SSI_DETAIL_STATUSES -id (INTEGER): A unique identifier for the status. This is the primary key of the table. -label (TEXT): The label of the status. +- **id (INTEGER)**: A unique identifier for the status. This is the primary key of the table. +- **label (TEXT)**: The label of the status. #### Possible Values @@ -220,51 +220,50 @@ label (TEXT): The label of the status. ### COMPANY_SSI_DETAILS -id (UUID): A unique identifier for the company SSI detail. This is the primary key of the table. -bpnl (TEXT): The BP number of the company. -issuer_bpn (TEXT): The BP number of the issuer. -verified_credential_type_id (INTEGER): A foreign key referencing id in the VERIFIED_CREDENTIAL_TYPES table. -company_ssi_detail_status_id (INTEGER): A foreign key referencing id in the COMPANY_SSI_DETAIL_STATUSES table. -date_created (TIMESTAMP): The timestamp when the company SSI detail was created. -creator_user_id (TEXT): The user ID of the creator. -expiry_date (TIMESTAMP): The expiry date of the company SSI detail. -verified_credential_external_type_detail_version_id (UUID): A foreign key referencing id in the VERIFIED_CREDENTIAL_EXTERNAL_TYPE_DETAIL_VERSIONS table. -expiry_check_type_id (INTEGER): A foreign key referencing id in the EXPIRY_CHECK_TYPES table. -process_id (UUID): A foreign key referencing id in the PROCESSES table. -external_credential_id (UUID): A unique identifier for the external credential. -credential (TEXT): The credential information. -date_last_changed (TIMESTAMP): The timestamp when the company SSI detail was last changed. -last_editor_id (TEXT): The user ID of the last editor. +- **id (UUID)**: A unique identifier for the company SSI detail. This is the primary key of the table. +- **bpnl (TEXT)**: The BP number of the company. +- **issuer_bpn (TEXT)**: The BP number of the issuer. +- **verified_credential_type_id (INTEGER)**: A foreign key referencing `id` in the `VERIFIED_CREDENTIAL_TYPES` table. +- **company_ssi_detail_status_id (INTEGER)**: A foreign key referencing `id` in the `COMPANY_SSI_DETAIL_STATUSES` table. +- **date_created (TIMESTAMP)**: The timestamp when the company SSI detail was created. +- **creator_user_id (TEXT)**: The user ID of the creator. +- **expiry_date (TIMESTAMP)**: The expiry date of the company SSI detail. +- **verified_credential_external_type_detail_version_id (UUID)**: A foreign key referencing `id` in the `VERIFIED_CREDENTIAL_EXTERNAL_TYPE_DETAIL_VERSIONS` table. +- **expiry_check_type_id (INTEGER)**: A foreign key referencing `id` in the `EXPIRY_CHECK_TYPES` table. +- **process_id (UUID)**: A foreign key referencing `id` in the `PROCESSES` table. +- **external_credential_id (UUID)**: A unique identifier for the external credential. +- **credential (TEXT)**: The credential information. +- **date_last_changed (TIMESTAMP)**: The timestamp when the company SSI detail was last changed. +- **last_editor_id (TEXT)**: The user ID of the last editor. ### COMPANY_SSI_PROCESS_DATA -company_ssi_detail_id (UUID): A unique identifier for the company SSI detail. This is the primary key and a foreign key referencing id in the COMPANY_SSI_DETAILS table. -schema (JSONB): The schema of the credential. -credential_type_kind_id (INTEGER): A foreign key referencing id in the VERIFIED_CREDENTIAL_TYPE_KINDS table. -client_id (TEXT): The client ID. -client_secret (BYTEA): The client secret. -initialization_vector (BYTEA): The initialization vector for encryption. -encryption_mode (INTEGER): The encryption mode. -holder_wallet_url (TEXT): The URL of the holder's wallet. -callback_url (TEXT): The callback URL. +- **company_ssi_detail_id (UUID)**: A unique identifier for the company SSI detail. This is the primary key and a foreign key referencing `id` in the `COMPANY_SSI_DETAILS` table. +- **schema (JSONB)**: The schema of the credential. +- **credential_type_kind_id (INTEGER)**: A foreign key referencing `id` in the `VERIFIED_CREDENTIAL_TYPE_KINDS` table. +- **client_id (TEXT)**: The client ID. +- **client_secret (BYTEA)**: The client secret. +- **initialization_vector (BYTEA)**: The initialization vector for encryption. +- **encryption_mode (INTEGER)**: The encryption mode. +- **holder_wallet_url (TEXT)**: The URL of the holder's wallet. +- **callback_url (TEXT)**: The callback URL. ### DOCUMENT_STATUS -id (INTEGER): A unique identifier for the document status. This is the primary key of the table. -label (TEXT): The label of the document status. -DOCUMENT_TYPES +- **id (INTEGER)**: A unique identifier for the document status. This is the primary key of the table. +- **label (TEXT)**: The label of the document status. -#### Possible Values +#### DOCUMENT_STATUS - Possible Values - `ACTIVE`: The document is active. - `INACTIVE`: The document is inactive. ### DOCUMENT_TYPES -id (INTEGER): A unique identifier for the document type. This is the primary key of the table. -label (TEXT): The label of the document type. +- **id (INTEGER)**: A unique identifier for the document type. This is the primary key of the table. +- **label (TEXT)**: The label of the document type. -#### Possible Values +#### DOCUMENT_TYPES - Possible Values - `PRESENTATION`: Represents a presentation document uploaded by the customer/requester to present a proof of certification etc. - `CREDENTIAL`: Represents a credential document created by the issuer (unsigned). @@ -272,24 +271,24 @@ label (TEXT): The label of the document type. ### DOCUMENTS -id (UUID): A unique identifier for the document. This is the primary key of the table. -date_created (TIMESTAMP): The timestamp when the document was created. -document_hash (BYTEA): The hash of the document content for verification. -document_content (BYTEA): The binary content of the document. -document_name (TEXT): The name of the document. -media_type_id (INTEGER): A foreign key referencing id in the MEDIA_TYPES table. -document_type_id (INTEGER): A foreign key referencing id in the DOCUMENT_TYPES table. -document_status_id (INTEGER): A foreign key referencing id in the DOCUMENT_STATUS table. -identity_id (TEXT): The identity ID associated with the document. -date_last_changed (TIMESTAMP): The timestamp when the document was last changed. -last_editor_id (TEXT): The user ID of the last editor. +- **id (UUID)**: A unique identifier for the document. This is the primary key of the table. +- **date_created (TIMESTAMP)**: The timestamp when the document was created. +- **document_hash (BYTEA)**: The hash of the document content for verification. +- **document_content (BYTEA)**: The binary content of the document. +- **document_name (TEXT)**: The name of the document. +- **media_type_id (INTEGER)**: A foreign key referencing `id` in the `MEDIA_TYPES` table. +- **document_type_id (INTEGER)**: A foreign key referencing `id` in the `DOCUMENT_TYPES` table. +- **document_status_id (INTEGER)**: A foreign key referencing `id` in the `DOCUMENT_STATUS` table. +- **identity_id (TEXT)**: The identity ID associated with the document. +- **date_last_changed (TIMESTAMP)**: The timestamp when the document was last changed. +- **last_editor_id (TEXT)**: The user ID of the last editor. ### EXPIRY_CHECK_TYPES -id (INTEGER): A unique identifier for the expiry check type. This is the primary key of the table. -label (TEXT): The label of the expiry check type. +- **id (INTEGER)**: A unique identifier for the expiry check type. This is the primary key of the table. +- **label (TEXT)**: The label of the expiry check type. -#### Possible Values +#### EXPIRY_CHECK_TYPES - Possible Values - `ONE_MONTH`: The expiry check was done one month prior to the expiry of the credential. - `TWO_WEEKS`: The expiry check was done two weeks prior to the expiry of the credential. @@ -297,15 +296,15 @@ label (TEXT): The label of the expiry check type. ### MEDIA_TYPES -id (INTEGER): A unique identifier for the media type. This is the primary key of the table. -label (TEXT): The label of the media type. +- **id (INTEGER)**: A unique identifier for the media type. This is the primary key of the table. +- **label (TEXT)**: The label of the media type. ### PROCESS_STEP_STATUSES -id (INTEGER): A unique identifier for the process step status. This is the primary key of the table. -label (TEXT): The label of the process step status. +- **id (INTEGER)**: A unique identifier for the process step status. This is the primary key of the table. +- **label (TEXT)**: The label of the process step status. -#### Possible Values +#### PROCESS_STEP_STATUSES - Possible Values - `TODO`: The process step is still to be executed. - `DONE`: The process step was already executed successfully. @@ -315,10 +314,10 @@ label (TEXT): The label of the process step status. ### PROCESS_STEP_TYPES -id (INTEGER): A unique identifier for the process step type. This is the primary key of the table. -label (TEXT): The label of the process step type. +- **id (INTEGER)**: A unique identifier for the process type. This is the primary key of the table. +- **label (TEXT)**: The label of the process type.^ -#### Possible Values +#### PROCESS_STEP_TYPES - Possible Values - `CREATE_CREDENTIAL`: Creates a credential in the issuer wallet. - `SIGN_CREDENTIAL`: Signs the credential in the issuer wallet. @@ -331,79 +330,79 @@ label (TEXT): The label of the process step type. ### PROCESS_STEPS -id (UUID): A unique identifier for the process step. This is the primary key of the table. -process_step_type_id (INTEGER): A foreign key referencing id in the PROCESS_STEP_TYPES table. -process_step_status_id (INTEGER): A foreign key referencing id in the PROCESS_STEP_STATUSES table. -process_id (UUID): A foreign key referencing id in the PROCESSES table. -date_created (TIMESTAMP): The timestamp when the process step was created. -date_last_changed (TIMESTAMP): The timestamp when the process step was last changed. -message (TEXT): A message associated with the process step. +- **id (UUID)**: A unique identifier for the process step. This is the primary key of the table. +- **process_step_type_id (INTEGER)**: A foreign key referencing `id` in the `PROCESS_STEP_TYPES` table. +- **process_step_status_id (INTEGER)**: A foreign key referencing `id` in the `PROCESS_STEP_STATUSES` table. +- **process_id (UUID)**: A foreign key referencing `id` in the `PROCESSES` table. +- **date_created (TIMESTAMP)**: The timestamp when the process step was created. +- **date_last_changed (TIMESTAMP)**: The timestamp when the process step was last changed. +- **message (TEXT)**: A message associated with the process step. ### PROCESS_TYPES -id (INTEGER): A unique identifier for the process type. This is the primary key of the table. -label (TEXT): The label of the process type. +- **id (INTEGER)**: A unique identifier for the process type. This is the primary key of the table. +- **label (TEXT)**: The label of the process type. -#### Possible Values +#### PROCESS_TYPES - Possible Values - `CREATE_CREDENTIAL`: Process to create credentials. - `DECLINE_CREDENTIAL`: Process to revoke credentials. ### PROCESSES -id (UUID): A unique identifier for the process. This is the primary key of the table. -process_type_id (INTEGER): A foreign key referencing id in the PROCESS_TYPES table. -lock_expiry_date (TIMESTAMP): The lock expiry date of the process. -version (UUID): The version of the process. +- **id (UUID)**: A unique identifier for the process. This is the primary key of the table. +- **process_type_id (INTEGER)**: A foreign key referencing `id` in the `PROCESS_TYPES` table. +- **lock_expiry_date (TIMESTAMP)**: The lock expiry date of the process. +- **version (UUID)**: The version of the process. ### USE_CASES -id (UUID): A unique identifier for the use case. This is the primary key of the table. -name (TEXT): The name of the use case. -shortname (TEXT): The short name of the use case. +- **id (UUID)**: A unique identifier for the use case. This is the primary key of the table. +- **name (TEXT)**: The name of the use case. +- **shortname (TEXT)**: The short name of the use case. ### VERIFIED_CREDENTIAL_EXTERNAL_TYPE_DETAIL_VERSIONS -id (UUID): A unique identifier for the external type detail version. This is the primary key of the table. -verified_credential_external_type_id (INTEGER): A foreign key referencing id in the VERIFIED_CREDENTIAL_EXTERNAL_TYPES table. -version (TEXT): The version of the external type detail. -template (TEXT): The template url of the external type detail. -valid_from (TIMESTAMP): The validity start date of the external type detail version. -expiry (TIMESTAMP): The expiry date of the external type detail version. +- **id (UUID)**: A unique identifier for the external type detail version. This is the primary key of the table. +- **verified_credential_external_type_id (INTEGER)**: A foreign key referencing `id` in the `VERIFIED_CREDENTIAL_EXTERNAL_TYPES` table. +- **version (TEXT)**: The version of the external type detail. +- **template (TEXT)**: The template URL of the external type detail. +- **valid_from (TIMESTAMP)**: The validity start date of the external type detail version. +- **expiry (TIMESTAMP)**: The expiry date of the external type detail version. ### VERIFIED_CREDENTIAL_TYPE_ASSIGNED_EXTERNAL_TYPES -verified_credential_type_id (INTEGER): A unique identifier for the verified credential type. This is a primary key and a foreign key referencing id in the VERIFIED_CREDENTIAL_TYPES table. -verified_credential_external_type_id (INTEGER): A unique identifier for the verified credential external type. This is a primary key and a foreign key referencing id in the VERIFIED_CREDENTIAL_EXTERNAL_TYPES table. +- **verified_credential_type_id (INTEGER)**: A unique identifier for the verified credential type. This is a primary key and a foreign key referencing `id` in the `VERIFIED_CREDENTIAL_TYPES` table. +- **verified_credential_external_type_id (INTEGER)**: A unique identifier for the verified credential external type. This is a primary key and a foreign key referencing `id` in the `VERIFIED_CREDENTIAL_EXTERNAL_TYPES` table. ### VERIFIED_CREDENTIAL_EXTERNAL_TYPES -id (INTEGER): A unique identifier for the external type. This is the primary key of the table. -label (TEXT): The label of the external type. +- **id (INTEGER)**: A unique identifier for the external type. This is the primary key of the table. +- **label (TEXT)**: The label of the external type. ### VERIFIED_CREDENTIAL_TYPE_ASSIGNED_KINDS -verified_credential_type_id (INTEGER): A unique identifier for the verified credential type. This is a primary key and a foreign key referencing id in the VERIFIED_CREDENTIAL_TYPES table. -verified_credential_type_kind_id (INTEGER): A unique identifier for the verified credential type kind. This is a primary key and a foreign key referencing id in the VERIFIED_CREDENTIAL_TYPE_KINDS table. +- **verified_credential_type_id (INTEGER)**: A unique identifier for the verified credential type. This is a primary key and a foreign key referencing `id` in the `VERIFIED_CREDENTIAL_TYPES` table. +- **verified_credential_type_kind_id (INTEGER)**: A unique identifier for the verified credential type kind. This is a primary key and a foreign key referencing `id` in the `VERIFIED_CREDENTIAL_TYPE_KINDS` table. ### VERIFIED_CREDENTIAL_TYPE_ASSIGNED_USE_CASES -verified_credential_type_id (INTEGER): A unique identifier for the verified credential type. This is a primary key and a foreign key referencing id in the VERIFIED_CREDENTIAL_TYPES table. -use_case_id (UUID): A unique identifier for the use case. This is a primary key and a foreign key referencing id in the USE_CASES table. +- **verified_credential_type_id (INTEGER)**: A unique identifier for the verified credential type. This is a primary key and a foreign key referencing `id` in the `VERIFIED_CREDENTIAL_TYPES` table. +- **use_case_id (UUID)**: A unique identifier for the use case. This is a primary key and a foreign key referencing `id` in the `USE_CASES` table. ### VERIFIED_CREDENTIAL_TYPE_KINDS -id (INTEGER): A unique identifier for the credential type kind. This is the primary key of the table. -label (TEXT): The label of the credential type kind. +- **id (INTEGER)**: A unique identifier for the credential type kind. This is the primary key of the table. +- **label (TEXT)**: The label of the credential type kind. ### VERIFIED_CREDENTIAL_TYPES -id (INTEGER): A unique identifier for the credential type. This is the primary key of the table. -label (TEXT): The label of the credential type. +- **id (INTEGER)**: A unique identifier for the credential type. This is the primary key of the table. +- **label (TEXT)**: The label of the credential type. ### Enum Value Tables -`company_ssi_detail_status`, `document_status`, `document_types`, `expiry_check_types`, `media_types`, `process_step_statuses`, `process_step_types`, `process_steps`, `process_types`, `verified_credential_external_types`, `verified_credential_type_kinds`, `verified_credential_types` are tables designed to store enum values. They contain an id and label, derived from the backend enums. +`company_ssi_detail_status`, `document_status`, `document_types`, `expiry_check_types`, `media_types`, `process_step_statuses`, `process_step_types`, `process_steps`, `process_types`, `verified_credential_external_types`, `verified_credential_type_kinds`, `verified_credential_types` are tables designed to store enum values. They contain an `id` and `label`, derived from the backend enums. ### Mapping Tables @@ -411,7 +410,7 @@ label (TEXT): The label of the credential type. ### Credentials -The `company_ssi_details` table is utilized to safe the credential requests and set their status. +The `company_ssi_details` table is utilized to save the credential requests and set their status. ### Process Handling