MUKTA Services
Overview
MUKTA Services is an intermediary service that bridges the gap between the API and client requests. It helps Clients/UI gather all the required information from different services.
Dependency
MDMS
MDMS V2
Estimates
Muster Roll
Contract
Measurement
Bank Accounts
Individual
Organisation
Code
Deployment
Role Action
mukta-services/measurement/_search
MB_CREATOR
mukta-services/bankaccount-service/bankaccount/v1/_search
VIEW_DED_UNMASKED
mukta-services/individual/v1/_search
VIEW_WS_UNMASKED
mukta-services/org-services/organisation/v1/_search
VIEW_ORG_UNMASKED
Measurement Create
Flow Diagram

Measurement Create Criteria
This service handles all the measurement creation criteria and helps the UI consolidate all information. The measurement period is calculated in the mukta-services based on the same criteria.
{
"reference": "CONTRACT", //this criteria is for the measurement created using contract
"period": 7, // default measurement period
"contractStatus":"ACTIVE", // measurement can be created if the referenced contract is in the following status
"measurementWorkflowStatus": "APPROVED", // measurement can be created if previously created measurement in this status
"enableMeasurementAfterContractEndDate":false, // measurement can be created even if the contract has expired
"active": true
}
Measurement Response
The measurement response would be based on the config https://github.com/egovernments/egov-mdms-data/blob/UNIFIED-DEV/data/pg/works/MeasurementBFFConfig.json which transforms the final consolidated object of Estimate, Contract, measurement, and Muster roll into the user-requested object.
{
"path": "contract", // reponse objects path
"jsonPath": "$.contract" // path from the consolidated object
},
Data Masking Controller
This service masks the search response before displaying it in the UI. This middleware eliminates the need to make major changes in the backend. The masking is done based on the user roles for sensitive PII data.
Flow Diagram
Three APIs have been defined under the data privacy controller as follows:
BankAccountSearch: Unmasking Role - VIEW_DED_UNMASKED
IndividualSearch: Unmasking Role - VIEW_WS_UNMASKED
OrganisatonSearch: Unmasking Role - VIEW_ORG_UNMAKSED
Last updated
Was this helpful?