Muster Roll
Muster roll is a record of attendance and quantity of work done by wage seekers.
Overview
A muster roll serves as a record of attendance, indicating the hours worked, wages owed, and the amount of work completed by labourers during a specified time frame.
The attendance service supplies raw attendance logs, while the muster roll service collects these logs and calculates attendance according to specific business rules. For instance, determining whether attendance is measured in hours or days and defining what constitutes a half-day or a full day of attendance are decisions that depend on the specific implementation. These configurations can be adjusted within the service, and attendance calculations will be carried out based on these settings.
Pre-requisites
Attendance
Individual
Persister
MDMS
Workflow
Idgen
Notification
Functionality
The functionality includes the following APIs:
Estimate Wages: This API calculates the wages for a wage seeker based on their attendance logs.
Create Muster Roll: It allows you to create a muster roll, which is essentially a list of wage seekers.
Update Muster Roll: You can use this API to update a muster roll with modified aggregate attendance data.
Search for Muster Roll: This API enables you to search for a muster roll using specific parameters. For more details, you can refer to the Swagger contract.
Deployment
Here is a list of variables that need to be configured in the Helm environment file before deploying the muster roll service. This file can typically be found under a specific directory or location as given below:
https://github.com/
{{ORG}}
/DIGIT-DevOps/deploy-as-code/helm/environments/
{{EnvironmentFile}}
.yaml
Refer to the sample here.
Add these ‘db-host’,’db-name’,’db-url’, ’domain’ and all the digit core platform services configurations (Idgen, workflow, user etc.) in respective environments yaml file.
Add muster-roll-service related environment variables’ value like the way it's done in the ‘dev’ environment yaml file.
Add the egov-mdms-service related configuration to the respective environment YAML file. Make sure you change the
gitsync.branch
name.Check the muster-roll-service persister file is added to the
egov-persister.perister-yml-path
variable. If not, follow the steps outlined here.Make sure to add the DB(Postgres and flyway) username & password in the respective environment secret YAML file as per the steps outlined here.
Make sure to add the digit core services-related secrets that are configured in the respective environment secret file as per the steps outlined here.
Configuration
Configure Actions
Add all the APIs exposed (refer to the table below for actual APIs) to the actions.json file in MDMS
Module name: ACCESSCONTROL-ACTIONS-TEST
Master name: actions-test
Configure Roles
Configure roles based on the roles column below in roles.json file.
Module name: ACCESSCONTROL-ROLES
Master name: roles
Configure Role-Action
Role-action mapping is configured in MDMS per the table below.
Module name: ACCESSCONTROL-ROLEACTIONS
Master name: roleactions.json
Roles | API Endpoints |
---|---|
ORG_ADMIN ORG_STAFF | /muster-roll/v1/_estimate |
ORG_ADMIN ORG_STAFF | /muster-roll/v1/_create |
ORG_ADMIN ORG_STAFF MUSTER_ROLL_VERIFIER MUSTER_ROLL_APPROVER
| /muster-roll/v1/_update |
ORG_ADMIN ORG_STAFF MUSTER_ROLL_VERIFIER MUSTER_ROLL_APPROVER BILL_CREATOR BILL_VIEWER | /muster-roll/v1/_search |
Other masters to be added
Other muster roll masters are configured in the common-masters
folder:
Integration
Steps to run the postman collection:
1. Import the postman collection for muster roll service into the Postman application.
2. Import the environment variables required for running the Postman collection. This will create an environment ‘Muster Environment’.
3. MusterRoll requires the below services from the Attendance Service API to be run. So run the below services before running the muster roll postman collection.
a) Create Attendance register - https://{hostname}/attendance/v1/_create
b) Enroll attendees to the register - https://{{hostname}}/attendance/attendee/v1/_create
c) Attendance log create - https://{{hostname}}/attendance/log/v1/_create
4. Update the current value of the variable ‘registerId’ in ‘Muster Environment’ with the id returned by the response in the create attendance register ( in step 3 a)
5. Run the ‘Muster Roll Service’ postman collection as ‘Run Collection’. It will run the /_estimate, /_create, /_update and /_search API’s success and validation error scenarios.
6. Muster will be created for the attendees enrolled in the attendance register (in step 3 b) using the attendance logs created (in step 3 c).
The current value of environment variables ‘musterRollId’ and ‘musterRollNumber’ will be set from the response of the /_create muster roll which will be used by /_update and /_search APIs.
Last updated