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 |
In this topic