Data Models
DocumentEntity
This represents the document metadata records.
| NAME | TYPE | DESCRIPTION | REQUIRED | NOTE |
|---|---|---|---|---|
| documentId | String | Unique ID. Primary key. | Yes | |
| ownerSystem | OwnerSystemEntity | Owner system entity | Yes | which owner system this document belongs. Only owner system can access its own documents |
| channel | ChannelEntity | Which channel this document belongs to | Yes | This is to identify which channel this document belongs. Different channel documents could potentially have different behaviours. This can also be used to verify in the delivery process. |
| fileName | String | File name | Yes | |
| filePath | String | File Path to the real file. | Yes |
File Path in Docker environment. URL in Amazon S3 or Azure environment. |
| mimeType | String | File MIME-TYPE | Yes | Mime type needs to be persisted in order to download the file later. |
| searchMetadata | Set<SearchMetadata> | Reference to search Meta Data | Yes | Search metadata at owner system defined. |
| createdBy | String | which userID created this document. | Yes | This should be derived from the userId within JWT token, discuss further with framework team. |
| createdDate | Date | document created date | Yes | |
| updatedDate | Date | document updated date | No |
The last date the document info is updated by internal admin (Not in use) |
| updatedBy | String | which user ID last updated the document info. | No |
Internal admin ID inside Document MS. (Not in use) |
OwnerSystemEntity
Fabric applications which need to store the documents, need to provide the owner system ID in order to be registered as a valid owner system in the Document Storage microservice.
| NAME | TYPE | DESCRIPTION | REQUIRED | NOTE |
|---|---|---|---|---|
| ownerSystemID | String | Unique ID. Primary key. | Yes | Fabric Application Identifier. Please refer to the architecture page for the list of valid ownerSystem Ids. |
| ownerSystemName | String | Unique Owner system name | Yes |
Used as the directory name under a channel to differentiate owner system documents. For example, retailOnboard, corpOrigination |
| description | String | Owner system description | No |
SearchMetadataEntity
All fabric application who needs to store documents need to define their own search metadata for their document as part of uploads.
| NAME | TYPE | DESCRIPTION | REQUIRED | NOTE |
|---|---|---|---|---|
| searchMetadataId | String | Unique ID. Primary key. | Yes | |
| document | DocumentEntity | Document entity this searchMetadata belongs to | Yes | |
| searchKey | String | Search key | Yes | Can be used later in the query as key |
| searchValue | String | Search value | Yes | Can be used later in the query as value |
ChannelEntity
The channels that Document Storage microservice supported.
| NAME | TYPE | DESCRIPTION | REQUIRED | NOTE |
|---|---|---|---|---|
| channelId | String | Unique ID. Primary key. | Yes | Please refer to the architecture page for the list of valid channel Ids. |
| channelName | String | Unique channel name | Yes |
Channel name. Used as the first-level directory name under DMS repo. |
| inflightDocument | boolean | Whether this channel stores inflight document | Yes | Can be used later for delivery logic |
| description | String | Channel description | No |
DocumentGroupEntity
This entity defines the relationship between document ID and document groups. One document can have multiple document groups. In the case of Retail Onboarding and CorporateLos App, we use journey ID to be the value of the document group in the format of journey-ownerSystemId-journeyID.
| NAME | TYPE | DESCRIPTION | REQUIRED | NOTE |
|---|---|---|---|---|
| ID | String | Unique ID. Primary key. | Yes | Auto increased ID. Nothing to do with the document group application logic. |
| documentId | DocumentEntity | Document entity this document group belongs to | Yes | |
| documentGroup | String |
Document Group value. Format should be keyword-ownerSystemId-id. |
Yes |
For example, journey-corporate-los-ABCDE, journey-retail-onboarding-XYZZZ, payment-digital-banking-245033 |
EvidenceCategoryEntity
This entity consists of master data for evidence categories.
| NAME | TYPE | DESCRIPTION | REQUIRED | NOTE |
|---|---|---|---|---|
| categoryId | String | Unique ID. Primary key. | Yes | |
| description | String | Description of the category | Yes |
|
| name | String | name of the category | Yes |
EvidenceTypeEntity
This entity consists of master data for evidence types.
| NAME | TYPE | DESCRIPTION | REQUIRED | NOTE |
|---|---|---|---|---|
| typeID | String | Unique ID. Primary key. | Yes | |
| allowMultiple | boolean | flag to indicate mutiple evidences or not | Yes | when submitting the evidence this column is validated to check if there is already approved evidence. |
| ex : Passport - allowMultiple is false to prevent submitting evidence again | ||||
| payslip - allowMultiple is true to allow submitting evidence again | ||||
| defaultValidPeriod | String | Default valid period for this type | No | |
| description | String | Description of the category | Yes | |
| name | String | name of the category | Yes |
EvidenceTypePropertyEntity
This entity consists of properties of Evidence types.
| NAME | TYPE | DESCRIPTION | REQUIRED | NOTE |
|---|---|---|---|---|
| ID | String | Unique ID. Primary key. | Yes | |
| mandatory | boolean | indicates this type is mandatory | Yes | |
| propDescription | String | Description of the property | No | |
| propKey | String | property key | Yes | |
| typeID | String | evidence type | Yes |
EvidenceEntity
Represents the evidences for the users.
| NAME | TYPE | DESCRIPTION | REQUIRED | NOTE |
|---|---|---|---|---|
| evidenceId | String | Unique ID. Primary key. | Yes | UniqueId for each evidence |
| comments | String | Comments from end user of Bank user | Yes | To store the comments of end user for actions like VALIDITY and REUSE or To store the comments of Bank user for actions like REVIEW |
| createdBy | String | owner of the evidence | Yes | Contains userid who uploaded the evidence |
| createdDate | Date | created date of the evidence | Yes | Date on which the evidence is created |
| description | String | Description for the evidence | Yes | Contains description about the evidence which the end user inputs while invoking the API. |
| expiryDate | Date | Expiry Date of the evidence | Yes | Date on which the Document will get expired. Admin user will update as part of accepting the evidence |
| isExpired | boolean | boolean feild to indicate Document expiry | Yes | This is updated by the scheduler based on expirydate field |
| isReusable | boolean | indicates weather evidence can be reused or not | Yes | Admin user will update as part of accepting the evidence |
| isValid | boolean | indicates weather evidence is valid or not | Yes | Admin user will update as part of accepting the evidence |
| ownerId | String | owner of the evidence | Yes | Owner of the evidence. Holds digitalprofileId for new prospects and partyid for verified prospects and productId for products |
| ownerType | String | owner type of the evidence | Yes | it is newProspect for newly created customer , verifiedProspect or Party for existing customer and these are updated as part of owner update or delivery process. |
| typeId | String | evidenceType | Yes | evidenceType |
EvidencePropertyEntity
This entity consists of properties of Evidence types.
| NAME | TYPE | DESCRIPTION | REQUIRED | NOTE |
|---|---|---|---|---|
| propertyID | String | Unique ID. Primary key. | Yes | |
| propKey | string | key of the property | Yes | this column gets data from submit evidence by end user and also from update evidence API(extractedData) by Bank user with actions as REVIEW |
| propValue | String | value of the property | No | this column gets data from submit evidence by end user and also from update evidence API(extractedData) by Bank user with actions as REVIEW |
| evidence | String | evidence ID | Yes |
ApplicationEvidenceEntity
This entity represents the application evidences for the users.
| NAME | TYPE | DESCRIPTION | REQUIRED | NOTE |
|---|---|---|---|---|
| appEvidenceID | String | Unique ID. Primary key. | Yes | UniqueId for each application evidence |
| comments | String | Comments from Bank user | Yes | To store the comments Bank user for actions like REVIEW and also if user disagree to reuse the evidence for the new application |
| createdBy | String | owner of the evidence | Yes | Contains userid who uploaded the evidence |
| status | String | status of the application evidence | Yes | submitted , accepted , acceptedBefore , rejected |
| updatedBy | String | updated by the user | Yes | |
| evidenceID | String | uniqueID of the evidence | Yes | |
| evidenceRequirement | String | evidencerequirement ID | Yes |
ApplicationFulFillmentEntity
This entity represents the application fulfillment records.
| NAME | TYPE | DESCRIPTION | REQUIRED | NOTE |
|---|---|---|---|---|
| appFulFillmentID | String | Unique ID. Primary key. | Yes | UniqueID for each application fulfillment |
| applicationID | String | applicationID for which fullfillment should be satisfied | Yes | |
| description | String | description of the application | Yes | |
| ownerID | String | status of the application evidence | Yes | It is newProspect for newly created customer , verifiedProspect or Party for existing customer and these are updated as part of owner update or delivery process. |
| ownerType | String | type of owner | Yes | newProspect , verifiedProspect , party |
EvidenceRequirementEntity
This entity represents the application fulfillment records.
| NAME | TYPE | DESCRIPTION | REQUIRED | NOTE |
|---|---|---|---|---|
| requirementID | String | Unique ID. Primary key. | Yes | |
| description | String | description of the requirement | Yes | |
| isRequired | String | Yes | ||
| requirementKey | String | represent key for this requirement | Yes | |
| requirementName | String | name of the requirement | Yes |
|
| appfulfilment | appfulfillment ID | |||
| categoryId | category of the evidence under this requirement |
EvidenceRequirementPropertyEntity
This entity consists of properties of Evidence types.
| NAME | TYPE | DESCRIPTION | REQUIRED | NOTE |
|---|---|---|---|---|
| propertyID | String | Unique ID. Primary key. | Yes | |
| propDescription | String | Description of the property | ||
| propKey | string | key of the property | Yes | |
| propValue | String | value of the property | No | |
| requiremntID | String | requiremntID | Yes |
In this topic