Facility Registry
Overview
The facility registry provides APIs to create facilities for HCM. This document provides the configuration details for setting up the facility.
Pre-requisites
Knowledge of Java/J2EE (preferably Java 8 version).
Knowledge of Spring Boot and Spring Boot microservices.
Knowledge of Git or any version control system.
Knowledge of RESTful web services.
Knowledge of the Lombok library is helpful.
Knowledge of eGov-mdms service, eGov-persister, eGov-idgen, eGov-indexer, and eGov-user will be helpful.
Functionalities
Provides APIs to create, update, delete, and search facilities.
Provides APIs to bulk create, bulk update, and bulk delete facilities.
Setup
Clone or download the code from the GitHub repository
The source code for the Facility registry is located in the Git repository here. Clone or download the code from this repository before proceeding.
API details
Refer to the Swagger API for YAML file details: Facility.yaml
Application.properties file information:
Kafka topics persister configs for Facility
facility.consumer.bulk.delete.topic=delete-facility-bulk-topic
facility.consumer.bulk.create.topic=create-facility-bulk-topic
facility.consumer.bulk.update.topic=update-facility-bulk-topic
facility.kafka.create.topic=save-facility-topic
facility.kafka.update.topic=update-facility-topic
facility.kafka.delete.topic=delete-facility-topic
External Service URLs
Below are the URLs for external services that the Facility registry interacts with:
Configuration Details
Follow the details outlined below to configure and enable Facility API actions and access control using MDMS, role-action mapping, persister, and indexer configurations.
MDMS Configurations
Define Action URLs
Add new actions in the MDMS actions configuration (e.g., action-test.json
). Each action represents an API endpoint you wish to secure and manage: Action-test.json
{
"id": 1615,
"name": "Facility Create",
"url": "/facility/v1/_create",
"displayName": "Facility Create",
"orderNumber": 0,
"parentModule": "",
"enabled": false,
"serviceCode": "facility",
"code": "null",
"path": ""
},
{
"id": 1616,
"name": "Facility Bulk Create",
"url": "/facility/v1/bulk/_create",
"displayName": "Facility Bulk Create",
"orderNumber": 0,
"parentModule": "",
"enabled": false,
"serviceCode": "facility",
"code": "null",
"path": ""
},
{
"id": 1617,
"name": "Facility Update",
"url": "/facility/v1/_update",
"displayName": "Facility Update",
"orderNumber": 0,
"parentModule": "",
"enabled": false,
"serviceCode": "facility",
"code": "null",
"path": ""
},
{
"id": 1618,
"name": "Facility Bulk Update",
"url": "/facility/v1/bulk/_update",
"displayName": "Facility Bulk Update",
"orderNumber": 0,
"parentModule": "",
"enabled": false,
"serviceCode": "facility",
"code": "null",
"path": ""
},
{
"id": 1619,
"name": "Facility Delete",
"url": "/facility/v1/_delete",
"displayName": "Facility Delete",
"orderNumber": 0,
"parentModule": "",
"enabled": false,
"serviceCode": "facility",
"code": "null",
"path": ""
},
{
"id": 1620,
"name": "Facility Bulk Delete",
"url": "/facility/v1/bulk/_delete",
"displayName": "Facility Bulk Delete",
"orderNumber": 0,
"parentModule": "",
"enabled": false,
"serviceCode": "facility",
"code": "null",
"path": ""
},
{
"id": 1621,
"name": "Facility Search",
"url": "/facility/v1/_search",
"displayName": "Facility Search",
"orderNumber": 0,
"parentModule": "",
"enabled": false,
"serviceCode": "facility",
"code": "null",
"path": ""
}
Assign Actions to Roles
Configure which user roles can access which API actions in roleaction.json
. Map each action ID to the required roles: Roleaction.json. Refer example below:
{
"rolecode": "SYSTEM_ADMINISTRATOR",
"actionid": 1615,
"actioncode": "",
"tenantId": "default"
},
{
"rolecode": "SYSTEM_ADMINISTRATOR",
"actionid": 1616,
"actioncode": "",
"tenantId": "default"
},
{
"rolecode": "SYSTEM_ADMINISTRATOR",
"actionid": 1617,
"actioncode": "",
"tenantId": "default"
},
{
"rolecode": "SYSTEM_ADMINISTRATOR",
"actionid": 1618,
"actioncode": "",
"tenantId": "default"
},
{
"rolecode": "SYSTEM_ADMINISTRATOR",
"actionid": 1619,
"actioncode": "",
"tenantId": "default"
},
{
"rolecode": "SYSTEM_ADMINISTRATOR",
"actionid": 1620,
"actioncode": "",
"tenantId": "default"
},
{
"rolecode": "SYSTEM_ADMINISTRATOR",
"actionid": 1621,
"actioncode": "",
"tenantId": "default"
},
{
"rolecode": "WAREHOUSE_MANAGER",
"actionid": 1614,
"actioncode": "",
"tenantId": "default"
},
{
"rolecode": "WAREHOUSE_MANAGER",
"actionid": 1615,
"actioncode": "",
"tenantId": "default"
},
{
"rolecode": "WAREHOUSE_MANAGER",
"actionid": 1616,
"actioncode": "",
"tenantId": "default"
},
{
"rolecode": "WAREHOUSE_MANAGER",
"actionid": 1617,
"actioncode": "",
"tenantId": "default"
},
{
"rolecode": "WAREHOUSE_MANAGER",
"actionid": 1618,
"actioncode": "",
"tenantId": "default"
},
{
"rolecode": "WAREHOUSE_MANAGER",
"actionid": 1619,
"actioncode": "",
"tenantId": "default"
},
{
"rolecode": "WAREHOUSE_MANAGER",
"actionid": 1620,
"actioncode": "",
"tenantId": "default"
},
{
"rolecode": "WAREHOUSE_MANAGER",
"actionid": 1621,
"actioncode": "",
"tenantId": "default"
},
Persister Configuration
Indexer Configuration
Database Schema
Postman Collection
Last updated
Was this helpful?