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

Mukta-services

Deployment

Role Action

API EndPoints
Roles

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

All content on this page by eGov Foundation is licensed under a Creative Commons Attribution 4.0 International License.