Adapter Master Data Service v1.0
Overview
The Adapter master data service maintains information on departments, Expenditures and Projects. We can create these details and search for the same details based on the given parameters/request data.
Version
Current version : 1.0.0
Prerequisites
Before we proceed with the configuration, make sure the following pre-requisites are met
Java 8
MongoDB instance
Required service dependency - Department entity service
Features
It creates secure endpoints for the master data service. The access token is required to create any master data.
The subsequent sections on this page discuss the service details maintained by the master data service.
Department
Maintains the create and search department details. The following information is passed while creating the department - the Government ID, department code, department name, parent department if any. Searching the department details is on given parameters like IDs, Government ID, department code, and department name.
API List
Title | Link |
---|---|
/department/v1/_create | |
/department/v1/_search |
Expenditure
Maintains the expenditure details And provides create and search functionality. For creating the expenditure, the following details are required - the Government ID, the department ID, code, name, type (can be "SCHEME", "NON_SCHEME") details. While searching the expenditure details, pass the given parameters like IDs, Government IDs, names, and code.
API List
Title | Link |
---|---|
/expenditure/v1/_create | |
/expenditure/v1/_search |
Project
Maintains the project details and provides create and search functionality. The following details are required to create the project - Government, name, code, expenditure ID, the department entity ID(s), and location IDs. While searching, pass the IDs, Government ID, name, code, expenditure ID, and location ID.
Project Update
Update the existing project details by searching based on Project Id and Tenant Id. The following are the required attributes - id and tenantId. We can pass the other project attribute to update - code, name,departmentEntityIds, expenditureId. It checks in the system before updating the departmentEntityIds and/or expenditureId, whether it exists or not. if exist then it'll update else throw a meaningful error message.
API List
Title | Link |
---|---|
/project/v1/_create | |
/project/v1/_search | |
/project/v1/_update |
Interaction Diagram
Environment
There will not be any environment variables required specific to the environment (migration).
Configurations and Setup
Update all the DB and URI configuration in the dev.yaml, qa.yaml, prod.yaml file.
References and Notes
Title | Link |
---|---|
Swagger Yaml | |
Postman collection |
Master Project API With Example
Project Create API creates the project when all the Master data details (COA, Government, Expenditure, Department) and Department Entity have been created. COA And Government have to be created in the ifix core Master data service.
Project Create API takes the below attributes in request :
tenantId : This is the Id that will be defined while creating the Ifix core Master Government Service.
expenditureId: This is the Id that will be generated while creating the Adapter Master Expenditure Service.
code: This is the project code that needs to be created.
name: This is the project name that needs to be created.
departmentEntityIds: This is the Department Entity Ids. If we have to create a project at hierarchy level 1, we need to pass the Department Entity Id of that corresponding level. It depends on the Department hierarchy level on which the project has to be created and hence the same level Department Entity Id. You can pass the list of departmentEntityIds and can create the same project.
For reference, Below is the Dummy project create an example :
Request :
{
"requestHeader": {
"ts": 1627193067,
"version": "2.0.0",
"msgId": "Unknown",
"signature": "NON",
"userInfo": {
"uuid": "e4fd96e8-3b6b-4e36-9503-0f14a01af39d"
}
},
"project": {
"tenantId": "pb",
"code": "7330_S557_DIV23SD02",
"name": "DOLOWAL UPPER",
"expenditureId": "13ef1c53-702d-43b5-9f97-43fa03c145c5",
"departmentEntityIds": ["295180a0-4d60-4805-a77f-92143bd115b4","901f76a8-1911-4960-b389-57b62bd4dcdb"
]
}
}
Response :
{
"responseHeader": {
"ts": 1627193067,
"correlationId": null,
"msgId": "Unknown",
"status": "successful",
"signature": "NON",
"version": "2.0.0"
},
"project": [
{
"id": "1fb13f0a-588f-476d-b839-afddae7980ef",
"tenantId": "pb",
"code": "7330_S557_DIV23SD02",
"name": "DOLOWAL UPPER",
"expenditureId": "13ef1c53-702d-43b5-9f97-43fa03c145c5",
"departmentEntityIds": [
"295180a0-4d60-4805-a77f-92143bd115b4",
"901f76a8-1911-4960-b389-57b62bd4dcdb"
],
"locationIds": null,
"auditDetails": {
"createdBy": "e4fd96e8-3b6b-4e36-9503-0f14a01af39d",
"lastModifiedBy": "e4fd96e8-3b6b-4e36-9503-0f14a01af39d",
"createdTime": 1646726943845,
"lastModifiedTime": 1646726943845
}
}
]
}