{
  "openapi": "3.0.0",
  "info": {
    "title": "medcare",
    "version": "0.0.1",
    "description": "medcare",
    "contact": {
      "name": "adhi1",
      "email": "adhi@acuizen.com"
    }
  },
  "paths": {
    "/auth/admin": {
      "get": {
        "x-controller-name": "AuthController",
        "x-operation-name": "adminOnly",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Admin-only endpoint",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "user": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.adminOnly"
      }
    },
    "/auth/config": {
      "get": {
        "x-controller-name": "AuthController",
        "x-operation-name": "getConfig",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Cognito configuration (public info only)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "config": {
                      "type": "object"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.getConfig"
      }
    },
    "/auth/login": {
      "post": {
        "x-controller-name": "LoginController",
        "x-operation-name": "login",
        "tags": [
          "LoginController"
        ],
        "responses": {
          "200": {
            "description": "Login with username and password",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "tokens": {
                      "type": "object",
                      "properties": {
                        "accessToken": {
                          "type": "string"
                        },
                        "idToken": {
                          "type": "string"
                        },
                        "refreshToken": {
                          "type": "string"
                        }
                      }
                    },
                    "user": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "username",
                  "password"
                ],
                "properties": {
                  "username": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "LoginController.login"
      }
    },
    "/auth/profile": {
      "get": {
        "x-controller-name": "AuthController",
        "x-operation-name": "getProfile",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "User profile from Cognito JWT token",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "user": {
                      "type": "object"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.getProfile"
      }
    },
    "/auth/refresh": {
      "post": {
        "x-controller-name": "LoginController",
        "x-operation-name": "refreshToken",
        "tags": [
          "LoginController"
        ],
        "responses": {
          "200": {
            "description": "Refresh access token using refresh token",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "tokens": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "refreshToken"
                ],
                "properties": {
                  "refreshToken": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "LoginController.refreshToken"
      }
    },
    "/auth/user": {
      "get": {
        "x-controller-name": "AuthController",
        "x-operation-name": "userOrAdmin",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "User or admin endpoint",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "user": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "AuthController.userOrAdmin"
      }
    },
    "/auth/verify-token": {
      "post": {
        "x-controller-name": "LoginController",
        "x-operation-name": "verifyToken",
        "tags": [
          "LoginController"
        ],
        "responses": {
          "200": {
            "description": "Verify JWT token and get user info",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "user": {
                      "type": "object"
                    },
                    "valid": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "token"
                ],
                "properties": {
                  "token": {
                    "type": "string"
                  },
                  "tokenType": {
                    "type": "string",
                    "enum": [
                      "access",
                      "id"
                    ]
                  }
                }
              }
            }
          }
        },
        "operationId": "LoginController.verifyToken"
      }
    },
    "/business-units/count": {
      "get": {
        "x-controller-name": "BusinessUnitController",
        "x-operation-name": "count",
        "tags": [
          "BusinessUnitController"
        ],
        "responses": {
          "200": {
            "description": "BusinessUnit model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "BusinessUnit.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<BusinessUnit>"
                }
              }
            }
          }
        ],
        "operationId": "BusinessUnitController.count"
      }
    },
    "/business-units/get-worker-types": {
      "post": {
        "x-controller-name": "EmployeeHierarchyController",
        "x-operation-name": "getWorkerTypesByBusinessUnits",
        "tags": [
          "EmployeeHierarchyController"
        ],
        "responses": {
          "200": {
            "description": "Get worker types for multiple business units",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "count": {
                        "type": "number"
                      },
                      "parentBusinessUnitId": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "businessUnitIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  }
                },
                "required": [
                  "businessUnitIds"
                ]
              }
            }
          }
        },
        "operationId": "EmployeeHierarchyController.getWorkerTypesByBusinessUnits"
      }
    },
    "/business-units/{id}/training-assignments/link/{trainingAssignmentId}": {
      "post": {
        "x-controller-name": "TrainingAssignmentBusinessUnitController",
        "x-operation-name": "linkTrainingAssignment",
        "tags": [
          "TrainingAssignmentBusinessUnitController"
        ],
        "responses": {
          "200": {
            "description": "Return value of TrainingAssignmentBusinessUnitController.linkTrainingAssignment"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "trainingAssignmentId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TrainingAssignmentBusinessUnitController.linkTrainingAssignment"
      }
    },
    "/business-units/{id}/training-assignments/unlink/{trainingAssignmentId}": {
      "delete": {
        "x-controller-name": "TrainingAssignmentBusinessUnitController",
        "x-operation-name": "unlinkTrainingAssignment",
        "tags": [
          "TrainingAssignmentBusinessUnitController"
        ],
        "responses": {
          "200": {
            "description": "Return value of TrainingAssignmentBusinessUnitController.unlinkTrainingAssignment"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "trainingAssignmentId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TrainingAssignmentBusinessUnitController.unlinkTrainingAssignment"
      }
    },
    "/business-units/{id}/training-assignments": {
      "get": {
        "x-controller-name": "TrainingAssignmentBusinessUnitController",
        "x-operation-name": "findTrainingAssignments",
        "tags": [
          "TrainingAssignmentBusinessUnitController"
        ],
        "responses": {
          "200": {
            "description": "Array of BusinessUnit has many TrainingAssignment through TrainingAssignmentBusinessUnit",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TrainingAssignment"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "TrainingAssignmentBusinessUnitController.findTrainingAssignments"
      }
    },
    "/business-units/{id}": {
      "put": {
        "x-controller-name": "BusinessUnitController",
        "x-operation-name": "replaceById",
        "tags": [
          "BusinessUnitController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "BusinessUnit PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BusinessUnit"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "BusinessUnitController.replaceById"
      },
      "patch": {
        "x-controller-name": "BusinessUnitController",
        "x-operation-name": "updateById",
        "tags": [
          "BusinessUnitController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "BusinessUnit PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BusinessUnitPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "BusinessUnitController.updateById"
      },
      "get": {
        "x-controller-name": "BusinessUnitController",
        "x-operation-name": "findById",
        "tags": [
          "BusinessUnitController"
        ],
        "responses": {
          "200": {
            "description": "BusinessUnit model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessUnitWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessUnit.Filter"
                }
              }
            }
          }
        ],
        "operationId": "BusinessUnitController.findById"
      },
      "delete": {
        "x-controller-name": "BusinessUnitController",
        "x-operation-name": "deleteById",
        "tags": [
          "BusinessUnitController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "BusinessUnit DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "BusinessUnitController.deleteById"
      }
    },
    "/business-units": {
      "post": {
        "x-controller-name": "BusinessUnitController",
        "x-operation-name": "create",
        "tags": [
          "BusinessUnitController"
        ],
        "responses": {
          "200": {
            "description": "BusinessUnit model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessUnit"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewBusinessUnit"
              }
            }
          }
        },
        "operationId": "BusinessUnitController.create"
      },
      "patch": {
        "x-controller-name": "BusinessUnitController",
        "x-operation-name": "updateAll",
        "tags": [
          "BusinessUnitController"
        ],
        "responses": {
          "200": {
            "description": "BusinessUnit PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "BusinessUnit.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<BusinessUnit>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BusinessUnitPartial"
              }
            }
          }
        },
        "operationId": "BusinessUnitController.updateAll"
      },
      "get": {
        "x-controller-name": "BusinessUnitController",
        "x-operation-name": "find",
        "tags": [
          "BusinessUnitController"
        ],
        "responses": {
          "200": {
            "description": "Array of BusinessUnit model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BusinessUnitWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessUnit.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "BusinessUnitController.find"
      }
    },
    "/calculate-cci": {
      "post": {
        "x-controller-name": "CciController",
        "x-operation-name": "calculateCci",
        "tags": [
          "CciController"
        ],
        "responses": {
          "200": {
            "description": "Calculate Critical Competency Index (CCI)",
            "content": {
              "application/json": {
                "example": {
                  "totalCCI": 42,
                  "overallColor": "orange",
                  "awarenessSummary": "Unconscious Unawareness",
                  "userResponses": [
                    {
                      "id": "question-id",
                      "question": "What is the most important factor before starting work at height?",
                      "selectedOptions": [
                        "1"
                      ],
                      "confidence": "confident",
                      "isCorrect": false,
                      "score": 0,
                      "color": "red",
                      "awareness": "Unconscious Unawareness",
                      "options": []
                    }
                  ]
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "contractorId": {
                    "type": "string"
                  },
                  "knowledgeAreaId": {
                    "type": "string"
                  },
                  "knowledgeTopicId": {
                    "type": "string"
                  },
                  "knowledgeUnitId": {
                    "type": "string"
                  },
                  "userResponses": {
                    "type": "array"
                  }
                },
                "required": [
                  "userResponses"
                ]
              }
            }
          },
          "description": "Payload containing user responses",
          "required": true
        },
        "operationId": "CciController.calculateCci"
      }
    },
    "/cci-sessions/latest": {
      "get": {
        "x-controller-name": "CciController",
        "x-operation-name": "getLatestCciSessions",
        "tags": [
          "CciController"
        ],
        "responses": {
          "200": {
            "description": "List of all CCI sessions with latest session for each contractor/knowledge area/topic combination",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "contractorId": {
                        "type": "string"
                      },
                      "knowledgeAreaId": {
                        "type": "string"
                      },
                      "knowledgeTopicId": {
                        "type": "string"
                      },
                      "knowledgeUnitId": {
                        "type": "string"
                      },
                      "contractor": {
                        "type": "object"
                      },
                      "knowledgeArea": {
                        "type": "object"
                      },
                      "knowledgeTopic": {
                        "type": "object"
                      },
                      "knowledgeUnit": {
                        "type": "object"
                      },
                      "latestSession": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "CciController.getLatestCciSessions"
      }
    },
    "/cci-sessions/{id}/knowledge-area": {
      "get": {
        "x-controller-name": "CciSessionKnowledgeAreaController",
        "x-operation-name": "getKnowledgeArea",
        "tags": [
          "CciSessionKnowledgeAreaController"
        ],
        "responses": {
          "200": {
            "description": "KnowledgeArea belonging to CciSession",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeArea"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CciSessionKnowledgeAreaController.getKnowledgeArea"
      }
    },
    "/cci-sessions/{id}/knowledge-topic": {
      "get": {
        "x-controller-name": "CciSessionKnowledgeTopicController",
        "x-operation-name": "getKnowledgeTopic",
        "tags": [
          "CciSessionKnowledgeTopicController"
        ],
        "responses": {
          "200": {
            "description": "KnowledgeTopic belonging to CciSession",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeTopic"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CciSessionKnowledgeTopicController.getKnowledgeTopic"
      }
    },
    "/cci-sessions/{id}/user": {
      "get": {
        "x-controller-name": "CciSessionUserController",
        "x-operation-name": "getUser",
        "tags": [
          "CciSessionUserController"
        ],
        "responses": {
          "200": {
            "description": "User belonging to CciSession",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CciSessionUserController.getUser"
      }
    },
    "/cci-sessions": {
      "get": {
        "x-controller-name": "CciController",
        "x-operation-name": "getAllCciSessions",
        "tags": [
          "CciController"
        ],
        "responses": {
          "200": {
            "description": "List of all CCI sessions with relations",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "contractorId": {
                        "type": "string"
                      },
                      "knowledgeAreaId": {
                        "type": "string"
                      },
                      "knowledgeTopicId": {
                        "type": "string"
                      },
                      "knowledgeUnitId": {
                        "type": "string"
                      },
                      "assessorId": {
                        "type": "string"
                      },
                      "totalCCI": {
                        "type": "number"
                      },
                      "overallColor": {
                        "type": "string"
                      },
                      "awarenessSummary": {
                        "type": "string"
                      },
                      "recommendation": {
                        "type": "string"
                      },
                      "result": {
                        "type": "string"
                      },
                      "uploads": {
                        "type": "string"
                      },
                      "createdAt": {
                        "type": "string"
                      },
                      "contractorOrganization": {
                        "type": "object"
                      },
                      "userResponses": {
                        "type": "array"
                      },
                      "contractor": {
                        "type": "object"
                      },
                      "knowledgeArea": {
                        "type": "object"
                      },
                      "knowledgeTopic": {
                        "type": "object"
                      },
                      "knowledgeUnit": {
                        "type": "object"
                      },
                      "assessor": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "CciController.getAllCciSessions"
      }
    },
    "/checklists/count": {
      "get": {
        "x-controller-name": "ChecklistController",
        "x-operation-name": "count",
        "tags": [
          "ChecklistController"
        ],
        "responses": {
          "200": {
            "description": "Checklist model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Checklist.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Checklist>"
                }
              }
            }
          }
        ],
        "operationId": "ChecklistController.count"
      }
    },
    "/checklists/{id}/employee": {
      "get": {
        "x-controller-name": "ChecklistEmployeeController",
        "x-operation-name": "getEmployee",
        "tags": [
          "ChecklistEmployeeController"
        ],
        "responses": {
          "200": {
            "description": "Employee belonging to Checklist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Employee"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ChecklistEmployeeController.getEmployee"
      }
    },
    "/checklists/{id}": {
      "put": {
        "x-controller-name": "ChecklistController",
        "x-operation-name": "replaceById",
        "tags": [
          "ChecklistController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Checklist PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Checklist"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ChecklistController.replaceById"
      },
      "patch": {
        "x-controller-name": "ChecklistController",
        "x-operation-name": "updateById",
        "tags": [
          "ChecklistController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Checklist PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ChecklistController.updateById"
      },
      "get": {
        "x-controller-name": "ChecklistController",
        "x-operation-name": "findById",
        "tags": [
          "ChecklistController"
        ],
        "responses": {
          "200": {
            "description": "Checklist model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChecklistWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Checklist.Filter"
                }
              }
            }
          }
        ],
        "operationId": "ChecklistController.findById"
      },
      "delete": {
        "x-controller-name": "ChecklistController",
        "x-operation-name": "deleteById",
        "tags": [
          "ChecklistController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Checklist DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ChecklistController.deleteById"
      }
    },
    "/checklists": {
      "post": {
        "x-controller-name": "ChecklistController",
        "x-operation-name": "create",
        "tags": [
          "ChecklistController"
        ],
        "responses": {
          "200": {
            "description": "Checklist model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Checklist"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewChecklist"
              }
            }
          }
        },
        "operationId": "ChecklistController.create"
      },
      "patch": {
        "x-controller-name": "ChecklistController",
        "x-operation-name": "updateAll",
        "tags": [
          "ChecklistController"
        ],
        "responses": {
          "200": {
            "description": "Checklist PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Checklist.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Checklist>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistPartial"
              }
            }
          }
        },
        "operationId": "ChecklistController.updateAll"
      },
      "get": {
        "x-controller-name": "ChecklistController",
        "x-operation-name": "find",
        "tags": [
          "ChecklistController"
        ],
        "responses": {
          "200": {
            "description": "Array of Checklist model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ChecklistWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Checklist.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "ChecklistController.find"
      }
    },
    "/database/datasource": {
      "get": {
        "x-controller-name": "DatabaseExampleController",
        "x-operation-name": "getDatasourceInfo",
        "tags": [
          "DatabaseExampleController"
        ],
        "responses": {
          "200": {
            "description": "Get MongoDB datasource instance info",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "datasourceName": {
                      "type": "string"
                    },
                    "connected": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "DatabaseExampleController.getDatasourceInfo"
      }
    },
    "/database/info": {
      "get": {
        "x-controller-name": "DatabaseExampleController",
        "x-operation-name": "getDatabaseInfo",
        "tags": [
          "DatabaseExampleController"
        ],
        "responses": {
          "200": {
            "description": "Database information",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "info": {
                      "type": "object"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "DatabaseExampleController.getDatabaseInfo"
      }
    },
    "/database/test": {
      "get": {
        "x-controller-name": "DatabaseExampleController",
        "x-operation-name": "testDatabaseConnection",
        "tags": [
          "DatabaseExampleController"
        ],
        "responses": {
          "200": {
            "description": "Test database connection",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "connected": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "DatabaseExampleController.testDatabaseConnection"
      }
    },
    "/departments/get-job-codes": {
      "post": {
        "x-controller-name": "EmployeeHierarchyController",
        "x-operation-name": "getJobCodesByDepartments",
        "tags": [
          "EmployeeHierarchyController"
        ],
        "responses": {
          "200": {
            "description": "Get job codes for multiple departments with optional business unit and worker type filtering",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "number"
                      },
                      "name": {
                        "type": "string"
                      },
                      "count": {
                        "type": "number"
                      },
                      "parentDepartmentId": {
                        "type": "number"
                      },
                      "parentWorkerType": {
                        "type": "string"
                      },
                      "parentBusinessUnitId": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "departmentIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "businessUnitIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "workerTypes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "departmentIds"
                ]
              }
            }
          }
        },
        "operationId": "EmployeeHierarchyController.getJobCodesByDepartments"
      }
    },
    "/dropdown-items/count": {
      "get": {
        "x-controller-name": "DropdownItemsController",
        "x-operation-name": "count",
        "tags": [
          "DropdownItemsController"
        ],
        "responses": {
          "200": {
            "description": "DropdownItems model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DropdownItems.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<DropdownItems>"
                }
              }
            }
          }
        ],
        "operationId": "DropdownItemsController.count"
      }
    },
    "/dropdown-items/{id}/dropdown": {
      "get": {
        "x-controller-name": "DropdownItemsDropdownController",
        "x-operation-name": "getDropdown",
        "tags": [
          "DropdownItemsDropdownController"
        ],
        "responses": {
          "200": {
            "description": "Dropdown belonging to DropdownItems",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Dropdown"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "DropdownItemsDropdownController.getDropdown"
      }
    },
    "/dropdown-items/{id}": {
      "put": {
        "x-controller-name": "DropdownItemsController",
        "x-operation-name": "replaceById",
        "tags": [
          "DropdownItemsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "DropdownItems PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DropdownItems"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "DropdownItemsController.replaceById"
      },
      "patch": {
        "x-controller-name": "DropdownItemsController",
        "x-operation-name": "updateById",
        "tags": [
          "DropdownItemsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "DropdownItems PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DropdownItemsPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "DropdownItemsController.updateById"
      },
      "get": {
        "x-controller-name": "DropdownItemsController",
        "x-operation-name": "findById",
        "tags": [
          "DropdownItemsController"
        ],
        "responses": {
          "200": {
            "description": "DropdownItems model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DropdownItemsWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DropdownItems.Filter"
                }
              }
            }
          }
        ],
        "operationId": "DropdownItemsController.findById"
      },
      "delete": {
        "x-controller-name": "DropdownItemsController",
        "x-operation-name": "deleteById",
        "tags": [
          "DropdownItemsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "DropdownItems DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "DropdownItemsController.deleteById"
      }
    },
    "/dropdown-items": {
      "post": {
        "x-controller-name": "DropdownItemsController",
        "x-operation-name": "create",
        "tags": [
          "DropdownItemsController"
        ],
        "responses": {
          "200": {
            "description": "DropdownItems model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DropdownItems"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewDropdownItems"
              }
            }
          }
        },
        "operationId": "DropdownItemsController.create"
      },
      "patch": {
        "x-controller-name": "DropdownItemsController",
        "x-operation-name": "updateAll",
        "tags": [
          "DropdownItemsController"
        ],
        "responses": {
          "200": {
            "description": "DropdownItems PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DropdownItems.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<DropdownItems>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DropdownItemsPartial"
              }
            }
          }
        },
        "operationId": "DropdownItemsController.updateAll"
      },
      "get": {
        "x-controller-name": "DropdownItemsController",
        "x-operation-name": "find",
        "tags": [
          "DropdownItemsController"
        ],
        "responses": {
          "200": {
            "description": "Array of DropdownItems model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DropdownItemsWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DropdownItems.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "DropdownItemsController.find"
      }
    },
    "/dropdowns/count": {
      "get": {
        "x-controller-name": "DropdownController",
        "x-operation-name": "count",
        "tags": [
          "DropdownController"
        ],
        "responses": {
          "200": {
            "description": "Dropdown model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Dropdown.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Dropdown>"
                }
              }
            }
          }
        ],
        "operationId": "DropdownController.count"
      }
    },
    "/dropdowns/{id}/dropdown-items": {
      "post": {
        "x-controller-name": "DropdownDropdownItemsController",
        "x-operation-name": "create",
        "tags": [
          "DropdownDropdownItemsController"
        ],
        "responses": {
          "200": {
            "description": "Dropdown model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DropdownItems"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewDropdownItemsInDropdown"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "DropdownDropdownItemsController.create"
      },
      "patch": {
        "x-controller-name": "DropdownDropdownItemsController",
        "x-operation-name": "patch",
        "tags": [
          "DropdownDropdownItemsController"
        ],
        "responses": {
          "200": {
            "description": "Dropdown.DropdownItems PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DropdownItems.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<DropdownItems>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DropdownItemsPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "DropdownDropdownItemsController.patch"
      },
      "get": {
        "x-controller-name": "DropdownDropdownItemsController",
        "x-operation-name": "find",
        "tags": [
          "DropdownDropdownItemsController"
        ],
        "responses": {
          "200": {
            "description": "Array of Dropdown has many DropdownItems",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DropdownItems"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "DropdownDropdownItemsController.find"
      }
    },
    "/dropdowns/{id}/service": {
      "get": {
        "x-controller-name": "DropdownServiceController",
        "x-operation-name": "getService",
        "tags": [
          "DropdownServiceController"
        ],
        "responses": {
          "200": {
            "description": "Service belonging to Dropdown",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Service"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "DropdownServiceController.getService"
      }
    },
    "/dropdowns/{id}": {
      "put": {
        "x-controller-name": "DropdownController",
        "x-operation-name": "replaceById",
        "tags": [
          "DropdownController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Dropdown PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Dropdown"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "DropdownController.replaceById"
      },
      "patch": {
        "x-controller-name": "DropdownController",
        "x-operation-name": "updateById",
        "tags": [
          "DropdownController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Dropdown PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DropdownPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "DropdownController.updateById"
      },
      "get": {
        "x-controller-name": "DropdownController",
        "x-operation-name": "findById",
        "tags": [
          "DropdownController"
        ],
        "responses": {
          "200": {
            "description": "Dropdown model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DropdownWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Dropdown.Filter"
                }
              }
            }
          }
        ],
        "operationId": "DropdownController.findById"
      },
      "delete": {
        "x-controller-name": "DropdownController",
        "x-operation-name": "deleteById",
        "tags": [
          "DropdownController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Dropdown DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "DropdownController.deleteById"
      }
    },
    "/dropdowns": {
      "post": {
        "x-controller-name": "DropdownController",
        "x-operation-name": "create",
        "tags": [
          "DropdownController"
        ],
        "responses": {
          "200": {
            "description": "Dropdown model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Dropdown"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewDropdown"
              }
            }
          }
        },
        "operationId": "DropdownController.create"
      },
      "patch": {
        "x-controller-name": "DropdownController",
        "x-operation-name": "updateAll",
        "tags": [
          "DropdownController"
        ],
        "responses": {
          "200": {
            "description": "Dropdown PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Dropdown.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Dropdown>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DropdownPartial"
              }
            }
          }
        },
        "operationId": "DropdownController.updateAll"
      },
      "get": {
        "x-controller-name": "DropdownController",
        "x-operation-name": "find",
        "tags": [
          "DropdownController"
        ],
        "responses": {
          "200": {
            "description": "Array of Dropdown model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DropdownWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Dropdown.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "DropdownController.find"
      }
    },
    "/dropdowns-items-parent/{id}/dropdown-items": {
      "post": {
        "x-controller-name": "DropdownDropdownItemsController",
        "x-operation-name": "createChildren",
        "tags": [
          "DropdownDropdownItemsController"
        ],
        "responses": {
          "200": {
            "description": "Dropdown model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DropdownItems"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewDropdownItemsInDropdown"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "DropdownDropdownItemsController.createChildren"
      },
      "get": {
        "x-controller-name": "DropdownDropdownItemsController",
        "x-operation-name": "findChildren",
        "tags": [
          "DropdownDropdownItemsController"
        ],
        "responses": {
          "200": {
            "description": "Array of Dropdown has many DropdownItems",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DropdownItems"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "DropdownDropdownItemsController.findChildren"
      },
      "delete": {
        "x-controller-name": "DropdownDropdownItemsController",
        "x-operation-name": "delete",
        "tags": [
          "DropdownDropdownItemsController"
        ],
        "responses": {
          "200": {
            "description": "Dropdown.DropdownItems DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "DropdownItems.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<DropdownItems>"
                }
              }
            }
          }
        ],
        "operationId": "DropdownDropdownItemsController.delete"
      }
    },
    "/employees/count": {
      "get": {
        "x-controller-name": "EmployeeController",
        "x-operation-name": "count",
        "tags": [
          "EmployeeController"
        ],
        "responses": {
          "200": {
            "description": "Employee model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Employee.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Employee>"
                }
              }
            }
          }
        ],
        "operationId": "EmployeeController.count"
      }
    },
    "/employees/{id}": {
      "put": {
        "x-controller-name": "EmployeeController",
        "x-operation-name": "replaceById",
        "tags": [
          "EmployeeController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Employee PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Employee"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "EmployeeController.replaceById"
      },
      "patch": {
        "x-controller-name": "EmployeeController",
        "x-operation-name": "updateById",
        "tags": [
          "EmployeeController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Employee PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmployeePartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "EmployeeController.updateById"
      },
      "get": {
        "x-controller-name": "EmployeeController",
        "x-operation-name": "findById",
        "tags": [
          "EmployeeController"
        ],
        "responses": {
          "200": {
            "description": "Employee model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmployeeWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Employee.Filter"
                }
              }
            }
          }
        ],
        "operationId": "EmployeeController.findById"
      },
      "delete": {
        "x-controller-name": "EmployeeController",
        "x-operation-name": "deleteById",
        "tags": [
          "EmployeeController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Employee DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "EmployeeController.deleteById"
      }
    },
    "/employees": {
      "post": {
        "x-controller-name": "EmployeeController",
        "x-operation-name": "create",
        "tags": [
          "EmployeeController"
        ],
        "responses": {
          "200": {
            "description": "Employee model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Employee"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewEmployee"
              }
            }
          }
        },
        "operationId": "EmployeeController.create"
      },
      "patch": {
        "x-controller-name": "EmployeeController",
        "x-operation-name": "updateAll",
        "tags": [
          "EmployeeController"
        ],
        "responses": {
          "200": {
            "description": "Employee PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Employee.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Employee>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmployeePartial"
              }
            }
          }
        },
        "operationId": "EmployeeController.updateAll"
      },
      "get": {
        "x-controller-name": "EmployeeController",
        "x-operation-name": "find",
        "tags": [
          "EmployeeController"
        ],
        "responses": {
          "200": {
            "description": "Array of Employee model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EmployeeWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Employee.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "EmployeeController.find"
      }
    },
    "/files/{filename}/presigned-url": {
      "get": {
        "x-controller-name": "FileDownloadController",
        "x-operation-name": "getPresignedUrl",
        "tags": [
          "FileDownloadController"
        ],
        "responses": {
          "200": {
            "description": "Get a pre-signed URL for downloading a file",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filename",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "FileDownloadController.getPresignedUrl"
      }
    },
    "/files/{bucketName}/{filename}/presigned-url": {
      "get": {
        "x-controller-name": "FileDownloadController",
        "x-operation-name": "getPresignedUrlWithBucket",
        "tags": [
          "FileDownloadController"
        ],
        "responses": {
          "200": {
            "description": "Get a pre-signed URL for downloading a file from a specified bucket",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "bucketName",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filename",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "FileDownloadController.getPresignedUrlWithBucket"
      }
    },
    "/files/{s3BucketName}": {
      "post": {
        "x-controller-name": "FileUploadController",
        "x-operation-name": "fileUploadWithS3Bucket",
        "tags": [
          "FileUploadController"
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "Files and fields"
          }
        },
        "parameters": [
          {
            "name": "s3BucketName",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "x-parser": "stream",
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              }
            }
          },
          "description": "Request body for multipart/form-data based file upload",
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "FileUploadController.fileUploadWithS3Bucket"
      }
    },
    "/files": {
      "post": {
        "x-controller-name": "FileUploadController",
        "x-operation-name": "fileUpload",
        "tags": [
          "FileUploadController"
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "Files and fields"
          }
        },
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "x-parser": "stream",
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              }
            }
          },
          "description": "Request body for multipart/form-data based file upload",
          "required": true
        },
        "operationId": "FileUploadController.fileUpload"
      }
    },
    "/flashcards/leaderboard": {
      "get": {
        "x-controller-name": "FlashcardController",
        "x-operation-name": "getLeaderboard",
        "tags": [
          "FlashcardController"
        ],
        "responses": {
          "200": {
            "description": "Get flashcard leaderboard",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "leaderboard": {
                      "type": "array"
                    },
                    "userRank": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "FlashcardController.getLeaderboard"
      }
    },
    "/flashcards/next-question/{sessionId}": {
      "get": {
        "x-controller-name": "FlashcardController",
        "x-operation-name": "getNextQuestion",
        "tags": [
          "FlashcardController"
        ],
        "responses": {
          "200": {
            "description": "Get the next question in the flashcard session",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "question": {
                      "$ref": "#/components/schemas/QuestionBank"
                    },
                    "progress": {
                      "type": "object",
                      "properties": {
                        "current": {
                          "type": "number"
                        },
                        "total": {
                          "type": "number"
                        },
                        "percentage": {
                          "type": "number"
                        }
                      }
                    },
                    "sessionExpired": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "FlashcardController.getNextQuestion"
      }
    },
    "/flashcards/recent-session": {
      "get": {
        "x-controller-name": "FlashcardController",
        "x-operation-name": "getRecentSession",
        "tags": [
          "FlashcardController"
        ],
        "responses": {
          "200": {
            "description": "Get the most recently submitted flashcard session for the current user",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "session": {
                      "anyOf": [
                        {
                          "$ref": "#/components/schemas/FlashcardSession"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "message": {
                      "type": "string"
                    },
                    "resetPeriodInfo": {
                      "type": "object",
                      "properties": {
                        "currentPeriod": {
                          "type": "string"
                        },
                        "nextResetTime": {
                          "type": "string"
                        },
                        "timeUntilReset": {
                          "type": "object"
                        },
                        "canStartNewSession": {
                          "type": "boolean"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "FlashcardController.getRecentSession"
      }
    },
    "/flashcards/refresh-session/{sessionId}": {
      "post": {
        "x-controller-name": "FlashcardController",
        "x-operation-name": "refreshSession",
        "tags": [
          "FlashcardController"
        ],
        "responses": {
          "200": {
            "description": "Force refresh a flashcard session",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "newSession": {
                      "$ref": "#/components/schemas/FlashcardSession"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "FlashcardController.refreshSession"
      }
    },
    "/flashcards/session-history": {
      "get": {
        "x-controller-name": "FlashcardController",
        "x-operation-name": "getSessionHistory",
        "tags": [
          "FlashcardController"
        ],
        "responses": {
          "200": {
            "description": "Get user session history",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "FlashcardController.getSessionHistory"
      }
    },
    "/flashcards/session-stats/{sessionId}": {
      "get": {
        "x-controller-name": "FlashcardController",
        "x-operation-name": "getSessionStats",
        "tags": [
          "FlashcardController"
        ],
        "responses": {
          "200": {
            "description": "Get current session statistics",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "session": {
                      "$ref": "#/components/schemas/FlashcardSession"
                    },
                    "timeRemaining": {
                      "type": "object"
                    },
                    "progress": {
                      "type": "object"
                    },
                    "performance": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "FlashcardController.getSessionStats"
      }
    },
    "/flashcards/start-session": {
      "post": {
        "x-controller-name": "FlashcardController",
        "x-operation-name": "startSession",
        "tags": [
          "FlashcardController"
        ],
        "responses": {
          "200": {
            "description": "Start a new flashcard session",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "session": {
                      "$ref": "#/components/schemas/FlashcardSession"
                    },
                    "message": {
                      "type": "string"
                    },
                    "refreshed": {
                      "type": "boolean"
                    },
                    "resetPeriodInfo": {
                      "type": "object",
                      "properties": {
                        "currentPeriod": {
                          "type": "string"
                        },
                        "nextResetTime": {
                          "type": "string"
                        },
                        "timeUntilReset": {
                          "type": "object"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Session limit reached for current reset period",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "object",
                      "properties": {
                        "statusCode": {
                          "type": "number"
                        },
                        "name": {
                          "type": "string"
                        },
                        "message": {
                          "type": "string"
                        },
                        "resetPeriodInfo": {
                          "type": "object",
                          "properties": {
                            "currentPeriod": {
                              "type": "string"
                            },
                            "nextResetTime": {
                              "type": "string"
                            },
                            "timeUntilReset": {
                              "type": "object"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "config": {
                    "type": "object",
                    "properties": {
                      "totalCards": {
                        "type": "number",
                        "default": 10
                      },
                      "easyPercentage": {
                        "type": "number",
                        "default": 60
                      },
                      "mediumPercentage": {
                        "type": "number",
                        "default": 30
                      },
                      "hardPercentage": {
                        "type": "number",
                        "default": 10
                      },
                      "refreshIntervalHours": {
                        "type": "number",
                        "default": 12
                      }
                    }
                  },
                  "knowledgeAreaId": {
                    "type": "string"
                  },
                  "knowledgeTopicId": {
                    "type": "string"
                  },
                  "knowledgeUnitId": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "description": "Flashcard session configuration",
          "required": false
        },
        "operationId": "FlashcardController.startSession"
      }
    },
    "/flashcards/submit-answer/{sessionId}": {
      "post": {
        "x-controller-name": "FlashcardController",
        "x-operation-name": "submitAnswer",
        "tags": [
          "FlashcardController"
        ],
        "responses": {
          "200": {
            "description": "Submit an answer for a flashcard question",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "isCorrect": {
                      "type": "boolean"
                    },
                    "correctAnswer": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "feedback": {
                      "type": "string"
                    },
                    "starsEarned": {
                      "type": "number"
                    },
                    "updatedStats": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "questionId",
                  "selectedOptions",
                  "timeSpent"
                ],
                "properties": {
                  "questionId": {
                    "type": "string"
                  },
                  "selectedOptions": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "timeSpent": {
                    "type": "number"
                  },
                  "confidence": {
                    "type": "string",
                    "enum": [
                      "confident",
                      "not_sure",
                      "not_confident"
                    ]
                  }
                }
              }
            }
          },
          "description": "Answer submission",
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "FlashcardController.submitAnswer"
      }
    },
    "/flashcards/user-stats": {
      "get": {
        "x-controller-name": "FlashcardController",
        "x-operation-name": "getUserStats",
        "tags": [
          "FlashcardController"
        ],
        "responses": {
          "200": {
            "description": "Get user flashcard statistics",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "stats": {
                      "$ref": "#/components/schemas/FlashcardStats"
                    },
                    "rank": {
                      "type": "object"
                    },
                    "achievements": {
                      "type": "array"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "FlashcardController.getUserStats"
      }
    },
    "/grade-codes/get-employees": {
      "post": {
        "x-controller-name": "EmployeeHierarchyController",
        "x-operation-name": "getEmployeesByGradeCodes",
        "tags": [
          "EmployeeHierarchyController"
        ],
        "responses": {
          "200": {
            "description": "Get employees for multiple grade codes with optional hierarchy filtering",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "uniqueId": {
                        "type": "number"
                      },
                      "employeeId": {
                        "type": "string"
                      },
                      "firstName": {
                        "type": "string"
                      },
                      "lastName": {
                        "type": "string"
                      },
                      "email": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "parentGradeId": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "gradeIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "businessUnitIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "departmentIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "jobIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "workerTypes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "gradeIds"
                ]
              }
            }
          }
        },
        "operationId": "EmployeeHierarchyController.getEmployeesByGradeCodes"
      }
    },
    "/hazard-categories/count": {
      "get": {
        "x-controller-name": "HazardCategoryController",
        "x-operation-name": "count",
        "tags": [
          "HazardCategoryController"
        ],
        "responses": {
          "200": {
            "description": "HazardCategory model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "HazardCategory.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<HazardCategory>"
                }
              }
            }
          }
        ],
        "operationId": "HazardCategoryController.count"
      }
    },
    "/hazard-categories/{id}/hazard-items": {
      "post": {
        "x-controller-name": "HazardCategoryHazardItemController",
        "x-operation-name": "create",
        "tags": [
          "HazardCategoryHazardItemController"
        ],
        "responses": {
          "200": {
            "description": "HazardCategory model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HazardItem"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewHazardItemInHazardCategory"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "HazardCategoryHazardItemController.create"
      },
      "patch": {
        "x-controller-name": "HazardCategoryHazardItemController",
        "x-operation-name": "patch",
        "tags": [
          "HazardCategoryHazardItemController"
        ],
        "responses": {
          "200": {
            "description": "HazardCategory.HazardItem PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "HazardItem.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<HazardItem>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HazardItemPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "HazardCategoryHazardItemController.patch"
      },
      "get": {
        "x-controller-name": "HazardCategoryHazardItemController",
        "x-operation-name": "find",
        "tags": [
          "HazardCategoryHazardItemController"
        ],
        "responses": {
          "200": {
            "description": "Array of HazardCategory has many HazardItem",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HazardItem"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "HazardCategoryHazardItemController.find"
      },
      "delete": {
        "x-controller-name": "HazardCategoryHazardItemController",
        "x-operation-name": "delete",
        "tags": [
          "HazardCategoryHazardItemController"
        ],
        "responses": {
          "200": {
            "description": "HazardCategory.HazardItem DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "HazardItem.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<HazardItem>"
                }
              }
            }
          }
        ],
        "operationId": "HazardCategoryHazardItemController.delete"
      }
    },
    "/hazard-categories/{id}": {
      "put": {
        "x-controller-name": "HazardCategoryController",
        "x-operation-name": "replaceById",
        "tags": [
          "HazardCategoryController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "HazardCategory PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HazardCategory"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "HazardCategoryController.replaceById"
      },
      "patch": {
        "x-controller-name": "HazardCategoryController",
        "x-operation-name": "updateById",
        "tags": [
          "HazardCategoryController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "HazardCategory PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HazardCategoryPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "HazardCategoryController.updateById"
      },
      "get": {
        "x-controller-name": "HazardCategoryController",
        "x-operation-name": "findById",
        "tags": [
          "HazardCategoryController"
        ],
        "responses": {
          "200": {
            "description": "HazardCategory model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HazardCategoryWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HazardCategory.Filter"
                }
              }
            }
          }
        ],
        "operationId": "HazardCategoryController.findById"
      },
      "delete": {
        "x-controller-name": "HazardCategoryController",
        "x-operation-name": "deleteById",
        "tags": [
          "HazardCategoryController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "HazardCategory DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "HazardCategoryController.deleteById"
      }
    },
    "/hazard-categories": {
      "post": {
        "x-controller-name": "HazardCategoryController",
        "x-operation-name": "create",
        "tags": [
          "HazardCategoryController"
        ],
        "responses": {
          "200": {
            "description": "HazardCategory model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HazardCategory"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewHazardCategory"
              }
            }
          }
        },
        "operationId": "HazardCategoryController.create"
      },
      "patch": {
        "x-controller-name": "HazardCategoryController",
        "x-operation-name": "updateAll",
        "tags": [
          "HazardCategoryController"
        ],
        "responses": {
          "200": {
            "description": "HazardCategory PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "HazardCategory.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<HazardCategory>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HazardCategoryPartial"
              }
            }
          }
        },
        "operationId": "HazardCategoryController.updateAll"
      },
      "get": {
        "x-controller-name": "HazardCategoryController",
        "x-operation-name": "find",
        "tags": [
          "HazardCategoryController"
        ],
        "responses": {
          "200": {
            "description": "Array of HazardCategory model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HazardCategoryWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HazardCategory.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "HazardCategoryController.find"
      }
    },
    "/hazard-industries/count": {
      "get": {
        "x-controller-name": "HazardIndustryController",
        "x-operation-name": "count",
        "tags": [
          "HazardIndustryController"
        ],
        "responses": {
          "200": {
            "description": "HazardIndustry model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "HazardIndustry.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<HazardIndustry>"
                }
              }
            }
          }
        ],
        "operationId": "HazardIndustryController.count"
      }
    },
    "/hazard-industries/{id}/hazard-categories": {
      "post": {
        "x-controller-name": "HazardIndustryHazardCategoryController",
        "x-operation-name": "create",
        "tags": [
          "HazardIndustryHazardCategoryController"
        ],
        "responses": {
          "200": {
            "description": "HazardIndustry model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HazardCategory"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewHazardCategoryInHazardIndustry"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "HazardIndustryHazardCategoryController.create"
      },
      "patch": {
        "x-controller-name": "HazardIndustryHazardCategoryController",
        "x-operation-name": "patch",
        "tags": [
          "HazardIndustryHazardCategoryController"
        ],
        "responses": {
          "200": {
            "description": "HazardIndustry.HazardCategory PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "HazardCategory.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<HazardCategory>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HazardCategoryPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "HazardIndustryHazardCategoryController.patch"
      },
      "get": {
        "x-controller-name": "HazardIndustryHazardCategoryController",
        "x-operation-name": "find",
        "tags": [
          "HazardIndustryHazardCategoryController"
        ],
        "responses": {
          "200": {
            "description": "Array of HazardIndustry has many HazardCategory",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HazardCategory"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "HazardIndustryHazardCategoryController.find"
      },
      "delete": {
        "x-controller-name": "HazardIndustryHazardCategoryController",
        "x-operation-name": "delete",
        "tags": [
          "HazardIndustryHazardCategoryController"
        ],
        "responses": {
          "200": {
            "description": "HazardIndustry.HazardCategory DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "HazardCategory.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<HazardCategory>"
                }
              }
            }
          }
        ],
        "operationId": "HazardIndustryHazardCategoryController.delete"
      }
    },
    "/hazard-industries/{id}": {
      "put": {
        "x-controller-name": "HazardIndustryController",
        "x-operation-name": "replaceById",
        "tags": [
          "HazardIndustryController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "HazardIndustry PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HazardIndustry"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "HazardIndustryController.replaceById"
      },
      "patch": {
        "x-controller-name": "HazardIndustryController",
        "x-operation-name": "updateById",
        "tags": [
          "HazardIndustryController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "HazardIndustry PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HazardIndustryPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "HazardIndustryController.updateById"
      },
      "get": {
        "x-controller-name": "HazardIndustryController",
        "x-operation-name": "findById",
        "tags": [
          "HazardIndustryController"
        ],
        "responses": {
          "200": {
            "description": "HazardIndustry model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HazardIndustryWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HazardIndustry.Filter"
                }
              }
            }
          }
        ],
        "operationId": "HazardIndustryController.findById"
      },
      "delete": {
        "x-controller-name": "HazardIndustryController",
        "x-operation-name": "deleteById",
        "tags": [
          "HazardIndustryController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "HazardIndustry DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "HazardIndustryController.deleteById"
      }
    },
    "/hazard-industries": {
      "post": {
        "x-controller-name": "HazardIndustryController",
        "x-operation-name": "create",
        "tags": [
          "HazardIndustryController"
        ],
        "responses": {
          "200": {
            "description": "HazardIndustry model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HazardIndustry"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewHazardIndustry"
              }
            }
          }
        },
        "operationId": "HazardIndustryController.create"
      },
      "patch": {
        "x-controller-name": "HazardIndustryController",
        "x-operation-name": "updateAll",
        "tags": [
          "HazardIndustryController"
        ],
        "responses": {
          "200": {
            "description": "HazardIndustry PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "HazardIndustry.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<HazardIndustry>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HazardIndustryPartial"
              }
            }
          }
        },
        "operationId": "HazardIndustryController.updateAll"
      },
      "get": {
        "x-controller-name": "HazardIndustryController",
        "x-operation-name": "find",
        "tags": [
          "HazardIndustryController"
        ],
        "responses": {
          "200": {
            "description": "Array of HazardIndustry model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HazardIndustryWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HazardIndustry.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "HazardIndustryController.find"
      }
    },
    "/hazard-items/count": {
      "get": {
        "x-controller-name": "HazardItemController",
        "x-operation-name": "count",
        "tags": [
          "HazardItemController"
        ],
        "responses": {
          "200": {
            "description": "HazardItem model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "HazardItem.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<HazardItem>"
                }
              }
            }
          }
        ],
        "operationId": "HazardItemController.count"
      }
    },
    "/hazard-items/{id}": {
      "put": {
        "x-controller-name": "HazardItemController",
        "x-operation-name": "replaceById",
        "tags": [
          "HazardItemController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "HazardItem PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HazardItem"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "HazardItemController.replaceById"
      },
      "patch": {
        "x-controller-name": "HazardItemController",
        "x-operation-name": "updateById",
        "tags": [
          "HazardItemController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "HazardItem PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HazardItemPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "HazardItemController.updateById"
      },
      "get": {
        "x-controller-name": "HazardItemController",
        "x-operation-name": "findById",
        "tags": [
          "HazardItemController"
        ],
        "responses": {
          "200": {
            "description": "HazardItem model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HazardItemWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HazardItem.Filter"
                }
              }
            }
          }
        ],
        "operationId": "HazardItemController.findById"
      },
      "delete": {
        "x-controller-name": "HazardItemController",
        "x-operation-name": "deleteById",
        "tags": [
          "HazardItemController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "HazardItem DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "HazardItemController.deleteById"
      }
    },
    "/hazard-items": {
      "post": {
        "x-controller-name": "HazardItemController",
        "x-operation-name": "create",
        "tags": [
          "HazardItemController"
        ],
        "responses": {
          "200": {
            "description": "HazardItem model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HazardItem"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewHazardItem"
              }
            }
          }
        },
        "operationId": "HazardItemController.create"
      },
      "patch": {
        "x-controller-name": "HazardItemController",
        "x-operation-name": "updateAll",
        "tags": [
          "HazardItemController"
        ],
        "responses": {
          "200": {
            "description": "HazardItem PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "HazardItem.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<HazardItem>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HazardItemPartial"
              }
            }
          }
        },
        "operationId": "HazardItemController.updateAll"
      },
      "get": {
        "x-controller-name": "HazardItemController",
        "x-operation-name": "find",
        "tags": [
          "HazardItemController"
        ],
        "responses": {
          "200": {
            "description": "Array of HazardItem model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/HazardItemWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HazardItem.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "HazardItemController.find"
      }
    },
    "/health/database": {
      "get": {
        "x-controller-name": "HealthController",
        "x-operation-name": "databaseHealth",
        "tags": [
          "HealthController"
        ],
        "responses": {
          "200": {
            "description": "Database Health Check",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "connected": {
                      "type": "boolean"
                    },
                    "database": {
                      "type": "string"
                    },
                    "environment": {
                      "type": "string"
                    },
                    "timestamp": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "HealthController.databaseHealth"
      }
    },
    "/health": {
      "get": {
        "x-controller-name": "HealthController",
        "x-operation-name": "health",
        "tags": [
          "HealthController"
        ],
        "responses": {
          "200": {
            "description": "Health Check Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HealthResponse"
                }
              }
            }
          }
        },
        "operationId": "HealthController.health"
      }
    },
    "/hierarchy/business-units/{businessUnitId}/worker-types/{workerType}/departments/{departmentId}/job-codes/{jobId}/grade-codes/{gradeId}/employees": {
      "get": {
        "x-controller-name": "EmployeeHierarchyController",
        "x-operation-name": "getEmployeesByGradeCode",
        "tags": [
          "EmployeeHierarchyController"
        ],
        "responses": {
          "200": {
            "description": "Get all employees under a specific grade code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "uniqueId": {
                        "type": "number"
                      },
                      "employeeId": {
                        "type": "string"
                      },
                      "firstName": {
                        "type": "string"
                      },
                      "lastName": {
                        "type": "string"
                      },
                      "email": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "businessUnitId",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          },
          {
            "name": "workerType",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "departmentId",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          },
          {
            "name": "jobId",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          },
          {
            "name": "gradeId",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "EmployeeHierarchyController.getEmployeesByGradeCode"
      }
    },
    "/hierarchy/business-units/{businessUnitId}/worker-types/{workerType}/departments/{departmentId}/job-codes/{jobId}/grade-codes": {
      "get": {
        "x-controller-name": "EmployeeHierarchyController",
        "x-operation-name": "getGradeCodesByJobCode",
        "tags": [
          "EmployeeHierarchyController"
        ],
        "responses": {
          "200": {
            "description": "Get all grade codes under a specific job code within the hierarchy",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "number"
                      },
                      "name": {
                        "type": "string"
                      },
                      "count": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "businessUnitId",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          },
          {
            "name": "workerType",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "departmentId",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          },
          {
            "name": "jobId",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "EmployeeHierarchyController.getGradeCodesByJobCode"
      }
    },
    "/hierarchy/business-units/{businessUnitId}/worker-types/{workerType}/departments/{departmentId}/job-codes": {
      "get": {
        "x-controller-name": "EmployeeHierarchyController",
        "x-operation-name": "getJobCodesByDepartmentAndWorkerType",
        "tags": [
          "EmployeeHierarchyController"
        ],
        "responses": {
          "200": {
            "description": "Get all job codes under a specific department within a worker type",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "number"
                      },
                      "name": {
                        "type": "string"
                      },
                      "count": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "businessUnitId",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          },
          {
            "name": "workerType",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "departmentId",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "EmployeeHierarchyController.getJobCodesByDepartmentAndWorkerType"
      }
    },
    "/hierarchy/business-units/{businessUnitId}/worker-types/{workerType}/departments": {
      "get": {
        "x-controller-name": "EmployeeHierarchyController",
        "x-operation-name": "getDepartmentsByWorkerType",
        "tags": [
          "EmployeeHierarchyController"
        ],
        "responses": {
          "200": {
            "description": "Get all departments under a specific worker type within a business unit",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "number"
                      },
                      "name": {
                        "type": "string"
                      },
                      "count": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "businessUnitId",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          },
          {
            "name": "workerType",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "EmployeeHierarchyController.getDepartmentsByWorkerType"
      }
    },
    "/hierarchy/business-units/{businessUnitId}/worker-types": {
      "get": {
        "x-controller-name": "EmployeeHierarchyController",
        "x-operation-name": "getWorkerTypesByBusinessUnit",
        "tags": [
          "EmployeeHierarchyController"
        ],
        "responses": {
          "200": {
            "description": "Get all worker types under a specific business unit",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "count": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "businessUnitId",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "EmployeeHierarchyController.getWorkerTypesByBusinessUnit"
      }
    },
    "/hierarchy/business-units": {
      "get": {
        "x-controller-name": "EmployeeHierarchyController",
        "x-operation-name": "getBusinessUnits",
        "tags": [
          "EmployeeHierarchyController"
        ],
        "responses": {
          "200": {
            "description": "Get all unique business units",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "number"
                      },
                      "name": {
                        "type": "string"
                      },
                      "count": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "EmployeeHierarchyController.getBusinessUnits"
      }
    },
    "/hierarchy/departments": {
      "get": {
        "x-controller-name": "EmployeeHierarchyController",
        "x-operation-name": "getAllDepartments",
        "tags": [
          "EmployeeHierarchyController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Get all unique departments across all business units"
                }
              }
            }
          }
        },
        "operationId": "EmployeeHierarchyController.getAllDepartments"
      }
    },
    "/hierarchy/grade-codes": {
      "get": {
        "x-controller-name": "EmployeeHierarchyController",
        "x-operation-name": "getAllGradeCodes",
        "tags": [
          "EmployeeHierarchyController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Get all unique grade codes across all worker types"
                }
              }
            }
          }
        },
        "operationId": "EmployeeHierarchyController.getAllGradeCodes"
      }
    },
    "/hierarchy/job-codes": {
      "get": {
        "x-controller-name": "EmployeeHierarchyController",
        "x-operation-name": "getAllJobCodes",
        "tags": [
          "EmployeeHierarchyController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Get all unique job codes across all departments"
                }
              }
            }
          }
        },
        "operationId": "EmployeeHierarchyController.getAllJobCodes"
      }
    },
    "/hierarchy/trainer/business-units/get-worker-types": {
      "post": {
        "x-controller-name": "EmployeeHierarchyController",
        "x-operation-name": "getTrainerAssignedWorkerTypesByBusinessUnits",
        "tags": [
          "EmployeeHierarchyController"
        ],
        "responses": {
          "200": {
            "description": "Get worker types for business units assigned to current user (Trainer role)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "count": {
                        "type": "number"
                      },
                      "parentBusinessUnitId": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "businessUnitIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  }
                },
                "required": [
                  "businessUnitIds"
                ]
              }
            }
          }
        },
        "operationId": "EmployeeHierarchyController.getTrainerAssignedWorkerTypesByBusinessUnits"
      }
    },
    "/hierarchy/trainer/business-units": {
      "post": {
        "x-controller-name": "EmployeeHierarchyController",
        "x-operation-name": "getTrainerAssignedBusinessUnits",
        "tags": [
          "EmployeeHierarchyController"
        ],
        "responses": {
          "200": {
            "description": "Get business units assigned to the current user (Trainer role)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "number"
                      },
                      "name": {
                        "type": "string"
                      },
                      "count": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "EmployeeHierarchyController.getTrainerAssignedBusinessUnits"
      }
    },
    "/hierarchy/trainer/departments": {
      "post": {
        "x-controller-name": "EmployeeHierarchyController",
        "x-operation-name": "getTrainerAssignedDepartments",
        "tags": [
          "EmployeeHierarchyController"
        ],
        "responses": {
          "200": {
            "description": "Get departments for business units assigned to current user (Trainer role)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "number"
                      },
                      "name": {
                        "type": "string"
                      },
                      "count": {
                        "type": "number"
                      },
                      "parentWorkerType": {
                        "type": "string"
                      },
                      "parentBusinessUnitId": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "workerTypes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "businessUnitIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  }
                },
                "required": [
                  "workerTypes"
                ]
              }
            }
          }
        },
        "operationId": "EmployeeHierarchyController.getTrainerAssignedDepartments"
      }
    },
    "/hierarchy/trainer/employees": {
      "post": {
        "x-controller-name": "EmployeeHierarchyController",
        "x-operation-name": "getTrainerAssignedEmployees",
        "tags": [
          "EmployeeHierarchyController"
        ],
        "responses": {
          "200": {
            "description": "Get employees for grade codes assigned to current user (Trainer role)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "uniqueId": {
                        "type": "number"
                      },
                      "employeeId": {
                        "type": "string"
                      },
                      "firstName": {
                        "type": "string"
                      },
                      "lastName": {
                        "type": "string"
                      },
                      "email": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "parentGradeId": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "gradeIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "jobIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "departmentIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "workerTypes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "businessUnitIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  }
                },
                "required": [
                  "gradeIds"
                ]
              }
            }
          }
        },
        "operationId": "EmployeeHierarchyController.getTrainerAssignedEmployees"
      }
    },
    "/hierarchy/trainer/grade-codes": {
      "post": {
        "x-controller-name": "EmployeeHierarchyController",
        "x-operation-name": "getTrainerAssignedGradeCodes",
        "tags": [
          "EmployeeHierarchyController"
        ],
        "responses": {
          "200": {
            "description": "Get grade codes for job codes assigned to current user (Trainer role)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "number"
                      },
                      "name": {
                        "type": "string"
                      },
                      "count": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "jobIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "departmentIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "workerTypes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "businessUnitIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  }
                },
                "required": [
                  "jobIds"
                ]
              }
            }
          }
        },
        "operationId": "EmployeeHierarchyController.getTrainerAssignedGradeCodes"
      }
    },
    "/hierarchy/trainer/job-codes": {
      "post": {
        "x-controller-name": "EmployeeHierarchyController",
        "x-operation-name": "getTrainerAssignedJobCodes",
        "tags": [
          "EmployeeHierarchyController"
        ],
        "responses": {
          "200": {
            "description": "Get job codes for departments assigned to current user (Trainer role)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "number"
                      },
                      "name": {
                        "type": "string"
                      },
                      "count": {
                        "type": "number"
                      },
                      "parentDepartmentId": {
                        "type": "number"
                      },
                      "parentWorkerType": {
                        "type": "string"
                      },
                      "parentBusinessUnitId": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "departmentIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "workerTypes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "businessUnitIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  }
                },
                "required": [
                  "departmentIds"
                ]
              }
            }
          }
        },
        "operationId": "EmployeeHierarchyController.getTrainerAssignedJobCodes"
      }
    },
    "/hierarchy/worker-types": {
      "get": {
        "x-controller-name": "EmployeeHierarchyController",
        "x-operation-name": "getAllWorkerTypes",
        "tags": [
          "EmployeeHierarchyController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Get all unique worker types across all job codes"
                }
              }
            }
          }
        },
        "operationId": "EmployeeHierarchyController.getAllWorkerTypes"
      }
    },
    "/job-codes/get-grade-codes": {
      "post": {
        "x-controller-name": "EmployeeHierarchyController",
        "x-operation-name": "getGradeCodesByJobCodes",
        "tags": [
          "EmployeeHierarchyController"
        ],
        "responses": {
          "200": {
            "description": "Get grade codes for multiple job codes with optional business unit, worker type and department filtering",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "number"
                      },
                      "name": {
                        "type": "string"
                      },
                      "count": {
                        "type": "number"
                      },
                      "parentId": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "jobIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "businessUnitIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "workerTypes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "departmentIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  }
                },
                "required": [
                  "jobIds"
                ]
              }
            }
          }
        },
        "operationId": "EmployeeHierarchyController.getGradeCodesByJobCodes"
      }
    },
    "/knowledge-areas/count": {
      "get": {
        "x-controller-name": "KnowledgeAreaController",
        "x-operation-name": "count",
        "tags": [
          "KnowledgeAreaController"
        ],
        "responses": {
          "200": {
            "description": "KnowledgeArea model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "KnowledgeArea.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<KnowledgeArea>"
                }
              }
            }
          }
        ],
        "operationId": "KnowledgeAreaController.count"
      }
    },
    "/knowledge-areas/{id}/knowledge-topics": {
      "post": {
        "x-controller-name": "KnowledgeAreaController",
        "x-operation-name": "createKnowledgeTopic",
        "tags": [
          "KnowledgeAreaController"
        ],
        "responses": {
          "200": {
            "description": "KnowledgeArea model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeTopic"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewKnowledgeTopicInKnowledgeArea"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "KnowledgeAreaController.createKnowledgeTopic"
      },
      "get": {
        "x-controller-name": "KnowledgeAreaController",
        "x-operation-name": "findKnowledgeTopics",
        "tags": [
          "KnowledgeAreaController"
        ],
        "responses": {
          "200": {
            "description": "Array of KnowledgeArea has many KnowledgeTopic with counts",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/KnowledgeTopic"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "KnowledgeAreaController.findKnowledgeTopics"
      },
      "delete": {
        "x-controller-name": "KnowledgeAreaController",
        "x-operation-name": "deleteKnowledgeTopics",
        "tags": [
          "KnowledgeAreaController"
        ],
        "responses": {
          "200": {
            "description": "KnowledgeArea.KnowledgeTopic DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "KnowledgeAreaController.deleteKnowledgeTopics"
      }
    },
    "/knowledge-areas/{id}": {
      "put": {
        "x-controller-name": "KnowledgeAreaController",
        "x-operation-name": "replaceById",
        "tags": [
          "KnowledgeAreaController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "KnowledgeArea PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeArea"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "KnowledgeAreaController.replaceById"
      },
      "patch": {
        "x-controller-name": "KnowledgeAreaController",
        "x-operation-name": "updateById",
        "tags": [
          "KnowledgeAreaController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "KnowledgeArea PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeAreaPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "KnowledgeAreaController.updateById"
      },
      "get": {
        "x-controller-name": "KnowledgeAreaController",
        "x-operation-name": "findById",
        "tags": [
          "KnowledgeAreaController"
        ],
        "responses": {
          "200": {
            "description": "KnowledgeArea model instance with counts",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeAreaWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeArea.Filter"
                }
              }
            }
          }
        ],
        "operationId": "KnowledgeAreaController.findById"
      },
      "delete": {
        "x-controller-name": "KnowledgeAreaController",
        "x-operation-name": "deleteById",
        "tags": [
          "KnowledgeAreaController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "KnowledgeArea DELETE success with cascading deletes"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "KnowledgeAreaController.deleteById"
      }
    },
    "/knowledge-areas": {
      "post": {
        "x-controller-name": "KnowledgeAreaController",
        "x-operation-name": "create",
        "tags": [
          "KnowledgeAreaController"
        ],
        "responses": {
          "200": {
            "description": "KnowledgeArea model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeArea"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewKnowledgeArea"
              }
            }
          }
        },
        "operationId": "KnowledgeAreaController.create"
      },
      "patch": {
        "x-controller-name": "KnowledgeAreaController",
        "x-operation-name": "updateAll",
        "tags": [
          "KnowledgeAreaController"
        ],
        "responses": {
          "200": {
            "description": "KnowledgeArea PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "KnowledgeArea.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<KnowledgeArea>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeAreaPartial"
              }
            }
          }
        },
        "operationId": "KnowledgeAreaController.updateAll"
      },
      "get": {
        "x-controller-name": "KnowledgeAreaController",
        "x-operation-name": "find",
        "tags": [
          "KnowledgeAreaController"
        ],
        "responses": {
          "200": {
            "description": "Array of KnowledgeArea model instances with counts",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/KnowledgeAreaWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeArea.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "KnowledgeAreaController.find"
      }
    },
    "/knowledge-hierarchy": {
      "get": {
        "x-controller-name": "KnowledgeAreaController",
        "x-operation-name": "getKnowledgeHierarchy",
        "tags": [
          "KnowledgeAreaController"
        ],
        "responses": {
          "200": {
            "description": "Knowledge hierarchy grouped by unit with difficulty counts",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "areaId": {
                        "type": "string"
                      },
                      "areaName": {
                        "type": "string"
                      },
                      "topicId": {
                        "type": "string"
                      },
                      "topicName": {
                        "type": "string"
                      },
                      "unitId": {
                        "type": "string"
                      },
                      "unitName": {
                        "type": "string"
                      },
                      "difficulty": {
                        "type": "object",
                        "properties": {
                          "Easy": {
                            "type": "number"
                          },
                          "Medium": {
                            "type": "number"
                          },
                          "High": {
                            "type": "number"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "KnowledgeAreaController.getKnowledgeHierarchy"
      }
    },
    "/knowledge-topic-assignments/online": {
      "get": {
        "x-controller-name": "KnowledgeTopicAssignmentController",
        "x-operation-name": "findOnline",
        "tags": [
          "KnowledgeTopicAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "Array of KnowledgeTopicAssignment model instances with hierarchy names and only Online knowledge units",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "knowledgeTopicsWithNames": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            },
                            "knowledgeAreaName": {
                              "type": "string"
                            },
                            "knowledgeUnits": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "id": {
                                    "type": "string"
                                  },
                                  "name": {
                                    "type": "string"
                                  },
                                  "description": {
                                    "type": "string"
                                  },
                                  "order": {
                                    "type": "number"
                                  },
                                  "type": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        }
                      },
                      "businessUnitsWithNames": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "number"
                            },
                            "name": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "departmentsWithNames": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "number"
                            },
                            "name": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "jobCodesWithNames": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "number"
                            },
                            "name": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "workerTypesWithNames": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "gradeCodesWithNames": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "number"
                            },
                            "name": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "userCount": {
                        "type": "number"
                      },
                      "status": {
                        "type": "string"
                      },
                      "assignedDate": {
                        "type": "string"
                      },
                      "assignedBy": {
                        "type": "string"
                      },
                      "notes": {
                        "type": "string"
                      },
                      "created": {
                        "type": "string"
                      },
                      "updated": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "KnowledgeTopicAssignmentController.findOnline"
      }
    },
    "/knowledge-topic-assignments/topic/{topicId}/assigned-levels": {
      "get": {
        "x-controller-name": "KnowledgeTopicAssignmentController",
        "x-operation-name": "getAssignedLevelsForTopic",
        "tags": [
          "KnowledgeTopicAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "Get all assigned levels (with IDs and names) for a specific knowledge topic",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "topicId": {
                      "type": "string"
                    },
                    "businessUnits": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "number"
                          },
                          "name": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "departments": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "number"
                          },
                          "name": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "jobCodes": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "number"
                          },
                          "name": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "workerTypes": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "gradeCodes": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "number"
                          },
                          "name": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "topicId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "KnowledgeTopicAssignmentController.getAssignedLevelsForTopic"
      }
    },
    "/knowledge-topic-assignments/topic/{topicId}/users/count": {
      "get": {
        "x-controller-name": "KnowledgeTopicAssignmentController",
        "x-operation-name": "getUserCountForTopic",
        "tags": [
          "KnowledgeTopicAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "Get user count for all assignments of a specific knowledge topic",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "topicId": {
                      "type": "string"
                    },
                    "userCount": {
                      "type": "number"
                    },
                    "assignedLevels": {
                      "type": "object",
                      "properties": {
                        "businessUnits": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "name": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "departments": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "name": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "jobCodes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "name": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "workerTypes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "gradeCodes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "name": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "topicId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "KnowledgeTopicAssignmentController.getUserCountForTopic"
      }
    },
    "/knowledge-topic-assignments/{id}/users/count": {
      "get": {
        "x-controller-name": "KnowledgeTopicAssignmentController",
        "x-operation-name": "getUserCountForAssignment",
        "tags": [
          "KnowledgeTopicAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "Count of users assigned to the knowledge topic assignment",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "assignmentId": {
                      "type": "string"
                    },
                    "userCount": {
                      "type": "number"
                    },
                    "assignedLevels": {
                      "type": "object",
                      "properties": {
                        "businessUnits": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "name": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "departments": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "name": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "jobCodes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "name": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "workerTypes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "gradeCodes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "name": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "KnowledgeTopicAssignmentController.getUserCountForAssignment"
      }
    },
    "/knowledge-topic-assignments/{id}/users": {
      "get": {
        "x-controller-name": "KnowledgeTopicAssignmentController",
        "x-operation-name": "getUsersForAssignment",
        "tags": [
          "KnowledgeTopicAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "Array of users assigned to the knowledge topic assignment",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "uniqueId": {
                        "type": "number"
                      },
                      "employeeId": {
                        "type": "string"
                      },
                      "dateOfJoining": {
                        "type": "string"
                      },
                      "email": {
                        "type": "string"
                      },
                      "firstName": {
                        "type": "string"
                      },
                      "lastName": {
                        "type": "string"
                      },
                      "title": {
                        "type": "string"
                      },
                      "workerType": {
                        "type": "string"
                      },
                      "status": {
                        "type": "string"
                      },
                      "resigningDate": {
                        "type": "string"
                      },
                      "businessUnit": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "number"
                          },
                          "name": {
                            "type": "string"
                          }
                        }
                      },
                      "job": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "number"
                          },
                          "name": {
                            "type": "string"
                          }
                        }
                      },
                      "grade": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "number"
                          },
                          "name": {
                            "type": "string"
                          }
                        }
                      },
                      "department": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "number"
                          },
                          "name": {
                            "type": "string"
                          }
                        }
                      },
                      "location": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "number"
                          },
                          "name": {
                            "type": "string"
                          }
                        }
                      },
                      "created": {
                        "type": "string"
                      },
                      "updated": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "KnowledgeTopicAssignmentController.getUsersForAssignment"
      }
    },
    "/knowledge-topic-assignments/{id}": {
      "patch": {
        "x-controller-name": "KnowledgeTopicAssignmentController",
        "x-operation-name": "updateById",
        "tags": [
          "KnowledgeTopicAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "KnowledgeTopicAssignment PATCH success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "assignment": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "knowledgeTopicId": {
                    "type": "string"
                  },
                  "businessUnitIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "departmentIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "jobCodeIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "workerTypeIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "gradeCodeIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "assignedBy": {
                    "type": "string"
                  },
                  "notes": {
                    "type": "string"
                  },
                  "expiryDate": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "KnowledgeTopicAssignmentController.updateById"
      },
      "delete": {
        "x-controller-name": "KnowledgeTopicAssignmentController",
        "x-operation-name": "deleteById",
        "tags": [
          "KnowledgeTopicAssignmentController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "KnowledgeTopicAssignment DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "KnowledgeTopicAssignmentController.deleteById"
      }
    },
    "/knowledge-topic-assignments": {
      "post": {
        "x-controller-name": "KnowledgeTopicAssignmentController",
        "x-operation-name": "createAssignment",
        "tags": [
          "KnowledgeTopicAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "Create knowledge topic assignment",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "assignmentId": {
                      "type": "string"
                    },
                    "assignedTopics": {
                      "type": "number"
                    },
                    "assignment": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "knowledgeTopicsWithNames": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              },
                              "knowledgeAreaName": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "businessUnitsWithNames": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "name": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "departmentsWithNames": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "name": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "jobCodesWithNames": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "name": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "workerTypesWithNames": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "gradeCodesWithNames": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "number"
                              },
                              "name": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "status": {
                          "type": "string"
                        },
                        "assignedDate": {
                          "type": "string"
                        },
                        "assignedBy": {
                          "type": "string"
                        },
                        "notes": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "knowledgeTopicId": {
                    "type": "string"
                  },
                  "businessUnitIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "departmentIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "jobCodeIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "workerTypeIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "gradeCodeIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "assignedBy": {
                    "type": "string"
                  },
                  "notes": {
                    "type": "string"
                  },
                  "expiryDate": {
                    "type": "string"
                  }
                },
                "required": [
                  "knowledgeTopicId"
                ]
              }
            }
          }
        },
        "operationId": "KnowledgeTopicAssignmentController.createAssignment"
      },
      "get": {
        "x-controller-name": "KnowledgeTopicAssignmentController",
        "x-operation-name": "find",
        "tags": [
          "KnowledgeTopicAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "Array of KnowledgeTopicAssignment model instances with hierarchy names",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "knowledgeTopicsWithNames": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            },
                            "knowledgeAreaName": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "businessUnitsWithNames": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "number"
                            },
                            "name": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "departmentsWithNames": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "number"
                            },
                            "name": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "jobCodesWithNames": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "number"
                            },
                            "name": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "workerTypesWithNames": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "gradeCodesWithNames": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "number"
                            },
                            "name": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "userCount": {
                        "type": "number"
                      },
                      "status": {
                        "type": "string"
                      },
                      "assignedDate": {
                        "type": "string"
                      },
                      "assignedBy": {
                        "type": "string"
                      },
                      "notes": {
                        "type": "string"
                      },
                      "created": {
                        "type": "string"
                      },
                      "updated": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "KnowledgeTopicAssignmentController.find"
      }
    },
    "/knowledge-topics/count": {
      "get": {
        "x-controller-name": "KnowledgeTopicController",
        "x-operation-name": "count",
        "tags": [
          "KnowledgeTopicController"
        ],
        "responses": {
          "200": {
            "description": "KnowledgeTopic model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "KnowledgeTopic.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<KnowledgeTopic>"
                }
              }
            }
          }
        ],
        "operationId": "KnowledgeTopicController.count"
      }
    },
    "/knowledge-topics/{id}/knowledge-units": {
      "post": {
        "x-controller-name": "KnowledgeTopicController",
        "x-operation-name": "createKnowledgeUnit",
        "tags": [
          "KnowledgeTopicController"
        ],
        "responses": {
          "200": {
            "description": "KnowledgeTopic model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeUnit"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewKnowledgeUnitInKnowledgeTopic"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "KnowledgeTopicController.createKnowledgeUnit"
      },
      "get": {
        "x-controller-name": "KnowledgeTopicController",
        "x-operation-name": "findKnowledgeUnits",
        "tags": [
          "KnowledgeTopicController"
        ],
        "responses": {
          "200": {
            "description": "Array of KnowledgeTopic has many KnowledgeUnit",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/KnowledgeUnit"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "KnowledgeTopicController.findKnowledgeUnits"
      },
      "delete": {
        "x-controller-name": "KnowledgeTopicController",
        "x-operation-name": "deleteKnowledgeUnits",
        "tags": [
          "KnowledgeTopicController"
        ],
        "responses": {
          "200": {
            "description": "KnowledgeTopic.KnowledgeUnit DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "KnowledgeTopicController.deleteKnowledgeUnits"
      }
    },
    "/knowledge-topics/{id}": {
      "put": {
        "x-controller-name": "KnowledgeTopicController",
        "x-operation-name": "replaceById",
        "tags": [
          "KnowledgeTopicController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "KnowledgeTopic PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeTopic"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "KnowledgeTopicController.replaceById"
      },
      "patch": {
        "x-controller-name": "KnowledgeTopicController",
        "x-operation-name": "updateById",
        "tags": [
          "KnowledgeTopicController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "KnowledgeTopic PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeTopicPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "KnowledgeTopicController.updateById"
      },
      "get": {
        "x-controller-name": "KnowledgeTopicController",
        "x-operation-name": "findById",
        "tags": [
          "KnowledgeTopicController"
        ],
        "responses": {
          "200": {
            "description": "KnowledgeTopic model instance with counts",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeTopicWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeTopic.Filter"
                }
              }
            }
          }
        ],
        "operationId": "KnowledgeTopicController.findById"
      },
      "delete": {
        "x-controller-name": "KnowledgeTopicController",
        "x-operation-name": "deleteById",
        "tags": [
          "KnowledgeTopicController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "KnowledgeTopic DELETE success with cascading deletes"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "KnowledgeTopicController.deleteById"
      }
    },
    "/knowledge-topics": {
      "post": {
        "x-controller-name": "KnowledgeTopicController",
        "x-operation-name": "create",
        "tags": [
          "KnowledgeTopicController"
        ],
        "responses": {
          "200": {
            "description": "KnowledgeTopic model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeTopic"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewKnowledgeTopic"
              }
            }
          }
        },
        "operationId": "KnowledgeTopicController.create"
      },
      "patch": {
        "x-controller-name": "KnowledgeTopicController",
        "x-operation-name": "updateAll",
        "tags": [
          "KnowledgeTopicController"
        ],
        "responses": {
          "200": {
            "description": "KnowledgeTopic PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "KnowledgeTopic.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<KnowledgeTopic>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeTopicPartial"
              }
            }
          }
        },
        "operationId": "KnowledgeTopicController.updateAll"
      },
      "get": {
        "x-controller-name": "KnowledgeTopicController",
        "x-operation-name": "find",
        "tags": [
          "KnowledgeTopicController"
        ],
        "responses": {
          "200": {
            "description": "Array of KnowledgeTopic model instances with counts",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/KnowledgeTopicWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeTopic.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "KnowledgeTopicController.find"
      }
    },
    "/knowledge-units/count": {
      "get": {
        "x-controller-name": "KnowledgeUnitController",
        "x-operation-name": "count",
        "tags": [
          "KnowledgeUnitController"
        ],
        "responses": {
          "200": {
            "description": "KnowledgeUnit model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "KnowledgeUnit.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<KnowledgeUnit>"
                }
              }
            }
          }
        ],
        "operationId": "KnowledgeUnitController.count"
      }
    },
    "/knowledge-units/{id}/knowledge-area": {
      "get": {
        "x-controller-name": "KnowledgeUnitKnowledgeAreaController",
        "x-operation-name": "getKnowledgeArea",
        "tags": [
          "KnowledgeUnitKnowledgeAreaController"
        ],
        "responses": {
          "200": {
            "description": "KnowledgeArea belonging to KnowledgeUnit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeArea"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "KnowledgeUnitKnowledgeAreaController.getKnowledgeArea"
      }
    },
    "/knowledge-units/{id}/question-banks": {
      "post": {
        "x-controller-name": "KnowledgeUnitController",
        "x-operation-name": "createQuestionBank",
        "tags": [
          "KnowledgeUnitController"
        ],
        "responses": {
          "200": {
            "description": "KnowledgeUnit model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionBank"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewQuestionBankInKnowledgeUnit"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "KnowledgeUnitController.createQuestionBank"
      },
      "get": {
        "x-controller-name": "KnowledgeUnitController",
        "x-operation-name": "findQuestionBanks",
        "tags": [
          "KnowledgeUnitController"
        ],
        "responses": {
          "200": {
            "description": "Array of KnowledgeUnit has many QuestionBank",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuestionBank"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "KnowledgeUnitController.findQuestionBanks"
      },
      "delete": {
        "x-controller-name": "KnowledgeUnitController",
        "x-operation-name": "deleteQuestionBanks",
        "tags": [
          "KnowledgeUnitController"
        ],
        "responses": {
          "200": {
            "description": "KnowledgeUnit.QuestionBank DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "KnowledgeUnitController.deleteQuestionBanks"
      }
    },
    "/knowledge-units/{id}": {
      "put": {
        "x-controller-name": "KnowledgeUnitController",
        "x-operation-name": "replaceById",
        "tags": [
          "KnowledgeUnitController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "KnowledgeUnit PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeUnit"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "KnowledgeUnitController.replaceById"
      },
      "patch": {
        "x-controller-name": "KnowledgeUnitController",
        "x-operation-name": "updateById",
        "tags": [
          "KnowledgeUnitController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "KnowledgeUnit PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeUnitPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "KnowledgeUnitController.updateById"
      },
      "get": {
        "x-controller-name": "KnowledgeUnitController",
        "x-operation-name": "findById",
        "tags": [
          "KnowledgeUnitController"
        ],
        "responses": {
          "200": {
            "description": "KnowledgeUnit model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeUnitWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeUnit.Filter"
                }
              }
            }
          }
        ],
        "operationId": "KnowledgeUnitController.findById"
      },
      "delete": {
        "x-controller-name": "KnowledgeUnitController",
        "x-operation-name": "deleteById",
        "tags": [
          "KnowledgeUnitController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "KnowledgeUnit DELETE success with cascading deletes"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "KnowledgeUnitController.deleteById"
      }
    },
    "/knowledge-units": {
      "post": {
        "x-controller-name": "KnowledgeUnitController",
        "x-operation-name": "create",
        "tags": [
          "KnowledgeUnitController"
        ],
        "responses": {
          "200": {
            "description": "KnowledgeUnit model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeUnit"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewKnowledgeUnit"
              }
            }
          }
        },
        "operationId": "KnowledgeUnitController.create"
      },
      "patch": {
        "x-controller-name": "KnowledgeUnitController",
        "x-operation-name": "updateAll",
        "tags": [
          "KnowledgeUnitController"
        ],
        "responses": {
          "200": {
            "description": "KnowledgeUnit PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "KnowledgeUnit.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<KnowledgeUnit>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KnowledgeUnitPartial"
              }
            }
          }
        },
        "operationId": "KnowledgeUnitController.updateAll"
      },
      "get": {
        "x-controller-name": "KnowledgeUnitController",
        "x-operation-name": "find",
        "tags": [
          "KnowledgeUnitController"
        ],
        "responses": {
          "200": {
            "description": "Array of KnowledgeUnit model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/KnowledgeUnitWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeUnit.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "KnowledgeUnitController.find"
      }
    },
    "/master-data/attendance": {
      "get": {
        "x-controller-name": "TrainingMasterDataController",
        "x-operation-name": "getAttendanceMasterData",
        "tags": [
          "TrainingMasterDataController"
        ],
        "responses": {
          "200": {
            "description": "Detailed attendance master data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "attendanceId": {
                            "type": "string"
                          },
                          "sessionId": {
                            "type": "string"
                          },
                          "learnerId": {
                            "type": "string"
                          },
                          "learnerName": {
                            "type": "string"
                          },
                          "learnerEmployeeId": {
                            "type": "string"
                          },
                          "attendanceType": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string"
                          },
                          "markedAt": {
                            "type": "string"
                          },
                          "markedByName": {
                            "type": "string"
                          },
                          "location": {
                            "type": "object"
                          },
                          "ipAddress": {
                            "type": "string"
                          },
                          "deviceInfo": {
                            "type": "object"
                          },
                          "notes": {
                            "type": "string"
                          },
                          "trainingTitle": {
                            "type": "string"
                          },
                          "knowledgeAreaName": {
                            "type": "string"
                          },
                          "knowledgeTopicName": {
                            "type": "string"
                          },
                          "knowledgeUnitName": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "summary": {
                      "type": "object",
                      "properties": {
                        "totalRecords": {
                          "type": "number"
                        },
                        "punchInRecords": {
                          "type": "number"
                        },
                        "punchOutRecords": {
                          "type": "number"
                        },
                        "initialAttendanceRecords": {
                          "type": "number"
                        },
                        "manualCorrectionRecords": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "fromDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "attendanceType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sessionId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "TrainingMasterDataController.getAttendanceMasterData"
      }
    },
    "/master-data/participation-summary": {
      "get": {
        "x-controller-name": "TrainingMasterDataController",
        "x-operation-name": "getParticipationSummary",
        "tags": [
          "TrainingMasterDataController"
        ],
        "responses": {
          "200": {
            "description": "Participation summary and statistics",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "overallStats": {
                      "type": "object",
                      "properties": {
                        "totalAssignments": {
                          "type": "number"
                        },
                        "totalSessions": {
                          "type": "number"
                        },
                        "totalLearners": {
                          "type": "number"
                        },
                        "completionRate": {
                          "type": "number"
                        },
                        "averageScore": {
                          "type": "number"
                        },
                        "totalTimeSpent": {
                          "type": "number"
                        }
                      }
                    },
                    "byKnowledgeArea": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "knowledgeAreaId": {
                            "type": "string"
                          },
                          "knowledgeAreaName": {
                            "type": "string"
                          },
                          "totalSessions": {
                            "type": "number"
                          },
                          "completedSessions": {
                            "type": "number"
                          },
                          "completionRate": {
                            "type": "number"
                          },
                          "averagePreTestScore": {
                            "type": "number"
                          },
                          "averagePostTestScore": {
                            "type": "number"
                          }
                        }
                      }
                    },
                    "byBusinessUnit": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "businessUnit": {
                            "type": "string"
                          },
                          "totalSessions": {
                            "type": "number"
                          },
                          "completedSessions": {
                            "type": "number"
                          },
                          "completionRate": {
                            "type": "number"
                          },
                          "averageScore": {
                            "type": "number"
                          }
                        }
                      }
                    },
                    "byDepartment": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "department": {
                            "type": "string"
                          },
                          "totalSessions": {
                            "type": "number"
                          },
                          "completedSessions": {
                            "type": "number"
                          },
                          "completionRate": {
                            "type": "number"
                          },
                          "averageScore": {
                            "type": "number"
                          }
                        }
                      }
                    },
                    "recentActivity": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "date": {
                            "type": "string"
                          },
                          "sessionsStarted": {
                            "type": "number"
                          },
                          "sessionsCompleted": {
                            "type": "number"
                          },
                          "testsCompleted": {
                            "type": "number"
                          },
                          "attendanceMarked": {
                            "type": "number"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "fromDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "knowledgeAreaId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "businessUnit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "TrainingMasterDataController.getParticipationSummary"
      }
    },
    "/master-data/test-results": {
      "get": {
        "x-controller-name": "TrainingMasterDataController",
        "x-operation-name": "getTestResultsMasterData",
        "tags": [
          "TrainingMasterDataController"
        ],
        "responses": {
          "200": {
            "description": "Comprehensive test results master data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "testId": {
                            "type": "string"
                          },
                          "sessionId": {
                            "type": "string"
                          },
                          "learnerId": {
                            "type": "string"
                          },
                          "learnerName": {
                            "type": "string"
                          },
                          "learnerEmployeeId": {
                            "type": "string"
                          },
                          "testType": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string"
                          },
                          "startedAt": {
                            "type": "string"
                          },
                          "completedAt": {
                            "type": "string"
                          },
                          "timeLimit": {
                            "type": "number"
                          },
                          "passingScore": {
                            "type": "number"
                          },
                          "totalQuestions": {
                            "type": "number"
                          },
                          "correctAnswers": {
                            "type": "number"
                          },
                          "incorrectAnswers": {
                            "type": "number"
                          },
                          "totalScore": {
                            "type": "number"
                          },
                          "percentage": {
                            "type": "number"
                          },
                          "passed": {
                            "type": "boolean"
                          },
                          "timeSpent": {
                            "type": "number"
                          },
                          "easyTotal": {
                            "type": "number"
                          },
                          "easyCorrect": {
                            "type": "number"
                          },
                          "mediumTotal": {
                            "type": "number"
                          },
                          "mediumCorrect": {
                            "type": "number"
                          },
                          "hardTotal": {
                            "type": "number"
                          },
                          "hardCorrect": {
                            "type": "number"
                          },
                          "trainingTitle": {
                            "type": "string"
                          },
                          "knowledgeAreaName": {
                            "type": "string"
                          },
                          "knowledgeTopicName": {
                            "type": "string"
                          },
                          "knowledgeUnitName": {
                            "type": "string"
                          },
                          "questions": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "questionId": {
                                  "type": "string"
                                },
                                "question": {
                                  "type": "string"
                                },
                                "difficulty": {
                                  "type": "string"
                                },
                                "selectedOptions": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "correctOptions": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  }
                                },
                                "isCorrect": {
                                  "type": "boolean"
                                },
                                "score": {
                                  "type": "number"
                                },
                                "timeSpent": {
                                  "type": "number"
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "summary": {
                      "type": "object",
                      "properties": {
                        "totalTests": {
                          "type": "number"
                        },
                        "completedTests": {
                          "type": "number"
                        },
                        "preTests": {
                          "type": "number"
                        },
                        "postTests": {
                          "type": "number"
                        },
                        "averageScore": {
                          "type": "number"
                        },
                        "passRate": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "fromDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "testType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sessionId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeQuestions",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "TrainingMasterDataController.getTestResultsMasterData"
      }
    },
    "/master-data/training-assignment/{id}": {
      "get": {
        "x-controller-name": "TrainingMasterDataController",
        "x-operation-name": "getTrainingAssignmentDetails",
        "tags": [
          "TrainingMasterDataController"
        ],
        "responses": {
          "200": {
            "description": "Comprehensive training assignment details",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "assignmentId": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "fromDatetime": {
                      "type": "string"
                    },
                    "toDatetime": {
                      "type": "string"
                    },
                    "totalHours": {
                      "type": "number"
                    },
                    "location": {
                      "type": "string"
                    },
                    "capacity": {
                      "type": "number"
                    },
                    "status": {
                      "type": "string"
                    },
                    "isAllDay": {
                      "type": "boolean"
                    },
                    "repeatOption": {
                      "type": "string"
                    },
                    "created": {
                      "type": "string"
                    },
                    "updated": {
                      "type": "string"
                    },
                    "knowledgeArea": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "description": {
                          "type": "string"
                        }
                      }
                    },
                    "knowledgeTopic": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "description": {
                          "type": "string"
                        }
                      }
                    },
                    "knowledgeUnit": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "description": {
                          "type": "string"
                        },
                        "preTestEnabled": {
                          "type": "boolean"
                        },
                        "postTestEnabled": {
                          "type": "boolean"
                        },
                        "postTestSameAsPreTest": {
                          "type": "string"
                        }
                      }
                    },
                    "trainer": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "employeeId": {
                          "type": "string"
                        },
                        "firstName": {
                          "type": "string"
                        },
                        "lastName": {
                          "type": "string"
                        },
                        "email": {
                          "type": "string"
                        },
                        "departmentCode": {
                          "type": "string"
                        },
                        "businessUnitName": {
                          "type": "string"
                        }
                      }
                    },
                    "targetCriteria": {
                      "type": "object",
                      "properties": {
                        "businessUnitIds": {
                          "type": "array",
                          "items": {
                            "type": "number"
                          }
                        },
                        "departmentIds": {
                          "type": "array",
                          "items": {
                            "type": "number"
                          }
                        },
                        "jobCodeIds": {
                          "type": "array",
                          "items": {
                            "type": "number"
                          }
                        },
                        "workerTypes": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "gradeCodeIds": {
                          "type": "array",
                          "items": {
                            "type": "number"
                          }
                        }
                      }
                    },
                    "nominationStats": {
                      "type": "object",
                      "properties": {
                        "totalNominations": {
                          "type": "number"
                        },
                        "pendingNominations": {
                          "type": "number"
                        },
                        "approvedNominations": {
                          "type": "number"
                        },
                        "rejectedNominations": {
                          "type": "number"
                        },
                        "selfNominations": {
                          "type": "number"
                        },
                        "otherNominations": {
                          "type": "number"
                        }
                      }
                    },
                    "sessionStats": {
                      "type": "object",
                      "properties": {
                        "totalSessions": {
                          "type": "number"
                        },
                        "notStartedSessions": {
                          "type": "number"
                        },
                        "inProgressSessions": {
                          "type": "number"
                        },
                        "completedSessions": {
                          "type": "number"
                        },
                        "cancelledSessions": {
                          "type": "number"
                        }
                      }
                    },
                    "attendanceStats": {
                      "type": "object",
                      "properties": {
                        "totalAttendanceRecords": {
                          "type": "number"
                        },
                        "uniqueAttendeesCount": {
                          "type": "number"
                        },
                        "totalTimeSpentMinutes": {
                          "type": "number"
                        },
                        "averageTimeSpentMinutes": {
                          "type": "number"
                        },
                        "punchInRecords": {
                          "type": "number"
                        },
                        "punchOutRecords": {
                          "type": "number"
                        }
                      }
                    },
                    "testStats": {
                      "type": "object",
                      "properties": {
                        "totalPreTests": {
                          "type": "number"
                        },
                        "completedPreTests": {
                          "type": "number"
                        },
                        "totalPostTests": {
                          "type": "number"
                        },
                        "completedPostTests": {
                          "type": "number"
                        },
                        "averagePreTestScore": {
                          "type": "number"
                        },
                        "averagePostTestScore": {
                          "type": "number"
                        },
                        "preTestPassRate": {
                          "type": "number"
                        },
                        "postTestPassRate": {
                          "type": "number"
                        }
                      }
                    },
                    "nominations": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "nominationId": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string"
                          },
                          "nominationType": {
                            "type": "string"
                          },
                          "nominatedAt": {
                            "type": "string"
                          },
                          "reviewedAt": {
                            "type": "string"
                          },
                          "rejectionReason": {
                            "type": "string"
                          },
                          "notes": {
                            "type": "string"
                          },
                          "nominatedUser": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "employeeId": {
                                "type": "string"
                              },
                              "firstName": {
                                "type": "string"
                              },
                              "lastName": {
                                "type": "string"
                              },
                              "email": {
                                "type": "string"
                              },
                              "departmentCode": {
                                "type": "string"
                              },
                              "businessUnitName": {
                                "type": "string"
                              }
                            }
                          },
                          "nominatedByUser": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "employeeId": {
                                "type": "string"
                              },
                              "firstName": {
                                "type": "string"
                              },
                              "lastName": {
                                "type": "string"
                              },
                              "email": {
                                "type": "string"
                              }
                            }
                          },
                          "reviewedByUser": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "employeeId": {
                                "type": "string"
                              },
                              "firstName": {
                                "type": "string"
                              },
                              "lastName": {
                                "type": "string"
                              },
                              "email": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    },
                    "individualLearners": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "learnerId": {
                            "type": "string"
                          },
                          "learnerEmployeeId": {
                            "type": "string"
                          },
                          "learnerName": {
                            "type": "string"
                          },
                          "learnerEmail": {
                            "type": "string"
                          },
                          "learnerDepartment": {
                            "type": "string"
                          },
                          "learnerBusinessUnit": {
                            "type": "string"
                          },
                          "learnerJobCode": {
                            "type": "string"
                          },
                          "learnerGradeCode": {
                            "type": "string"
                          },
                          "nominationId": {
                            "type": "string"
                          },
                          "nominationStatus": {
                            "type": "string"
                          },
                          "nominationType": {
                            "type": "string"
                          },
                          "nominatedAt": {
                            "type": "string"
                          },
                          "nominatedBy": {
                            "type": "string"
                          },
                          "reviewedAt": {
                            "type": "string"
                          },
                          "reviewedBy": {
                            "type": "string"
                          },
                          "sessionId": {
                            "type": "string"
                          },
                          "sessionStatus": {
                            "type": "string"
                          },
                          "sessionStartedAt": {
                            "type": "string"
                          },
                          "sessionCompletedAt": {
                            "type": "string"
                          },
                          "sessionNotes": {
                            "type": "string"
                          },
                          "preTest": {
                            "type": "object",
                            "properties": {
                              "testId": {
                                "type": "string"
                              },
                              "status": {
                                "type": "string"
                              },
                              "startedAt": {
                                "type": "string"
                              },
                              "completedAt": {
                                "type": "string"
                              },
                              "timeLimit": {
                                "type": "number"
                              },
                              "passingScore": {
                                "type": "number"
                              },
                              "totalQuestions": {
                                "type": "number"
                              },
                              "correctAnswers": {
                                "type": "number"
                              },
                              "incorrectAnswers": {
                                "type": "number"
                              },
                              "totalScore": {
                                "type": "number"
                              },
                              "percentage": {
                                "type": "number"
                              },
                              "passed": {
                                "type": "boolean"
                              },
                              "timeSpent": {
                                "type": "number"
                              },
                              "questions": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "questionId": {
                                      "type": "string"
                                    },
                                    "question": {
                                      "type": "string"
                                    },
                                    "difficulty": {
                                      "type": "string"
                                    },
                                    "selectedOptions": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    },
                                    "correctOptions": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    },
                                    "isCorrect": {
                                      "type": "boolean"
                                    },
                                    "score": {
                                      "type": "number"
                                    },
                                    "timeSpent": {
                                      "type": "number"
                                    }
                                  }
                                }
                              }
                            }
                          },
                          "postTest": {
                            "type": "object",
                            "properties": {
                              "testId": {
                                "type": "string"
                              },
                              "status": {
                                "type": "string"
                              },
                              "startedAt": {
                                "type": "string"
                              },
                              "completedAt": {
                                "type": "string"
                              },
                              "timeLimit": {
                                "type": "number"
                              },
                              "passingScore": {
                                "type": "number"
                              },
                              "totalQuestions": {
                                "type": "number"
                              },
                              "correctAnswers": {
                                "type": "number"
                              },
                              "incorrectAnswers": {
                                "type": "number"
                              },
                              "totalScore": {
                                "type": "number"
                              },
                              "percentage": {
                                "type": "number"
                              },
                              "passed": {
                                "type": "boolean"
                              },
                              "timeSpent": {
                                "type": "number"
                              },
                              "questions": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "questionId": {
                                      "type": "string"
                                    },
                                    "question": {
                                      "type": "string"
                                    },
                                    "difficulty": {
                                      "type": "string"
                                    },
                                    "selectedOptions": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    },
                                    "correctOptions": {
                                      "type": "array",
                                      "items": {
                                        "type": "string"
                                      }
                                    },
                                    "isCorrect": {
                                      "type": "boolean"
                                    },
                                    "score": {
                                      "type": "number"
                                    },
                                    "timeSpent": {
                                      "type": "number"
                                    }
                                  }
                                }
                              }
                            }
                          },
                          "attendanceRecords": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "attendanceId": {
                                  "type": "string"
                                },
                                "attendanceType": {
                                  "type": "string"
                                },
                                "status": {
                                  "type": "string"
                                },
                                "markedAt": {
                                  "type": "string"
                                },
                                "markedByName": {
                                  "type": "string"
                                },
                                "notes": {
                                  "type": "string"
                                },
                                "ipAddress": {
                                  "type": "string"
                                },
                                "location": {
                                  "type": "object",
                                  "properties": {
                                    "latitude": {
                                      "type": "number"
                                    },
                                    "longitude": {
                                      "type": "number"
                                    },
                                    "address": {
                                      "type": "string"
                                    },
                                    "accuracy": {
                                      "type": "number"
                                    }
                                  }
                                },
                                "deviceInfo": {
                                  "type": "object",
                                  "properties": {
                                    "userAgent": {
                                      "type": "string"
                                    },
                                    "platform": {
                                      "type": "string"
                                    },
                                    "deviceType": {
                                      "type": "string"
                                    },
                                    "browserName": {
                                      "type": "string"
                                    },
                                    "browserVersion": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          },
                          "timeTracking": {
                            "type": "object",
                            "properties": {
                              "totalTimeSpentMinutes": {
                                "type": "number"
                              },
                              "firstPunchIn": {
                                "type": "string"
                              },
                              "lastPunchOut": {
                                "type": "string"
                              },
                              "totalPunchInRecords": {
                                "type": "number"
                              },
                              "totalPunchOutRecords": {
                                "type": "number"
                              },
                              "isCurrentlyPunchedIn": {
                                "type": "boolean"
                              },
                              "lastPunchType": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TrainingMasterDataController.getTrainingAssignmentDetails"
      }
    },
    "/master-data/training-sessions": {
      "get": {
        "x-controller-name": "TrainingMasterDataController",
        "x-operation-name": "getTrainingSessionsMasterData",
        "tags": [
          "TrainingMasterDataController"
        ],
        "responses": {
          "200": {
            "description": "Comprehensive training session master data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "sessionId": {
                            "type": "string"
                          },
                          "sessionStatus": {
                            "type": "string"
                          },
                          "sessionCreated": {
                            "type": "string"
                          },
                          "sessionUpdated": {
                            "type": "string"
                          },
                          "learnerId": {
                            "type": "string"
                          },
                          "learnerEmployeeId": {
                            "type": "string"
                          },
                          "learnerName": {
                            "type": "string"
                          },
                          "learnerEmail": {
                            "type": "string"
                          },
                          "learnerDepartment": {
                            "type": "string"
                          },
                          "learnerBusinessUnit": {
                            "type": "string"
                          },
                          "learnerJobCode": {
                            "type": "string"
                          },
                          "learnerGradeCode": {
                            "type": "string"
                          },
                          "assignmentId": {
                            "type": "string"
                          },
                          "assignmentTitle": {
                            "type": "string"
                          },
                          "assignmentFromDate": {
                            "type": "string"
                          },
                          "assignmentToDate": {
                            "type": "string"
                          },
                          "assignmentTotalHours": {
                            "type": "number"
                          },
                          "assignmentLocation": {
                            "type": "string"
                          },
                          "assignmentCapacity": {
                            "type": "number"
                          },
                          "knowledgeAreaId": {
                            "type": "string"
                          },
                          "knowledgeAreaName": {
                            "type": "string"
                          },
                          "knowledgeTopicId": {
                            "type": "string"
                          },
                          "knowledgeTopicName": {
                            "type": "string"
                          },
                          "knowledgeUnitId": {
                            "type": "string"
                          },
                          "knowledgeUnitName": {
                            "type": "string"
                          },
                          "preTestEnabled": {
                            "type": "boolean"
                          },
                          "postTestEnabled": {
                            "type": "boolean"
                          },
                          "postTestSameAsPreTest": {
                            "type": "string"
                          },
                          "preTestScore": {
                            "type": "number"
                          },
                          "postTestScore": {
                            "type": "number"
                          },
                          "attendanceMarked": {
                            "type": "boolean"
                          },
                          "totalAttendanceRecords": {
                            "type": "number"
                          },
                          "totalTimeSpent": {
                            "type": "number"
                          },
                          "firstPunchIn": {
                            "type": "string"
                          },
                          "lastPunchOut": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "summary": {
                      "type": "object",
                      "properties": {
                        "totalSessions": {
                          "type": "number"
                        },
                        "completedSessions": {
                          "type": "number"
                        },
                        "inProgressSessions": {
                          "type": "number"
                        },
                        "notStartedSessions": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "fromDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "knowledgeAreaId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "businessUnit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "TrainingMasterDataController.getTrainingSessionsMasterData"
      }
    },
    "/my-scheduled-training-assignments": {
      "get": {
        "x-controller-name": "TrainingAssignmentController",
        "x-operation-name": "findTrainingAssignments",
        "tags": [
          "TrainingAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "Array of TrainingAssignment model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TrainingAssignmentWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingAssignment.Filter"
                }
              }
            }
          }
        ],
        "operationId": "TrainingAssignmentController.findTrainingAssignments"
      }
    },
    "/my-training-assignments": {
      "get": {
        "x-controller-name": "TrainingAssignmentController",
        "x-operation-name": "findMyTrainingAssignments",
        "tags": [
          "TrainingAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "Array of TrainingAssignment model instances with nomination status based on user hierarchy levels",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TrainingAssignmentWithRelations"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "nominationStatus": {
                            "type": "object",
                            "properties": {
                              "isNominated": {
                                "type": "boolean"
                              },
                              "nominationType": {
                                "type": "string",
                                "enum": [
                                  "self",
                                  "other"
                                ]
                              },
                              "status": {
                                "type": "string",
                                "enum": [
                                  "pending",
                                  "approved",
                                  "rejected"
                                ]
                              },
                              "nominatedAt": {
                                "type": "string"
                              },
                              "notes": {
                                "type": "string"
                              },
                              "rejectionReason": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "isNominated"
                            ]
                          }
                        },
                        "required": [
                          "nominationStatus"
                        ]
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingAssignment.Filter"
                }
              }
            }
          }
        ],
        "operationId": "TrainingAssignmentController.findMyTrainingAssignments"
      }
    },
    "/my-training-sessions": {
      "get": {
        "x-controller-name": "TrainingSessionController",
        "x-operation-name": "getMyTrainingSessions",
        "tags": [
          "TrainingSessionController"
        ],
        "responses": {
          "200": {
            "description": "Get my training sessions",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TrainingSession"
                  }
                }
              }
            }
          }
        },
        "operationId": "TrainingSessionController.getMyTrainingSessions"
      }
    },
    "/online-attended-sessions/complete": {
      "post": {
        "x-controller-name": "OnlineAttendedSessionController",
        "x-operation-name": "markCompleted",
        "tags": [
          "OnlineAttendedSessionController"
        ],
        "responses": {
          "200": {
            "description": "Mark session as completed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OnlineAttendedSession"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "knowledgeAreaId": {
                    "type": "string"
                  },
                  "knowledgeTopicId": {
                    "type": "string"
                  },
                  "knowledgeUnitId": {
                    "type": "string"
                  }
                },
                "required": [
                  "knowledgeAreaId",
                  "knowledgeTopicId",
                  "knowledgeUnitId"
                ]
              }
            }
          }
        },
        "operationId": "OnlineAttendedSessionController.markCompleted"
      }
    },
    "/online-attended-sessions/count": {
      "get": {
        "x-controller-name": "OnlineAttendedSessionController",
        "x-operation-name": "count",
        "tags": [
          "OnlineAttendedSessionController"
        ],
        "responses": {
          "200": {
            "description": "OnlineAttendedSession model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "OnlineAttendedSession.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<OnlineAttendedSession>"
                }
              }
            }
          }
        ],
        "operationId": "OnlineAttendedSessionController.count"
      }
    },
    "/online-attended-sessions/knowledge-unit/{knowledgeUnitId}/stats": {
      "get": {
        "x-controller-name": "OnlineAttendedSessionController",
        "x-operation-name": "getCompletionStats",
        "tags": [
          "OnlineAttendedSessionController"
        ],
        "responses": {
          "200": {
            "description": "Completion statistics for a knowledge unit",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "total": {
                      "type": "number"
                    },
                    "completed": {
                      "type": "number"
                    },
                    "inProgress": {
                      "type": "number"
                    },
                    "notStarted": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "knowledgeUnitId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OnlineAttendedSessionController.getCompletionStats"
      }
    },
    "/online-attended-sessions/knowledge-unit/{knowledgeUnitId}": {
      "get": {
        "x-controller-name": "OnlineAttendedSessionController",
        "x-operation-name": "findByKnowledgeUnitId",
        "tags": [
          "OnlineAttendedSessionController"
        ],
        "responses": {
          "200": {
            "description": "Array of OnlineAttendedSession model instances for a specific knowledge unit",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OnlineAttendedSessionWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "knowledgeUnitId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OnlineAttendedSessionController.findByKnowledgeUnitId"
      }
    },
    "/online-attended-sessions/master-data/knowledge-area/{knowledgeAreaId}": {
      "get": {
        "x-controller-name": "OnlineAttendedSessionController",
        "x-operation-name": "getMasterDataByKnowledgeArea",
        "tags": [
          "OnlineAttendedSessionController"
        ],
        "responses": {
          "200": {
            "description": "Array of OnlineAttendedSession for specific knowledge area with relation names",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "knowledgeAreaId": {
                        "type": "string"
                      },
                      "knowledgeAreaName": {
                        "type": "string"
                      },
                      "knowledgeTopicId": {
                        "type": "string"
                      },
                      "knowledgeTopicName": {
                        "type": "string"
                      },
                      "knowledgeUnitId": {
                        "type": "string"
                      },
                      "knowledgeUnitName": {
                        "type": "string"
                      },
                      "userId": {
                        "type": "string"
                      },
                      "userName": {
                        "type": "string"
                      },
                      "userEmail": {
                        "type": "string"
                      },
                      "status": {
                        "type": "string"
                      },
                      "created": {
                        "type": "string"
                      },
                      "updated": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "knowledgeAreaId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OnlineAttendedSessionController.getMasterDataByKnowledgeArea"
      }
    },
    "/online-attended-sessions/master-data/knowledge-topic/{knowledgeTopicId}": {
      "get": {
        "x-controller-name": "OnlineAttendedSessionController",
        "x-operation-name": "getMasterDataByKnowledgeTopic",
        "tags": [
          "OnlineAttendedSessionController"
        ],
        "responses": {
          "200": {
            "description": "Array of OnlineAttendedSession for specific knowledge topic with relation names",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "knowledgeAreaId": {
                        "type": "string"
                      },
                      "knowledgeAreaName": {
                        "type": "string"
                      },
                      "knowledgeTopicId": {
                        "type": "string"
                      },
                      "knowledgeTopicName": {
                        "type": "string"
                      },
                      "knowledgeUnitId": {
                        "type": "string"
                      },
                      "knowledgeUnitName": {
                        "type": "string"
                      },
                      "userId": {
                        "type": "string"
                      },
                      "userName": {
                        "type": "string"
                      },
                      "userEmail": {
                        "type": "string"
                      },
                      "status": {
                        "type": "string"
                      },
                      "created": {
                        "type": "string"
                      },
                      "updated": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "knowledgeTopicId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OnlineAttendedSessionController.getMasterDataByKnowledgeTopic"
      }
    },
    "/online-attended-sessions/master-data/knowledge-unit/{knowledgeUnitId}": {
      "get": {
        "x-controller-name": "OnlineAttendedSessionController",
        "x-operation-name": "getMasterDataByKnowledgeUnit",
        "tags": [
          "OnlineAttendedSessionController"
        ],
        "responses": {
          "200": {
            "description": "Array of OnlineAttendedSession for specific knowledge unit with relation names",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "knowledgeAreaId": {
                        "type": "string"
                      },
                      "knowledgeAreaName": {
                        "type": "string"
                      },
                      "knowledgeTopicId": {
                        "type": "string"
                      },
                      "knowledgeTopicName": {
                        "type": "string"
                      },
                      "knowledgeUnitId": {
                        "type": "string"
                      },
                      "knowledgeUnitName": {
                        "type": "string"
                      },
                      "userId": {
                        "type": "string"
                      },
                      "userName": {
                        "type": "string"
                      },
                      "userEmail": {
                        "type": "string"
                      },
                      "status": {
                        "type": "string"
                      },
                      "created": {
                        "type": "string"
                      },
                      "updated": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "knowledgeUnitId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OnlineAttendedSessionController.getMasterDataByKnowledgeUnit"
      }
    },
    "/online-attended-sessions/master-data/user/{userId}": {
      "get": {
        "x-controller-name": "OnlineAttendedSessionController",
        "x-operation-name": "getMasterDataByUser",
        "tags": [
          "OnlineAttendedSessionController"
        ],
        "responses": {
          "200": {
            "description": "Array of OnlineAttendedSession for specific user with relation names",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "knowledgeAreaId": {
                        "type": "string"
                      },
                      "knowledgeAreaName": {
                        "type": "string"
                      },
                      "knowledgeTopicId": {
                        "type": "string"
                      },
                      "knowledgeTopicName": {
                        "type": "string"
                      },
                      "knowledgeUnitId": {
                        "type": "string"
                      },
                      "knowledgeUnitName": {
                        "type": "string"
                      },
                      "userId": {
                        "type": "string"
                      },
                      "userName": {
                        "type": "string"
                      },
                      "userEmail": {
                        "type": "string"
                      },
                      "status": {
                        "type": "string"
                      },
                      "created": {
                        "type": "string"
                      },
                      "updated": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OnlineAttendedSessionController.getMasterDataByUser"
      }
    },
    "/online-attended-sessions/master-data": {
      "get": {
        "x-controller-name": "OnlineAttendedSessionController",
        "x-operation-name": "getMasterData",
        "tags": [
          "OnlineAttendedSessionController"
        ],
        "responses": {
          "200": {
            "description": "Array of OnlineAttendedSession with complete relation names",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "knowledgeAreaId": {
                        "type": "string"
                      },
                      "knowledgeAreaName": {
                        "type": "string"
                      },
                      "knowledgeTopicId": {
                        "type": "string"
                      },
                      "knowledgeTopicName": {
                        "type": "string"
                      },
                      "knowledgeUnitId": {
                        "type": "string"
                      },
                      "knowledgeUnitName": {
                        "type": "string"
                      },
                      "userId": {
                        "type": "string"
                      },
                      "userName": {
                        "type": "string"
                      },
                      "userEmail": {
                        "type": "string"
                      },
                      "status": {
                        "type": "string"
                      },
                      "created": {
                        "type": "string"
                      },
                      "updated": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "OnlineAttendedSessionController.getMasterData"
      }
    },
    "/online-attended-sessions/my-sessions": {
      "get": {
        "x-controller-name": "OnlineAttendedSessionController",
        "x-operation-name": "getMySessions",
        "tags": [
          "OnlineAttendedSessionController"
        ],
        "responses": {
          "200": {
            "description": "Array of current user's OnlineAttendedSession model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OnlineAttendedSessionWithRelations"
                  }
                }
              }
            }
          }
        },
        "operationId": "OnlineAttendedSessionController.getMySessions"
      }
    },
    "/online-attended-sessions/start-session": {
      "post": {
        "x-controller-name": "OnlineAttendedSessionController",
        "x-operation-name": "startSession",
        "tags": [
          "OnlineAttendedSessionController"
        ],
        "responses": {
          "200": {
            "description": "Start or update session as in-progress",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OnlineAttendedSession"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "knowledgeAreaId": {
                    "type": "string"
                  },
                  "knowledgeTopicId": {
                    "type": "string"
                  },
                  "knowledgeUnitId": {
                    "type": "string"
                  }
                },
                "required": [
                  "knowledgeAreaId",
                  "knowledgeTopicId",
                  "knowledgeUnitId"
                ]
              }
            }
          }
        },
        "operationId": "OnlineAttendedSessionController.startSession"
      }
    },
    "/online-attended-sessions/user/{userId}/knowledge-unit/{knowledgeUnitId}": {
      "get": {
        "x-controller-name": "OnlineAttendedSessionController",
        "x-operation-name": "findUserSession",
        "tags": [
          "OnlineAttendedSessionController"
        ],
        "responses": {
          "200": {
            "description": "OnlineAttendedSession model instance for a specific user and knowledge unit",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OnlineAttendedSessionWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "knowledgeUnitId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OnlineAttendedSessionController.findUserSession"
      }
    },
    "/online-attended-sessions/user/{userId}": {
      "get": {
        "x-controller-name": "OnlineAttendedSessionController",
        "x-operation-name": "findByUserId",
        "tags": [
          "OnlineAttendedSessionController"
        ],
        "responses": {
          "200": {
            "description": "Array of OnlineAttendedSession model instances for a specific user",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OnlineAttendedSessionWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OnlineAttendedSessionController.findByUserId"
      }
    },
    "/online-attended-sessions/{id}": {
      "put": {
        "x-controller-name": "OnlineAttendedSessionController",
        "x-operation-name": "replaceById",
        "tags": [
          "OnlineAttendedSessionController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "OnlineAttendedSession PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OnlineAttendedSession"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "OnlineAttendedSessionController.replaceById"
      },
      "patch": {
        "x-controller-name": "OnlineAttendedSessionController",
        "x-operation-name": "updateById",
        "tags": [
          "OnlineAttendedSessionController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "OnlineAttendedSession PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OnlineAttendedSessionPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "OnlineAttendedSessionController.updateById"
      },
      "get": {
        "x-controller-name": "OnlineAttendedSessionController",
        "x-operation-name": "findById",
        "tags": [
          "OnlineAttendedSessionController"
        ],
        "responses": {
          "200": {
            "description": "OnlineAttendedSession model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OnlineAttendedSessionWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OnlineAttendedSession.Filter"
                }
              }
            }
          }
        ],
        "operationId": "OnlineAttendedSessionController.findById"
      },
      "delete": {
        "x-controller-name": "OnlineAttendedSessionController",
        "x-operation-name": "deleteById",
        "tags": [
          "OnlineAttendedSessionController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "OnlineAttendedSession DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OnlineAttendedSessionController.deleteById"
      }
    },
    "/online-attended-sessions": {
      "post": {
        "x-controller-name": "OnlineAttendedSessionController",
        "x-operation-name": "create",
        "tags": [
          "OnlineAttendedSessionController"
        ],
        "responses": {
          "200": {
            "description": "OnlineAttendedSession model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OnlineAttendedSession"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewOnlineAttendedSession"
              }
            }
          }
        },
        "operationId": "OnlineAttendedSessionController.create"
      },
      "patch": {
        "x-controller-name": "OnlineAttendedSessionController",
        "x-operation-name": "updateAll",
        "tags": [
          "OnlineAttendedSessionController"
        ],
        "responses": {
          "200": {
            "description": "OnlineAttendedSession PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "OnlineAttendedSession.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<OnlineAttendedSession>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OnlineAttendedSessionPartial"
              }
            }
          }
        },
        "operationId": "OnlineAttendedSessionController.updateAll"
      },
      "get": {
        "x-controller-name": "OnlineAttendedSessionController",
        "x-operation-name": "find",
        "tags": [
          "OnlineAttendedSessionController"
        ],
        "responses": {
          "200": {
            "description": "Array of OnlineAttendedSession model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OnlineAttendedSessionWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OnlineAttendedSession.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "OnlineAttendedSessionController.find"
      }
    },
    "/oracle-jobs/count": {
      "get": {
        "x-controller-name": "OracleJobsController",
        "x-operation-name": "count",
        "tags": [
          "OracleJobsController"
        ],
        "responses": {
          "200": {
            "description": "OracleJob model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "OracleJob.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<OracleJob>"
                }
              }
            }
          }
        ],
        "operationId": "OracleJobsController.count"
      }
    },
    "/oracle-jobs/{id}": {
      "put": {
        "x-controller-name": "OracleJobsController",
        "x-operation-name": "replaceById",
        "tags": [
          "OracleJobsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "OracleJob PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OracleJob"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "OracleJobsController.replaceById"
      },
      "patch": {
        "x-controller-name": "OracleJobsController",
        "x-operation-name": "updateById",
        "tags": [
          "OracleJobsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "OracleJob PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OracleJobPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "OracleJobsController.updateById"
      },
      "get": {
        "x-controller-name": "OracleJobsController",
        "x-operation-name": "findById",
        "tags": [
          "OracleJobsController"
        ],
        "responses": {
          "200": {
            "description": "OracleJob model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OracleJobWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OracleJob.Filter"
                }
              }
            }
          }
        ],
        "operationId": "OracleJobsController.findById"
      },
      "delete": {
        "x-controller-name": "OracleJobsController",
        "x-operation-name": "deleteById",
        "tags": [
          "OracleJobsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "OracleJob DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OracleJobsController.deleteById"
      }
    },
    "/oracle-jobs": {
      "post": {
        "x-controller-name": "OracleJobsController",
        "x-operation-name": "create",
        "tags": [
          "OracleJobsController"
        ],
        "responses": {
          "200": {
            "description": "OracleJob model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OracleJob"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewOracleJob"
              }
            }
          }
        },
        "operationId": "OracleJobsController.create"
      },
      "patch": {
        "x-controller-name": "OracleJobsController",
        "x-operation-name": "updateAll",
        "tags": [
          "OracleJobsController"
        ],
        "responses": {
          "200": {
            "description": "OracleJob PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "OracleJob.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<OracleJob>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OracleJobPartial"
              }
            }
          }
        },
        "operationId": "OracleJobsController.updateAll"
      },
      "get": {
        "x-controller-name": "OracleJobsController",
        "x-operation-name": "find",
        "tags": [
          "OracleJobsController"
        ],
        "responses": {
          "200": {
            "description": "Array of OracleJob model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OracleJobWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OracleJob.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "OracleJobsController.find"
      }
    },
    "/oracle-locations/count": {
      "get": {
        "x-controller-name": "OracleLocationsController",
        "x-operation-name": "count",
        "tags": [
          "OracleLocationsController"
        ],
        "responses": {
          "200": {
            "description": "OracleLocation model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "OracleLocation.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<OracleLocation>"
                }
              }
            }
          }
        ],
        "operationId": "OracleLocationsController.count"
      }
    },
    "/oracle-locations/{id}": {
      "put": {
        "x-controller-name": "OracleLocationsController",
        "x-operation-name": "replaceById",
        "tags": [
          "OracleLocationsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "OracleLocation PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OracleLocation"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "OracleLocationsController.replaceById"
      },
      "patch": {
        "x-controller-name": "OracleLocationsController",
        "x-operation-name": "updateById",
        "tags": [
          "OracleLocationsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "OracleLocation PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OracleLocationPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "OracleLocationsController.updateById"
      },
      "get": {
        "x-controller-name": "OracleLocationsController",
        "x-operation-name": "findById",
        "tags": [
          "OracleLocationsController"
        ],
        "responses": {
          "200": {
            "description": "OracleLocation model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OracleLocationWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OracleLocation.Filter"
                }
              }
            }
          }
        ],
        "operationId": "OracleLocationsController.findById"
      },
      "delete": {
        "x-controller-name": "OracleLocationsController",
        "x-operation-name": "deleteById",
        "tags": [
          "OracleLocationsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "OracleLocation DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "OracleLocationsController.deleteById"
      }
    },
    "/oracle-locations": {
      "post": {
        "x-controller-name": "OracleLocationsController",
        "x-operation-name": "create",
        "tags": [
          "OracleLocationsController"
        ],
        "responses": {
          "200": {
            "description": "OracleLocation model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OracleLocation"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewOracleLocation"
              }
            }
          }
        },
        "operationId": "OracleLocationsController.create"
      },
      "patch": {
        "x-controller-name": "OracleLocationsController",
        "x-operation-name": "updateAll",
        "tags": [
          "OracleLocationsController"
        ],
        "responses": {
          "200": {
            "description": "OracleLocation PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "OracleLocation.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<OracleLocation>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OracleLocationPartial"
              }
            }
          }
        },
        "operationId": "OracleLocationsController.updateAll"
      },
      "get": {
        "x-controller-name": "OracleLocationsController",
        "x-operation-name": "find",
        "tags": [
          "OracleLocationsController"
        ],
        "responses": {
          "200": {
            "description": "Array of OracleLocation model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OracleLocationWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OracleLocation.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "OracleLocationsController.find"
      }
    },
    "/ping": {
      "get": {
        "x-controller-name": "PingController",
        "x-operation-name": "ping",
        "tags": [
          "PingController"
        ],
        "responses": {
          "200": {
            "description": "Ping Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PingResponse"
                }
              }
            }
          }
        },
        "operationId": "PingController.ping"
      }
    },
    "/qr-sessions/count": {
      "get": {
        "x-controller-name": "QRSessionController",
        "x-operation-name": "count",
        "tags": [
          "QRSessionController"
        ],
        "responses": {
          "200": {
            "description": "QRSession model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "QRSession.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<QRSession>"
                }
              }
            }
          }
        ],
        "operationId": "QRSessionController.count"
      }
    },
    "/qr-sessions/{sessionId}/questions": {
      "get": {
        "x-controller-name": "QRSessionController",
        "x-operation-name": "getSessionQuestions",
        "tags": [
          "QRSessionController"
        ],
        "responses": {
          "200": {
            "description": "Get randomized questions for a QR session",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "sessionId": {
                      "type": "string"
                    },
                    "knowledgeArea": {
                      "type": "string"
                    },
                    "knowledgeTopic": {
                      "type": "string"
                    },
                    "knowledgeUnit": {
                      "type": "string"
                    },
                    "questions": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "question": {
                            "type": "string"
                          },
                          "options": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "name": {
                                  "type": "string"
                                },
                                "value": {
                                  "type": "string"
                                },
                                "feedback": {
                                  "type": "string"
                                },
                                "isCorrectAnswer": {
                                  "type": "boolean"
                                },
                                "score": {
                                  "type": "number"
                                }
                              }
                            }
                          },
                          "difficulty": {
                            "type": "string"
                          },
                          "correctAnswerFeedback": {
                            "type": "string"
                          },
                          "wrongAnswerFeedback": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "QRSessionController.getSessionQuestions"
      }
    },
    "/qr-sessions/{sessionId}/submit-responses": {
      "post": {
        "x-controller-name": "QRSessionController",
        "x-operation-name": "submitResponses",
        "tags": [
          "QRSessionController"
        ],
        "responses": {
          "200": {
            "description": "Submit user responses for entire QR session with consolidated CCI score",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "sessionResponse": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "sessionId": {
                          "type": "string"
                        },
                        "submittedById": {
                          "type": "string"
                        },
                        "questionId": {
                          "type": "string"
                        },
                        "isCorrect": {
                          "type": "boolean"
                        },
                        "score": {
                          "type": "number"
                        },
                        "color": {
                          "type": "string"
                        },
                        "awareness": {
                          "type": "string"
                        },
                        "timeSpent": {
                          "type": "number"
                        },
                        "individualResponses": {
                          "type": "array"
                        },
                        "consolidatedCCI": {
                          "type": "object"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "sessionId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "responses": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "questionId": {
                          "type": "string"
                        },
                        "selectedOptions": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "confidence": {
                          "type": "string",
                          "enum": [
                            "confident",
                            "not_sure",
                            "not_confident"
                          ]
                        },
                        "timeSpent": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "questionId",
                        "selectedOptions",
                        "confidence"
                      ]
                    }
                  }
                },
                "required": [
                  "responses"
                ]
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "QRSessionController.submitResponses"
      }
    },
    "/qr-sessions/{id}": {
      "put": {
        "x-controller-name": "QRSessionController",
        "x-operation-name": "replaceById",
        "tags": [
          "QRSessionController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "QRSession PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QRSession"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "QRSessionController.replaceById"
      },
      "patch": {
        "x-controller-name": "QRSessionController",
        "x-operation-name": "updateById",
        "tags": [
          "QRSessionController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "QRSession PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QRSessionPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "QRSessionController.updateById"
      },
      "get": {
        "x-controller-name": "QRSessionController",
        "x-operation-name": "findById",
        "tags": [
          "QRSessionController"
        ],
        "responses": {
          "200": {
            "description": "QRSession model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QRSessionWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QRSession.Filter"
                }
              }
            }
          }
        ],
        "operationId": "QRSessionController.findById"
      },
      "delete": {
        "x-controller-name": "QRSessionController",
        "x-operation-name": "deleteById",
        "tags": [
          "QRSessionController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "QRSession DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "QRSessionController.deleteById"
      }
    },
    "/qr-sessions": {
      "post": {
        "x-controller-name": "QRSessionController",
        "x-operation-name": "create",
        "tags": [
          "QRSessionController"
        ],
        "responses": {
          "200": {
            "description": "QRSession model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QRSession"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewQRSession"
              }
            }
          }
        },
        "operationId": "QRSessionController.create"
      },
      "get": {
        "x-controller-name": "QRSessionController",
        "x-operation-name": "find",
        "tags": [
          "QRSessionController"
        ],
        "responses": {
          "200": {
            "description": "Array of QRSession model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QRSessionWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QRSession.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "QRSessionController.find"
      }
    },
    "/question-bank/generate": {
      "post": {
        "x-controller-name": "QuestionController",
        "x-operation-name": "generate",
        "tags": [
          "QuestionController"
        ],
        "responses": {
          "200": {
            "description": "Return value of QuestionController.generate"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "number"
                  },
                  "topic": {
                    "type": "string"
                  }
                },
                "required": [
                  "count",
                  "topic"
                ]
              }
            }
          },
          "required": true
        },
        "operationId": "QuestionController.generate"
      }
    },
    "/question-banks/count": {
      "get": {
        "x-controller-name": "QuestionBankController",
        "x-operation-name": "count",
        "tags": [
          "QuestionBankController"
        ],
        "responses": {
          "200": {
            "description": "QuestionBank model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "QuestionBank.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<QuestionBank>"
                }
              }
            }
          }
        ],
        "operationId": "QuestionBankController.count"
      }
    },
    "/question-banks/{id}/knowledge-area": {
      "get": {
        "x-controller-name": "QuestionBankKnowledgeAreaController",
        "x-operation-name": "getKnowledgeArea",
        "tags": [
          "QuestionBankKnowledgeAreaController"
        ],
        "responses": {
          "200": {
            "description": "KnowledgeArea belonging to QuestionBank",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeArea"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "QuestionBankKnowledgeAreaController.getKnowledgeArea"
      }
    },
    "/question-banks/{id}/knowledge-topic": {
      "get": {
        "x-controller-name": "QuestionBankKnowledgeTopicController",
        "x-operation-name": "getKnowledgeTopic",
        "tags": [
          "QuestionBankKnowledgeTopicController"
        ],
        "responses": {
          "200": {
            "description": "KnowledgeTopic belonging to QuestionBank",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KnowledgeTopic"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "QuestionBankKnowledgeTopicController.getKnowledgeTopic"
      }
    },
    "/question-banks/{id}": {
      "put": {
        "x-controller-name": "QuestionBankController",
        "x-operation-name": "replaceById",
        "tags": [
          "QuestionBankController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "QuestionBank PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuestionBank"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "QuestionBankController.replaceById"
      },
      "patch": {
        "x-controller-name": "QuestionBankController",
        "x-operation-name": "updateById",
        "tags": [
          "QuestionBankController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "QuestionBank PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuestionBankPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "QuestionBankController.updateById"
      },
      "get": {
        "x-controller-name": "QuestionBankController",
        "x-operation-name": "findById",
        "tags": [
          "QuestionBankController"
        ],
        "responses": {
          "200": {
            "description": "QuestionBank model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionBankWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionBank.Filter"
                }
              }
            }
          }
        ],
        "operationId": "QuestionBankController.findById"
      },
      "delete": {
        "x-controller-name": "QuestionBankController",
        "x-operation-name": "deleteById",
        "tags": [
          "QuestionBankController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "QuestionBank DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "QuestionBankController.deleteById"
      }
    },
    "/question-banks": {
      "post": {
        "x-controller-name": "QuestionBankController",
        "x-operation-name": "create",
        "tags": [
          "QuestionBankController"
        ],
        "responses": {
          "200": {
            "description": "QuestionBank model instance or array of instances",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/QuestionBank"
                    },
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/QuestionBank"
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/NewQuestionBank"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "questions": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "question": {
                              "type": "string"
                            },
                            "questionId": {
                              "type": "string"
                            },
                            "options": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "id": {
                                    "type": "string"
                                  },
                                  "text": {
                                    "type": "string"
                                  },
                                  "isCorrect": {
                                    "type": "boolean"
                                  }
                                }
                              }
                            },
                            "uploads": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              }
                            },
                            "status": {
                              "type": "string"
                            },
                            "correctAnswerFeedback": {
                              "type": "string"
                            },
                            "wrongAnswerFeedback": {
                              "type": "string"
                            },
                            "difficulty": {
                              "type": "string"
                            },
                            "knowledgeUnitId": {
                              "type": "string"
                            },
                            "knowledgeTopicId": {
                              "type": "string"
                            },
                            "knowledgeAreaId": {
                              "type": "string"
                            },
                            "visibility": {
                              "type": "object",
                              "properties": {
                                "knowledgeIndex": {
                                  "type": "boolean"
                                },
                                "flashCard": {
                                  "type": "boolean"
                                }
                              }
                            }
                          },
                          "required": [
                            "question",
                            "knowledgeUnitId",
                            "knowledgeTopicId",
                            "knowledgeAreaId"
                          ]
                        }
                      }
                    },
                    "required": [
                      "questions"
                    ]
                  }
                ]
              }
            }
          }
        },
        "operationId": "QuestionBankController.create"
      },
      "patch": {
        "x-controller-name": "QuestionBankController",
        "x-operation-name": "updateAll",
        "tags": [
          "QuestionBankController"
        ],
        "responses": {
          "200": {
            "description": "QuestionBank PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "QuestionBank.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<QuestionBank>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuestionBankPartial"
              }
            }
          }
        },
        "operationId": "QuestionBankController.updateAll"
      },
      "get": {
        "x-controller-name": "QuestionBankController",
        "x-operation-name": "find",
        "tags": [
          "QuestionBankController"
        ],
        "responses": {
          "200": {
            "description": "Array of QuestionBank model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuestionBankWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionBank.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "QuestionBankController.find"
      }
    },
    "/question-configurations/count": {
      "get": {
        "x-controller-name": "QuestionConfigurationController",
        "x-operation-name": "count",
        "tags": [
          "QuestionConfigurationController"
        ],
        "responses": {
          "200": {
            "description": "QuestionConfiguration model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "QuestionConfiguration.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<QuestionConfiguration>"
                }
              }
            }
          }
        ],
        "operationId": "QuestionConfigurationController.count"
      }
    },
    "/question-configurations/default": {
      "get": {
        "x-controller-name": "QuestionConfigurationController",
        "x-operation-name": "findDefault",
        "tags": [
          "QuestionConfigurationController"
        ],
        "responses": {
          "200": {
            "description": "Default QuestionConfiguration instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionConfigurationWithRelations"
                }
              }
            }
          }
        },
        "operationId": "QuestionConfigurationController.findDefault"
      }
    },
    "/question-configurations/{id}": {
      "put": {
        "x-controller-name": "QuestionConfigurationController",
        "x-operation-name": "replaceById",
        "tags": [
          "QuestionConfigurationController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "QuestionConfiguration PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuestionConfiguration"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "QuestionConfigurationController.replaceById"
      },
      "patch": {
        "x-controller-name": "QuestionConfigurationController",
        "x-operation-name": "updateById",
        "tags": [
          "QuestionConfigurationController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "QuestionConfiguration PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuestionConfigurationPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "QuestionConfigurationController.updateById"
      },
      "get": {
        "x-controller-name": "QuestionConfigurationController",
        "x-operation-name": "findById",
        "tags": [
          "QuestionConfigurationController"
        ],
        "responses": {
          "200": {
            "description": "QuestionConfiguration model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionConfigurationWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionConfiguration.Filter"
                }
              }
            }
          }
        ],
        "operationId": "QuestionConfigurationController.findById"
      },
      "delete": {
        "x-controller-name": "QuestionConfigurationController",
        "x-operation-name": "deleteById",
        "tags": [
          "QuestionConfigurationController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "QuestionConfiguration DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "QuestionConfigurationController.deleteById"
      }
    },
    "/question-configurations": {
      "post": {
        "x-controller-name": "QuestionConfigurationController",
        "x-operation-name": "create",
        "tags": [
          "QuestionConfigurationController"
        ],
        "responses": {
          "200": {
            "description": "QuestionConfiguration model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionConfiguration"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewQuestionConfiguration"
              }
            }
          }
        },
        "operationId": "QuestionConfigurationController.create"
      },
      "patch": {
        "x-controller-name": "QuestionConfigurationController",
        "x-operation-name": "updateAll",
        "tags": [
          "QuestionConfigurationController"
        ],
        "responses": {
          "200": {
            "description": "QuestionConfiguration PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "QuestionConfiguration.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<QuestionConfiguration>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuestionConfigurationPartial"
              }
            }
          }
        },
        "operationId": "QuestionConfigurationController.updateAll"
      },
      "get": {
        "x-controller-name": "QuestionConfigurationController",
        "x-operation-name": "find",
        "tags": [
          "QuestionConfigurationController"
        ],
        "responses": {
          "200": {
            "description": "Array of QuestionConfiguration model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuestionConfigurationWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionConfiguration.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "QuestionConfigurationController.find"
      }
    },
    "/role-assignments/by-hierarchy": {
      "post": {
        "x-controller-name": "RoleAssignmentController",
        "x-operation-name": "getAssignmentsByHierarchy",
        "tags": [
          "RoleAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "Get role assignments by organizational hierarchy",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "businessUnitIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "departmentIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "workerTypeIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "businessUnitIds"
                ]
              }
            }
          }
        },
        "operationId": "RoleAssignmentController.getAssignmentsByHierarchy"
      }
    },
    "/role-assignments/my-assignments": {
      "post": {
        "x-controller-name": "RoleAssignmentController",
        "x-operation-name": "getMyAssignments",
        "tags": [
          "RoleAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "Get current user assignments based on token/session",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "userId": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "RoleAssignmentController.getMyAssignments"
      }
    },
    "/role-assignments/summary": {
      "get": {
        "x-controller-name": "RoleAssignmentController",
        "x-operation-name": "getAssignmentSummary",
        "tags": [
          "RoleAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "Get role assignment summary statistics",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "totalAssignments": {
                      "type": "number"
                    },
                    "activeAssignments": {
                      "type": "number"
                    },
                    "inactiveAssignments": {
                      "type": "number"
                    },
                    "uniqueUsers": {
                      "type": "number"
                    },
                    "uniqueRoles": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "RoleAssignmentController.getAssignmentSummary"
      }
    },
    "/role-assignments/user/email/{email}": {
      "get": {
        "x-controller-name": "RoleAssignmentController",
        "x-operation-name": "getUserAssignmentsByEmail",
        "tags": [
          "RoleAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "Get all active role assignments for a user by email",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "email",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RoleAssignmentController.getUserAssignmentsByEmail"
      }
    },
    "/role-assignments/user/{userId}": {
      "get": {
        "x-controller-name": "RoleAssignmentController",
        "x-operation-name": "getUserAssignments",
        "tags": [
          "RoleAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "Get all active role assignments for a specific user",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RoleAssignmentController.getUserAssignments"
      }
    },
    "/role-assignments/{id}/activate": {
      "post": {
        "x-controller-name": "RoleAssignmentController",
        "x-operation-name": "activateAssignment",
        "tags": [
          "RoleAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "Activate a role assignment",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RoleAssignmentController.activateAssignment"
      }
    },
    "/role-assignments/{id}/deactivate": {
      "post": {
        "x-controller-name": "RoleAssignmentController",
        "x-operation-name": "deactivateAssignment",
        "tags": [
          "RoleAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "Deactivate a role assignment",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RoleAssignmentController.deactivateAssignment"
      }
    },
    "/role-assignments/{id}": {
      "delete": {
        "x-controller-name": "RoleAssignmentController",
        "x-operation-name": "deleteAssignment",
        "tags": [
          "RoleAssignmentController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Delete a role assignment"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RoleAssignmentController.deleteAssignment"
      }
    },
    "/role-assignments": {
      "post": {
        "x-controller-name": "RoleAssignmentController",
        "x-operation-name": "createAssignments",
        "tags": [
          "RoleAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "Create role assignments for users with organizational hierarchy",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "assignmentsCreated": {
                      "type": "number"
                    },
                    "assignmentsUpdated": {
                      "type": "number"
                    },
                    "assignments": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "businessUnitIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "departmentIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "workerTypeIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "employeeIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "roleIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "assignedBy": {
                    "type": "string"
                  },
                  "notes": {
                    "type": "string"
                  },
                  "expiryDate": {
                    "type": "string"
                  }
                },
                "required": [
                  "businessUnitIds",
                  "departmentIds",
                  "workerTypeIds",
                  "employeeIds",
                  "roleIds"
                ]
              }
            }
          }
        },
        "operationId": "RoleAssignmentController.createAssignments"
      },
      "get": {
        "x-controller-name": "RoleAssignmentController",
        "x-operation-name": "getAllAssignments",
        "tags": [
          "RoleAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "Get all role assignments with filters",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "operationId": "RoleAssignmentController.getAllAssignments"
      }
    },
    "/roles/count": {
      "get": {
        "x-controller-name": "RoleController",
        "x-operation-name": "count",
        "tags": [
          "RoleController"
        ],
        "responses": {
          "200": {
            "description": "Role model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Role.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Role>"
                }
              }
            }
          }
        ],
        "operationId": "RoleController.count"
      }
    },
    "/roles/{id}/service": {
      "get": {
        "x-controller-name": "RoleServiceController",
        "x-operation-name": "getService",
        "tags": [
          "RoleServiceController"
        ],
        "responses": {
          "200": {
            "description": "Service belonging to Role",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Service"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RoleServiceController.getService"
      }
    },
    "/roles/{id}": {
      "put": {
        "x-controller-name": "RoleController",
        "x-operation-name": "replaceById",
        "tags": [
          "RoleController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Role PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Role"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "RoleController.replaceById"
      },
      "patch": {
        "x-controller-name": "RoleController",
        "x-operation-name": "updateById",
        "tags": [
          "RoleController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Role PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RolePartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "RoleController.updateById"
      },
      "get": {
        "x-controller-name": "RoleController",
        "x-operation-name": "findById",
        "tags": [
          "RoleController"
        ],
        "responses": {
          "200": {
            "description": "Role model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Role.Filter"
                }
              }
            }
          }
        ],
        "operationId": "RoleController.findById"
      },
      "delete": {
        "x-controller-name": "RoleController",
        "x-operation-name": "deleteById",
        "tags": [
          "RoleController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Role DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RoleController.deleteById"
      }
    },
    "/roles": {
      "post": {
        "x-controller-name": "RoleController",
        "x-operation-name": "create",
        "tags": [
          "RoleController"
        ],
        "responses": {
          "200": {
            "description": "Role model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Role"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewRole"
              }
            }
          }
        },
        "operationId": "RoleController.create"
      },
      "patch": {
        "x-controller-name": "RoleController",
        "x-operation-name": "updateAll",
        "tags": [
          "RoleController"
        ],
        "responses": {
          "200": {
            "description": "Role PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Role.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Role>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RolePartial"
              }
            }
          }
        },
        "operationId": "RoleController.updateAll"
      },
      "get": {
        "x-controller-name": "RoleController",
        "x-operation-name": "find",
        "tags": [
          "RoleController"
        ],
        "responses": {
          "200": {
            "description": "Array of Role model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RoleWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Role.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "RoleController.find"
      }
    },
    "/services/count": {
      "get": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "count",
        "tags": [
          "ServiceController"
        ],
        "responses": {
          "200": {
            "description": "Service model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Service.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Service>"
                }
              }
            }
          }
        ],
        "operationId": "ServiceController.count"
      }
    },
    "/services/{id}/dropdowns": {
      "post": {
        "x-controller-name": "ServiceDropdownController",
        "x-operation-name": "create",
        "tags": [
          "ServiceDropdownController"
        ],
        "responses": {
          "200": {
            "description": "Service model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Dropdown"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewDropdownInService"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ServiceDropdownController.create"
      },
      "patch": {
        "x-controller-name": "ServiceDropdownController",
        "x-operation-name": "patch",
        "tags": [
          "ServiceDropdownController"
        ],
        "responses": {
          "200": {
            "description": "Service.Dropdown PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Dropdown.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Dropdown>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DropdownPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ServiceDropdownController.patch"
      },
      "get": {
        "x-controller-name": "ServiceDropdownController",
        "x-operation-name": "find",
        "tags": [
          "ServiceDropdownController"
        ],
        "responses": {
          "200": {
            "description": "Array of Service has many Dropdown",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Dropdown"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "ServiceDropdownController.find"
      },
      "delete": {
        "x-controller-name": "ServiceDropdownController",
        "x-operation-name": "delete",
        "tags": [
          "ServiceDropdownController"
        ],
        "responses": {
          "200": {
            "description": "Service.Dropdown DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Dropdown.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Dropdown>"
                }
              }
            }
          }
        ],
        "operationId": "ServiceDropdownController.delete"
      }
    },
    "/services/{id}/roles": {
      "post": {
        "x-controller-name": "ServiceRoleController",
        "x-operation-name": "create",
        "tags": [
          "ServiceRoleController"
        ],
        "responses": {
          "200": {
            "description": "Service model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Role"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewRoleInService"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ServiceRoleController.create"
      },
      "patch": {
        "x-controller-name": "ServiceRoleController",
        "x-operation-name": "patch",
        "tags": [
          "ServiceRoleController"
        ],
        "responses": {
          "200": {
            "description": "Service.Role PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Role.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Role>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RolePartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ServiceRoleController.patch"
      },
      "get": {
        "x-controller-name": "ServiceRoleController",
        "x-operation-name": "find",
        "tags": [
          "ServiceRoleController"
        ],
        "responses": {
          "200": {
            "description": "Array of Service has many Role",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Role"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "ServiceRoleController.find"
      },
      "delete": {
        "x-controller-name": "ServiceRoleController",
        "x-operation-name": "delete",
        "tags": [
          "ServiceRoleController"
        ],
        "responses": {
          "200": {
            "description": "Service.Role DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Role.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Role>"
                }
              }
            }
          }
        ],
        "operationId": "ServiceRoleController.delete"
      }
    },
    "/services/{id}/tenants": {
      "post": {
        "x-controller-name": "ServiceTenantController",
        "x-operation-name": "create",
        "tags": [
          "ServiceTenantController"
        ],
        "responses": {
          "200": {
            "description": "create a Tenant model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Tenant"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewTenantInService"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ServiceTenantController.create"
      },
      "patch": {
        "x-controller-name": "ServiceTenantController",
        "x-operation-name": "patch",
        "tags": [
          "ServiceTenantController"
        ],
        "responses": {
          "200": {
            "description": "Service.Tenant PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Tenant.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Tenant>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ServiceTenantController.patch"
      },
      "get": {
        "x-controller-name": "ServiceTenantController",
        "x-operation-name": "find",
        "tags": [
          "ServiceTenantController"
        ],
        "responses": {
          "200": {
            "description": "Array of Service has many Tenant through TenantService",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tenant"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "ServiceTenantController.find"
      },
      "delete": {
        "x-controller-name": "ServiceTenantController",
        "x-operation-name": "delete",
        "tags": [
          "ServiceTenantController"
        ],
        "responses": {
          "200": {
            "description": "Service.Tenant DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Tenant.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Tenant>"
                }
              }
            }
          }
        ],
        "operationId": "ServiceTenantController.delete"
      }
    },
    "/services/{id}": {
      "put": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "replaceById",
        "tags": [
          "ServiceController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Service PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Service"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ServiceController.replaceById"
      },
      "patch": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "updateById",
        "tags": [
          "ServiceController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Service PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServicePartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ServiceController.updateById"
      },
      "get": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "findById",
        "tags": [
          "ServiceController"
        ],
        "responses": {
          "200": {
            "description": "Service model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Service.Filter"
                }
              }
            }
          }
        ],
        "operationId": "ServiceController.findById"
      },
      "delete": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "deleteById",
        "tags": [
          "ServiceController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Service DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ServiceController.deleteById"
      }
    },
    "/services": {
      "post": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "create",
        "tags": [
          "ServiceController"
        ],
        "responses": {
          "200": {
            "description": "Service model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Service"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewService"
              }
            }
          }
        },
        "operationId": "ServiceController.create"
      },
      "patch": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "updateAll",
        "tags": [
          "ServiceController"
        ],
        "responses": {
          "200": {
            "description": "Service PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Service.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Service>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServicePartial"
              }
            }
          }
        },
        "operationId": "ServiceController.updateAll"
      },
      "get": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "find",
        "tags": [
          "ServiceController"
        ],
        "responses": {
          "200": {
            "description": "Array of Service model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Service.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "ServiceController.find"
      }
    },
    "/submit-cci": {
      "post": {
        "x-controller-name": "CciController",
        "x-operation-name": "submitCci",
        "tags": [
          "CciController"
        ],
        "responses": {
          "200": {
            "description": "Stores user CCI score and details",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "description": "Payload containing user responses and metadata",
          "required": true
        },
        "operationId": "CciController.submitCci"
      }
    },
    "/sync-employee-job-and-location": {
      "post": {
        "x-controller-name": "WorkerSyncController",
        "x-operation-name": "syncEmployeeJobAndLocation",
        "tags": [
          "WorkerSyncController"
        ],
        "responses": {
          "200": {
            "description": "Replace employee jobCode and locationCode with actual job names and location names from Oracle data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "totalEmployees": {
                      "type": "number"
                    },
                    "jobCodesReplaced": {
                      "type": "number"
                    },
                    "locationCodesReplaced": {
                      "type": "number"
                    },
                    "jobsNotFound": {
                      "type": "number"
                    },
                    "locationsNotFound": {
                      "type": "number"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "WorkerSyncController.syncEmployeeJobAndLocation"
      }
    },
    "/sync-oracle-jobs": {
      "post": {
        "x-controller-name": "OracleJobsController",
        "x-operation-name": "syncOracleJobs",
        "tags": [
          "OracleJobsController"
        ],
        "responses": {
          "200": {
            "description": "Oracle jobs synchronization result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "totalFetched": {
                      "type": "number"
                    },
                    "saved": {
                      "type": "number"
                    },
                    "batchesProcessed": {
                      "type": "number"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "OracleJobsController.syncOracleJobs"
      }
    },
    "/sync-oracle-locations": {
      "post": {
        "x-controller-name": "OracleLocationsController",
        "x-operation-name": "syncOracleLocations",
        "tags": [
          "OracleLocationsController"
        ],
        "responses": {
          "200": {
            "description": "Oracle locations synchronization result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "totalFetched": {
                      "type": "number"
                    },
                    "saved": {
                      "type": "number"
                    },
                    "batchesProcessed": {
                      "type": "number"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "OracleLocationsController.syncOracleLocations"
      }
    },
    "/sync-specific-employees": {
      "post": {
        "x-controller-name": "WorkerSyncController",
        "x-operation-name": "syncSpecificEmployees",
        "tags": [
          "WorkerSyncController"
        ],
        "responses": {
          "200": {
            "description": "Force sync specific employees by employee numbers",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "employeeNumbers": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "results": {
                      "type": "array"
                    },
                    "totalProcessed": {
                      "type": "number"
                    },
                    "totalFound": {
                      "type": "number"
                    },
                    "totalSaved": {
                      "type": "number"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "employeeNumbers": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Array of employee numbers to sync (e.g., [\"144999\", \"145000\"])"
                  }
                },
                "required": [
                  "employeeNumbers"
                ]
              }
            }
          }
        },
        "operationId": "WorkerSyncController.syncSpecificEmployees"
      }
    },
    "/sync-workers": {
      "post": {
        "x-controller-name": "WorkerSyncController",
        "x-operation-name": "syncWorkers",
        "tags": [
          "WorkerSyncController"
        ],
        "responses": {
          "200": {
            "description": "Worker synchronization result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "totalFetched": {
                      "type": "number"
                    },
                    "saved": {
                      "type": "number"
                    },
                    "skipped": {
                      "type": "number"
                    },
                    "deleted": {
                      "type": "number"
                    },
                    "batchesProcessed": {
                      "type": "number"
                    },
                    "emailsAdded": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "WorkerSyncController.syncWorkers"
      }
    },
    "/sync-workers-batch/{batchSize}": {
      "post": {
        "x-controller-name": "WorkerSyncController",
        "x-operation-name": "syncWorkersWithBatchSize",
        "tags": [
          "WorkerSyncController"
        ],
        "responses": {
          "200": {
            "description": "Worker synchronization result with custom batch size",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "totalFetched": {
                      "type": "number"
                    },
                    "saved": {
                      "type": "number"
                    },
                    "skipped": {
                      "type": "number"
                    },
                    "deleted": {
                      "type": "number"
                    },
                    "batchesProcessed": {
                      "type": "number"
                    },
                    "batchSize": {
                      "type": "number"
                    },
                    "emailsAdded": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "batchSize",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "WorkerSyncController.syncWorkersWithBatchSize"
      }
    },
    "/sync-workers-comprehensive": {
      "post": {
        "x-controller-name": "WorkerSyncController",
        "x-operation-name": "syncWorkersComprehensive",
        "tags": [
          "WorkerSyncController"
        ],
        "responses": {
          "200": {
            "description": "Comprehensive worker synchronization that handles edge cases better",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "totalFetched": {
                      "type": "number"
                    },
                    "saved": {
                      "type": "number"
                    },
                    "skipped": {
                      "type": "number"
                    },
                    "deleted": {
                      "type": "number"
                    },
                    "batchesProcessed": {
                      "type": "number"
                    },
                    "emailsAdded": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "lastOffset": {
                      "type": "number"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "WorkerSyncController.syncWorkersComprehensive"
      }
    },
    "/sync-workers-enhanced": {
      "post": {
        "x-controller-name": "WorkerSyncController",
        "x-operation-name": "syncWorkersEnhanced",
        "tags": [
          "WorkerSyncController"
        ],
        "responses": {
          "200": {
            "description": "Enhanced worker synchronization that uses multiple strategies to ensure completeness",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "totalFetched": {
                      "type": "number"
                    },
                    "saved": {
                      "type": "number"
                    },
                    "skipped": {
                      "type": "number"
                    },
                    "deleted": {
                      "type": "number"
                    },
                    "strategiesUsed": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "strategyResults": {
                      "type": "object"
                    },
                    "emailsAdded": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "WorkerSyncController.syncWorkersEnhanced"
      }
    },
    "/sync-workers-reverse": {
      "post": {
        "x-controller-name": "WorkerSyncController",
        "x-operation-name": "syncWorkersReverse",
        "tags": [
          "WorkerSyncController"
        ],
        "responses": {
          "200": {
            "description": "Reverse worker synchronization result (fetches from highest offset backwards)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "totalFetched": {
                      "type": "number"
                    },
                    "saved": {
                      "type": "number"
                    },
                    "skipped": {
                      "type": "number"
                    },
                    "deleted": {
                      "type": "number"
                    },
                    "batchesProcessed": {
                      "type": "number"
                    },
                    "emailsAdded": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "WorkerSyncController.syncWorkersReverse"
      }
    },
    "/sync-workers-with-integrity-check": {
      "post": {
        "x-controller-name": "WorkerSyncController",
        "x-operation-name": "syncWorkersWithIntegrityCheck",
        "tags": [
          "WorkerSyncController"
        ],
        "responses": {
          "200": {
            "description": "Worker synchronization with database integrity checks and repairs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "totalFetched": {
                      "type": "number"
                    },
                    "saved": {
                      "type": "number"
                    },
                    "skipped": {
                      "type": "number"
                    },
                    "deleted": {
                      "type": "number"
                    },
                    "integrityIssuesFound": {
                      "type": "number"
                    },
                    "integrityIssuesFixed": {
                      "type": "number"
                    },
                    "duplicatesRemoved": {
                      "type": "number"
                    },
                    "orphanedRecordsFixed": {
                      "type": "number"
                    },
                    "emailsAdded": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "WorkerSyncController.syncWorkersWithIntegrityCheck"
      }
    },
    "/syncDropdowns": {
      "post": {
        "x-controller-name": "DropdownController",
        "x-operation-name": "syncServices",
        "tags": [
          "DropdownController"
        ],
        "responses": {
          "200": {
            "description": "Array of Service model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DropdownWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Dropdown.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "DropdownController.syncServices"
      }
    },
    "/syncServices": {
      "post": {
        "x-controller-name": "ServiceController",
        "x-operation-name": "syncServices",
        "tags": [
          "ServiceController"
        ],
        "responses": {
          "200": {
            "description": "Array of Service model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Service.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "ServiceController.syncServices"
      }
    },
    "/tenant-services/{tenantId}/{serviceId}": {
      "delete": {
        "x-controller-name": "TenantServiceController",
        "x-operation-name": "deleteTenantService",
        "tags": [
          "TenantServiceController"
        ],
        "responses": {
          "200": {
            "description": "Return value of TenantServiceController.deleteTenantService"
          }
        },
        "parameters": [
          {
            "name": "tenantId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "serviceId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TenantServiceController.deleteTenantService"
      }
    },
    "/tenant-services": {
      "post": {
        "x-controller-name": "TenantServiceController",
        "x-operation-name": "createTenantService",
        "tags": [
          "TenantServiceController"
        ],
        "responses": {
          "200": {
            "description": "Return value of TenantServiceController.createTenantService"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "tenantId": {
                    "type": "string"
                  },
                  "serviceId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "TenantServiceController.createTenantService"
      }
    },
    "/tenants/count": {
      "get": {
        "x-controller-name": "TenantController",
        "x-operation-name": "count",
        "tags": [
          "TenantController"
        ],
        "responses": {
          "200": {
            "description": "Tenant model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Tenant.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Tenant>"
                }
              }
            }
          }
        ],
        "operationId": "TenantController.count"
      }
    },
    "/tenants/services": {
      "get": {
        "x-controller-name": "TenantServiceController",
        "x-operation-name": "findServices",
        "tags": [
          "TenantServiceController"
        ],
        "responses": {
          "200": {
            "description": "Array of Tenant has many Service through TenantService",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Service"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "TenantServiceController.findServices"
      }
    },
    "/tenants/{id}/services": {
      "post": {
        "x-controller-name": "TenantServiceController",
        "x-operation-name": "create",
        "tags": [
          "TenantServiceController"
        ],
        "responses": {
          "200": {
            "description": "create a Service model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Service"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewServiceInTenant"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TenantServiceController.create"
      },
      "patch": {
        "x-controller-name": "TenantServiceController",
        "x-operation-name": "patch",
        "tags": [
          "TenantServiceController"
        ],
        "responses": {
          "200": {
            "description": "Tenant.Service PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Service.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Service>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServicePartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TenantServiceController.patch"
      },
      "get": {
        "x-controller-name": "TenantServiceController",
        "x-operation-name": "find",
        "tags": [
          "TenantServiceController"
        ],
        "responses": {
          "200": {
            "description": "Array of Tenant has many Service through TenantService",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Service"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "TenantServiceController.find"
      },
      "delete": {
        "x-controller-name": "TenantServiceController",
        "x-operation-name": "delete",
        "tags": [
          "TenantServiceController"
        ],
        "responses": {
          "200": {
            "description": "Tenant.Service DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Service.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Service>"
                }
              }
            }
          }
        ],
        "operationId": "TenantServiceController.delete"
      }
    },
    "/tenants/{id}": {
      "put": {
        "x-controller-name": "TenantController",
        "x-operation-name": "replaceById",
        "tags": [
          "TenantController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Tenant PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Tenant"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TenantController.replaceById"
      },
      "patch": {
        "x-controller-name": "TenantController",
        "x-operation-name": "updateById",
        "tags": [
          "TenantController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Tenant PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TenantController.updateById"
      },
      "get": {
        "x-controller-name": "TenantController",
        "x-operation-name": "findById",
        "tags": [
          "TenantController"
        ],
        "responses": {
          "200": {
            "description": "Tenant model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TenantWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Tenant.Filter"
                }
              }
            }
          }
        ],
        "operationId": "TenantController.findById"
      },
      "delete": {
        "x-controller-name": "TenantController",
        "x-operation-name": "deleteById",
        "tags": [
          "TenantController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Tenant DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TenantController.deleteById"
      }
    },
    "/tenants": {
      "post": {
        "x-controller-name": "TenantController",
        "x-operation-name": "create",
        "tags": [
          "TenantController"
        ],
        "responses": {
          "200": {
            "description": "Tenant model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Tenant"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewTenant"
              }
            }
          }
        },
        "operationId": "TenantController.create"
      },
      "patch": {
        "x-controller-name": "TenantController",
        "x-operation-name": "updateAll",
        "tags": [
          "TenantController"
        ],
        "responses": {
          "200": {
            "description": "Tenant PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Tenant.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Tenant>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TenantPartial"
              }
            }
          }
        },
        "operationId": "TenantController.updateAll"
      },
      "get": {
        "x-controller-name": "TenantController",
        "x-operation-name": "find",
        "tags": [
          "TenantController"
        ],
        "responses": {
          "200": {
            "description": "Array of Tenant model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TenantWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Tenant.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "TenantController.find"
      }
    },
    "/test-oracle-connection": {
      "get": {
        "x-controller-name": "WorkerSyncController",
        "x-operation-name": "testConnection",
        "tags": [
          "WorkerSyncController"
        ],
        "responses": {
          "200": {
            "description": "Test Oracle HCM connection",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "success": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "details": {
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "WorkerSyncController.testConnection"
      }
    },
    "/training-assignments/active": {
      "get": {
        "x-controller-name": "TrainingAssignmentController",
        "x-operation-name": "findActiveAssignments",
        "tags": [
          "TrainingAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "Array of active TrainingAssignment instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TrainingAssignmentWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "fromDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "TrainingAssignmentController.findActiveAssignments"
      }
    },
    "/training-assignments/by-knowledge-hierarchy": {
      "get": {
        "x-controller-name": "TrainingAssignmentController",
        "x-operation-name": "findByKnowledgeHierarchy",
        "tags": [
          "TrainingAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "Array of TrainingAssignment instances filtered by knowledge hierarchy",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TrainingAssignmentWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "knowledgeAreaId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "knowledgeTopicId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "knowledgeUnitId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "TrainingAssignmentController.findByKnowledgeHierarchy"
      }
    },
    "/training-assignments/count": {
      "get": {
        "x-controller-name": "TrainingAssignmentController",
        "x-operation-name": "count",
        "tags": [
          "TrainingAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "TrainingAssignment model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "TrainingAssignment.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<TrainingAssignment>"
                }
              }
            }
          }
        ],
        "operationId": "TrainingAssignmentController.count"
      }
    },
    "/training-assignments/enriched": {
      "get": {
        "x-controller-name": "TrainingAssignmentController",
        "x-operation-name": "findEnriched",
        "tags": [
          "TrainingAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "Array of TrainingAssignment model instances with enriched hierarchy data (IDs and names)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "knowledgeAreaId": {
                        "type": "string"
                      },
                      "knowledgeTopicId": {
                        "type": "string"
                      },
                      "knowledgeUnitId": {
                        "type": "string"
                      },
                      "fromDatetime": {
                        "type": "string"
                      },
                      "toDatetime": {
                        "type": "string"
                      },
                      "totalHours": {
                        "type": "number"
                      },
                      "isAllDay": {
                        "type": "boolean"
                      },
                      "repeatOption": {
                        "type": "string"
                      },
                      "trainerId": {
                        "type": "string"
                      },
                      "location": {
                        "type": "string"
                      },
                      "capacity": {
                        "type": "number"
                      },
                      "description": {
                        "type": "string"
                      },
                      "status": {
                        "type": "string"
                      },
                      "businessUnitsWithNames": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "number"
                            },
                            "name": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "departmentsWithNames": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "number"
                            },
                            "name": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "jobCodesWithNames": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "number"
                            },
                            "name": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "workerTypesWithNames": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "gradeCodesWithNames": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "number"
                            },
                            "name": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "knowledgeArea": {
                        "type": "object"
                      },
                      "knowledgeTopic": {
                        "type": "object"
                      },
                      "knowledgeUnit": {
                        "type": "object"
                      },
                      "createdUser": {
                        "type": "object"
                      },
                      "trainer": {
                        "type": "object"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "TrainingAssignmentController.findEnriched"
      }
    },
    "/training-assignments/{id}/business-units/link/{businessUnitId}": {
      "post": {
        "x-controller-name": "TrainingAssignmentBusinessUnitController",
        "x-operation-name": "link",
        "tags": [
          "TrainingAssignmentBusinessUnitController"
        ],
        "responses": {
          "200": {
            "description": "Return value of TrainingAssignmentBusinessUnitController.link"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "businessUnitId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TrainingAssignmentBusinessUnitController.link"
      }
    },
    "/training-assignments/{id}/business-units/unlink/{businessUnitId}": {
      "delete": {
        "x-controller-name": "TrainingAssignmentBusinessUnitController",
        "x-operation-name": "unlink",
        "tags": [
          "TrainingAssignmentBusinessUnitController"
        ],
        "responses": {
          "200": {
            "description": "Return value of TrainingAssignmentBusinessUnitController.unlink"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "businessUnitId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TrainingAssignmentBusinessUnitController.unlink"
      }
    },
    "/training-assignments/{id}/business-units": {
      "post": {
        "x-controller-name": "TrainingAssignmentBusinessUnitController",
        "x-operation-name": "create",
        "tags": [
          "TrainingAssignmentBusinessUnitController"
        ],
        "responses": {
          "200": {
            "description": "create a BusinessUnit model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BusinessUnit"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewBusinessUnitInTrainingAssignment"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TrainingAssignmentBusinessUnitController.create"
      },
      "patch": {
        "x-controller-name": "TrainingAssignmentBusinessUnitController",
        "x-operation-name": "patch",
        "tags": [
          "TrainingAssignmentBusinessUnitController"
        ],
        "responses": {
          "200": {
            "description": "TrainingAssignment.BusinessUnit PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "BusinessUnit.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<BusinessUnit>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BusinessUnitPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TrainingAssignmentBusinessUnitController.patch"
      },
      "get": {
        "x-controller-name": "TrainingAssignmentBusinessUnitController",
        "x-operation-name": "find",
        "tags": [
          "TrainingAssignmentBusinessUnitController"
        ],
        "responses": {
          "200": {
            "description": "Array of TrainingAssignment has many BusinessUnit through TrainingAssignmentBusinessUnit",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BusinessUnit"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "TrainingAssignmentBusinessUnitController.find"
      },
      "delete": {
        "x-controller-name": "TrainingAssignmentBusinessUnitController",
        "x-operation-name": "delete",
        "tags": [
          "TrainingAssignmentBusinessUnitController"
        ],
        "responses": {
          "200": {
            "description": "TrainingAssignment.BusinessUnit DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "BusinessUnit.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<BusinessUnit>"
                }
              }
            }
          }
        ],
        "operationId": "TrainingAssignmentBusinessUnitController.delete"
      }
    },
    "/training-assignments/{id}/cancel": {
      "post": {
        "x-controller-name": "TrainingAssignmentController",
        "x-operation-name": "cancelTraining",
        "tags": [
          "TrainingAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "Cancel training assignment",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingAssignment"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "reason": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TrainingAssignmentController.cancelTraining"
      }
    },
    "/training-assignments/{id}/session-stats": {
      "get": {
        "x-controller-name": "TrainingSessionController",
        "x-operation-name": "getSessionStats",
        "tags": [
          "TrainingSessionController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Get training session statistics"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TrainingSessionController.getSessionStats"
      }
    },
    "/training-assignments/{id}/trainer": {
      "get": {
        "x-controller-name": "TrainingAssignmentUserController",
        "x-operation-name": "getTrainer",
        "tags": [
          "TrainingAssignmentUserController"
        ],
        "responses": {
          "200": {
            "description": "Employee (Trainer) belonging to TrainingAssignment",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Employee"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TrainingAssignmentUserController.getTrainer"
      }
    },
    "/training-assignments/{id}/trainer-approve": {
      "post": {
        "x-controller-name": "TrainingAssignmentController",
        "x-operation-name": "trainerApproveTraining",
        "tags": [
          "TrainingAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "Training assignment approved by trainer",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "trainingAssignmentId": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "trainerApproved": {
                      "type": "boolean"
                    },
                    "trainerApprovedAt": {
                      "type": "string"
                    },
                    "trainerApprovedBy": {
                      "type": "string"
                    },
                    "postTestEnabled": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TrainingAssignmentController.trainerApproveTraining"
      }
    },
    "/training-assignments/{id}": {
      "put": {
        "x-controller-name": "TrainingAssignmentController",
        "x-operation-name": "replaceById",
        "tags": [
          "TrainingAssignmentController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "TrainingAssignment PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TrainingAssignment"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TrainingAssignmentController.replaceById"
      },
      "patch": {
        "x-controller-name": "TrainingAssignmentController",
        "x-operation-name": "updateById",
        "tags": [
          "TrainingAssignmentController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "TrainingAssignment PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TrainingAssignmentPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TrainingAssignmentController.updateById"
      },
      "get": {
        "x-controller-name": "TrainingAssignmentController",
        "x-operation-name": "findById",
        "tags": [
          "TrainingAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "TrainingAssignment model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingAssignmentWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingAssignment.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "TrainingAssignmentController.findById"
      },
      "delete": {
        "x-controller-name": "TrainingAssignmentController",
        "x-operation-name": "deleteById",
        "tags": [
          "TrainingAssignmentController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "TrainingAssignment DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TrainingAssignmentController.deleteById"
      }
    },
    "/training-assignments": {
      "post": {
        "x-controller-name": "TrainingAssignmentController",
        "x-operation-name": "create",
        "tags": [
          "TrainingAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "TrainingAssignment model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingAssignment"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "knowledgeAreaId": {
                    "type": "string"
                  },
                  "knowledgeTopicId": {
                    "type": "string"
                  },
                  "knowledgeUnitId": {
                    "type": "string"
                  },
                  "fromDatetime": {
                    "type": "string"
                  },
                  "toDatetime": {
                    "type": "string"
                  },
                  "totalHours": {
                    "type": "number"
                  },
                  "isAllDay": {
                    "type": "boolean"
                  },
                  "repeatOption": {
                    "type": "string"
                  },
                  "trainerId": {
                    "type": "string"
                  },
                  "location": {
                    "type": "string"
                  },
                  "capacity": {
                    "type": "number"
                  },
                  "description": {
                    "type": "string"
                  },
                  "businessUnitIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "departmentIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "jobCodeIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  },
                  "workerTypes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "gradeCodeIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  }
                },
                "required": [
                  "knowledgeAreaId",
                  "knowledgeTopicId",
                  "knowledgeUnitId",
                  "fromDatetime",
                  "toDatetime",
                  "totalHours",
                  "trainerId"
                ]
              }
            }
          }
        },
        "operationId": "TrainingAssignmentController.create"
      },
      "get": {
        "x-controller-name": "TrainingAssignmentController",
        "x-operation-name": "find",
        "tags": [
          "TrainingAssignmentController"
        ],
        "responses": {
          "200": {
            "description": "Array of TrainingAssignment model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TrainingAssignmentWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingAssignment.Filter"
                }
              }
            }
          }
        ],
        "operationId": "TrainingAssignmentController.find"
      }
    },
    "/training-nominations/by-training-assignment/{trainingAssignmentId}": {
      "get": {
        "x-controller-name": "TrainingNominationController",
        "x-operation-name": "findByTrainingAssignment",
        "tags": [
          "TrainingNominationController"
        ],
        "responses": {
          "200": {
            "description": "Array of TrainingNomination instances for a specific training assignment with enriched training assignment data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TrainingNominationWithRelations"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "trainingAssignment": {
                            "type": "object",
                            "properties": {
                              "knowledgeAreaName": {
                                "type": "string"
                              },
                              "knowledgeTopicName": {
                                "type": "string"
                              },
                              "knowledgeUnitName": {
                                "type": "string"
                              },
                              "trainerName": {
                                "type": "string"
                              },
                              "businessUnitsWithNames": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "number"
                                    },
                                    "name": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "trainingAssignmentId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TrainingNominationController.findByTrainingAssignment"
      }
    },
    "/training-nominations/count": {
      "get": {
        "x-controller-name": "TrainingNominationController",
        "x-operation-name": "count",
        "tags": [
          "TrainingNominationController"
        ],
        "responses": {
          "200": {
            "description": "TrainingNomination model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "TrainingNomination.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<TrainingNomination>"
                }
              }
            }
          }
        ],
        "operationId": "TrainingNominationController.count"
      }
    },
    "/training-nominations/my-nominations": {
      "get": {
        "x-controller-name": "TrainingNominationController",
        "x-operation-name": "findMyNominations",
        "tags": [
          "TrainingNominationController"
        ],
        "responses": {
          "200": {
            "description": "Array of TrainingNomination instances for current user with enriched training assignment data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TrainingNominationWithRelations"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "trainingAssignment": {
                            "type": "object",
                            "properties": {
                              "knowledgeAreaName": {
                                "type": "string"
                              },
                              "knowledgeTopicName": {
                                "type": "string"
                              },
                              "knowledgeUnitName": {
                                "type": "string"
                              },
                              "trainerName": {
                                "type": "string"
                              },
                              "businessUnitsWithNames": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "number"
                                    },
                                    "name": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "operationId": "TrainingNominationController.findMyNominations"
      }
    },
    "/training-nominations/nominate-other": {
      "post": {
        "x-controller-name": "TrainingNominationController",
        "x-operation-name": "nominateOther",
        "tags": [
          "TrainingNominationController"
        ],
        "responses": {
          "200": {
            "description": "Nominate another user for training assignment",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingNomination"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "trainingAssignmentId",
                  "nominatedUserId"
                ],
                "properties": {
                  "trainingAssignmentId": {
                    "type": "string"
                  },
                  "nominatedUserId": {
                    "type": "string"
                  },
                  "notes": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "TrainingNominationController.nominateOther"
      }
    },
    "/training-nominations/pending": {
      "get": {
        "x-controller-name": "TrainingNominationController",
        "x-operation-name": "findPendingNominations",
        "tags": [
          "TrainingNominationController"
        ],
        "responses": {
          "200": {
            "description": "Array of pending TrainingNomination instances for trainer review with enriched training assignment data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TrainingNominationWithRelations"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "trainingAssignment": {
                            "type": "object",
                            "properties": {
                              "knowledgeAreaName": {
                                "type": "string"
                              },
                              "knowledgeTopicName": {
                                "type": "string"
                              },
                              "knowledgeUnitName": {
                                "type": "string"
                              },
                              "trainerName": {
                                "type": "string"
                              },
                              "businessUnitsWithNames": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "number"
                                    },
                                    "name": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "operationId": "TrainingNominationController.findPendingNominations"
      }
    },
    "/training-nominations/self-nominate": {
      "post": {
        "x-controller-name": "TrainingNominationController",
        "x-operation-name": "selfNominate",
        "tags": [
          "TrainingNominationController"
        ],
        "responses": {
          "200": {
            "description": "Self-nomination for training assignment",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingNomination"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "trainingAssignmentId"
                ],
                "properties": {
                  "trainingAssignmentId": {
                    "type": "string"
                  },
                  "notes": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "TrainingNominationController.selfNominate"
      }
    },
    "/training-nominations/{id}/approve": {
      "patch": {
        "x-controller-name": "TrainingNominationController",
        "x-operation-name": "approveNomination",
        "tags": [
          "TrainingNominationController"
        ],
        "responses": {
          "200": {
            "description": "Approve training nomination (Trainer only)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingNomination"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "notes": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TrainingNominationController.approveNomination"
      }
    },
    "/training-nominations/{id}/reject": {
      "patch": {
        "x-controller-name": "TrainingNominationController",
        "x-operation-name": "rejectNomination",
        "tags": [
          "TrainingNominationController"
        ],
        "responses": {
          "200": {
            "description": "Reject training nomination (Trainer only)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingNomination"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "rejectionReason"
                ],
                "properties": {
                  "rejectionReason": {
                    "type": "string"
                  },
                  "notes": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TrainingNominationController.rejectNomination"
      }
    },
    "/training-nominations/{id}": {
      "patch": {
        "x-controller-name": "TrainingNominationController",
        "x-operation-name": "updateById",
        "tags": [
          "TrainingNominationController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "TrainingNomination PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TrainingNominationPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TrainingNominationController.updateById"
      },
      "get": {
        "x-controller-name": "TrainingNominationController",
        "x-operation-name": "findById",
        "tags": [
          "TrainingNominationController"
        ],
        "responses": {
          "200": {
            "description": "TrainingNomination model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingNominationWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingNomination.Filter"
                }
              }
            }
          }
        ],
        "operationId": "TrainingNominationController.findById"
      },
      "delete": {
        "x-controller-name": "TrainingNominationController",
        "x-operation-name": "deleteById",
        "tags": [
          "TrainingNominationController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "TrainingNomination DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TrainingNominationController.deleteById"
      }
    },
    "/training-nominations": {
      "get": {
        "x-controller-name": "TrainingNominationController",
        "x-operation-name": "find",
        "tags": [
          "TrainingNominationController"
        ],
        "responses": {
          "200": {
            "description": "Array of TrainingNomination model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TrainingNominationWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingNomination.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "TrainingNominationController.find"
      }
    },
    "/training-programs/active": {
      "get": {
        "x-controller-name": "TrainingProgramController",
        "x-operation-name": "findActive",
        "tags": [
          "TrainingProgramController"
        ],
        "responses": {
          "200": {
            "description": "Array of active TrainingProgram instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TrainingProgramWithRelations"
                  }
                }
              }
            }
          }
        },
        "operationId": "TrainingProgramController.findActive"
      }
    },
    "/training-programs/by-job-role": {
      "get": {
        "x-controller-name": "TrainingProgramController",
        "x-operation-name": "findByJobRoleAssignment",
        "tags": [
          "TrainingProgramController"
        ],
        "responses": {
          "200": {
            "description": "Array of TrainingProgram instances filtered by job role assignment",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TrainingProgramWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "businessUnit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workerType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "department",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jobName",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "gradeCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "TrainingProgramController.findByJobRoleAssignment"
      }
    },
    "/training-programs/by-knowledge-hierarchy": {
      "get": {
        "x-controller-name": "TrainingProgramController",
        "x-operation-name": "findByKnowledgeHierarchy",
        "tags": [
          "TrainingProgramController"
        ],
        "responses": {
          "200": {
            "description": "Array of TrainingProgram instances filtered by knowledge hierarchy",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TrainingProgramWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "knowledgeAreaId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "knowledgeTopicId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "knowledgeUnitId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "TrainingProgramController.findByKnowledgeHierarchy"
      }
    },
    "/training-programs/by-type/{type}": {
      "get": {
        "x-controller-name": "TrainingProgramController",
        "x-operation-name": "findByType",
        "tags": [
          "TrainingProgramController"
        ],
        "responses": {
          "200": {
            "description": "Array of TrainingProgram instances filtered by type",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TrainingProgramWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "type",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TrainingProgramController.findByType"
      }
    },
    "/training-programs/count": {
      "get": {
        "x-controller-name": "TrainingProgramController",
        "x-operation-name": "count",
        "tags": [
          "TrainingProgramController"
        ],
        "responses": {
          "200": {
            "description": "TrainingProgram model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "TrainingProgram.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<TrainingProgram>"
                }
              }
            }
          }
        ],
        "operationId": "TrainingProgramController.count"
      }
    },
    "/training-programs/{id}": {
      "put": {
        "x-controller-name": "TrainingProgramController",
        "x-operation-name": "replaceById",
        "tags": [
          "TrainingProgramController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "TrainingProgram PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TrainingProgram"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TrainingProgramController.replaceById"
      },
      "patch": {
        "x-controller-name": "TrainingProgramController",
        "x-operation-name": "updateById",
        "tags": [
          "TrainingProgramController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "TrainingProgram PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TrainingProgramPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TrainingProgramController.updateById"
      },
      "get": {
        "x-controller-name": "TrainingProgramController",
        "x-operation-name": "findById",
        "tags": [
          "TrainingProgramController"
        ],
        "responses": {
          "200": {
            "description": "TrainingProgram model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingProgramWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingProgram.Filter"
                }
              }
            }
          }
        ],
        "operationId": "TrainingProgramController.findById"
      },
      "delete": {
        "x-controller-name": "TrainingProgramController",
        "x-operation-name": "deleteById",
        "tags": [
          "TrainingProgramController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "TrainingProgram DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TrainingProgramController.deleteById"
      }
    },
    "/training-programs": {
      "post": {
        "x-controller-name": "TrainingProgramController",
        "x-operation-name": "create",
        "tags": [
          "TrainingProgramController"
        ],
        "responses": {
          "200": {
            "description": "TrainingProgram model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingProgram"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewTrainingProgram"
              }
            }
          }
        },
        "operationId": "TrainingProgramController.create"
      },
      "patch": {
        "x-controller-name": "TrainingProgramController",
        "x-operation-name": "updateAll",
        "tags": [
          "TrainingProgramController"
        ],
        "responses": {
          "200": {
            "description": "TrainingProgram PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "TrainingProgram.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<TrainingProgram>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TrainingProgramPartial"
              }
            }
          }
        },
        "operationId": "TrainingProgramController.updateAll"
      },
      "get": {
        "x-controller-name": "TrainingProgramController",
        "x-operation-name": "find",
        "tags": [
          "TrainingProgramController"
        ],
        "responses": {
          "200": {
            "description": "Array of TrainingProgram model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TrainingProgramWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingProgram.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "TrainingProgramController.find"
      }
    },
    "/training-sessions/start": {
      "post": {
        "x-controller-name": "TrainingSessionController",
        "x-operation-name": "startTrainingSession",
        "tags": [
          "TrainingSessionController"
        ],
        "responses": {
          "200": {
            "description": "Start training session",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingSession"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "trainingAssignmentId"
                ],
                "properties": {
                  "trainingAssignmentId": {
                    "type": "string"
                  },
                  "trainingNominationId": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "TrainingSessionController.startTrainingSession"
      }
    },
    "/training-sessions/{id}/attendance-summary": {
      "get": {
        "x-controller-name": "TrainingSessionController",
        "x-operation-name": "getAttendanceSummary",
        "tags": [
          "TrainingSessionController"
        ],
        "responses": {
          "200": {
            "description": "Get attendance summary",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "initialAttendance": {
                      "$ref": "#/components/schemas/TrainingAttendance"
                    },
                    "punchRecords": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TrainingAttendance"
                      }
                    },
                    "summary": {
                      "type": "object",
                      "properties": {
                        "totalTimeSpent": {
                          "type": "number"
                        },
                        "punchInCount": {
                          "type": "number"
                        },
                        "punchOutCount": {
                          "type": "number"
                        },
                        "isCurrentlyPunchedIn": {
                          "type": "boolean"
                        },
                        "lastPunchType": {
                          "type": "string"
                        },
                        "lastPunchTime": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TrainingSessionController.getAttendanceSummary"
      }
    },
    "/training-sessions/{id}/complete": {
      "post": {
        "x-controller-name": "TrainingSessionController",
        "x-operation-name": "completeTrainingSession",
        "tags": [
          "TrainingSessionController"
        ],
        "responses": {
          "200": {
            "description": "Complete training session",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingSession"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TrainingSessionController.completeTrainingSession"
      }
    },
    "/training-sessions/{id}/complete-training": {
      "post": {
        "x-controller-name": "TrainingSessionController",
        "x-operation-name": "completeTraining",
        "tags": [
          "TrainingSessionController"
        ],
        "responses": {
          "200": {
            "description": "Mark training as completed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingSession"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TrainingSessionController.completeTraining"
      }
    },
    "/training-sessions/{id}/dynamic-punch": {
      "post": {
        "x-controller-name": "TrainingSessionController",
        "x-operation-name": "dynamicPunch",
        "tags": [
          "TrainingSessionController"
        ],
        "responses": {
          "200": {
            "description": "Dynamic punch in or out based on training progress",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "attendance": {
                      "$ref": "#/components/schemas/TrainingAttendance"
                    },
                    "action": {
                      "type": "string",
                      "enum": [
                        "punch_in",
                        "punch_out"
                      ]
                    },
                    "stage": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    },
                    "nextAction": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "location": {
                    "type": "object",
                    "properties": {
                      "latitude": {
                        "type": "number"
                      },
                      "longitude": {
                        "type": "number"
                      },
                      "address": {
                        "type": "string"
                      },
                      "accuracy": {
                        "type": "number"
                      },
                      "altitude": {
                        "type": "number"
                      },
                      "heading": {
                        "type": "number"
                      },
                      "speed": {
                        "type": "number"
                      }
                    }
                  },
                  "ipAddress": {
                    "type": "string"
                  },
                  "deviceInfo": {
                    "type": "object",
                    "properties": {
                      "userAgent": {
                        "type": "string"
                      },
                      "platform": {
                        "type": "string"
                      },
                      "deviceType": {
                        "type": "string"
                      },
                      "browserName": {
                        "type": "string"
                      },
                      "browserVersion": {
                        "type": "string"
                      }
                    }
                  },
                  "notes": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TrainingSessionController.dynamicPunch"
      }
    },
    "/training-sessions/{id}/generate-next-test": {
      "post": {
        "x-controller-name": "TrainingSessionController",
        "x-operation-name": "generateNextTest",
        "tags": [
          "TrainingSessionController"
        ],
        "responses": {
          "200": {
            "description": "Generate next available test (pre-test or post-test)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "test": {
                      "$ref": "#/components/schemas/TrainingTest"
                    },
                    "testType": {
                      "type": "string",
                      "enum": [
                        "pre_test",
                        "post_test"
                      ]
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TrainingSessionController.generateNextTest"
      }
    },
    "/training-sessions/{id}/generate-test": {
      "post": {
        "x-controller-name": "TrainingSessionController",
        "x-operation-name": "generateTest",
        "tags": [
          "TrainingSessionController"
        ],
        "responses": {
          "200": {
            "description": "Generate test",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingTest"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "testType"
                ],
                "properties": {
                  "testType": {
                    "type": "string",
                    "enum": [
                      "pre_test",
                      "post_test"
                    ]
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TrainingSessionController.generateTest"
      }
    },
    "/training-sessions/{id}/mark-attendance": {
      "post": {
        "x-controller-name": "TrainingSessionController",
        "x-operation-name": "markAttendance",
        "tags": [
          "TrainingSessionController"
        ],
        "responses": {
          "200": {
            "description": "Mark initial attendance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingAttendance"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "status"
                ],
                "properties": {
                  "status": {
                    "type": "string",
                    "enum": [
                      "present",
                      "absent",
                      "late"
                    ]
                  },
                  "location": {
                    "type": "object",
                    "properties": {
                      "latitude": {
                        "type": "number"
                      },
                      "longitude": {
                        "type": "number"
                      },
                      "address": {
                        "type": "string"
                      },
                      "accuracy": {
                        "type": "number"
                      },
                      "altitude": {
                        "type": "number"
                      },
                      "heading": {
                        "type": "number"
                      },
                      "speed": {
                        "type": "number"
                      }
                    }
                  },
                  "ipAddress": {
                    "type": "string"
                  },
                  "markedBy": {
                    "type": "string"
                  },
                  "deviceInfo": {
                    "type": "object",
                    "properties": {
                      "userAgent": {
                        "type": "string"
                      },
                      "platform": {
                        "type": "string"
                      },
                      "deviceType": {
                        "type": "string"
                      },
                      "browserName": {
                        "type": "string"
                      },
                      "browserVersion": {
                        "type": "string"
                      }
                    }
                  },
                  "notes": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TrainingSessionController.markAttendance"
      }
    },
    "/training-sessions/{id}/punch": {
      "post": {
        "x-controller-name": "TrainingSessionController",
        "x-operation-name": "punchInOut",
        "tags": [
          "TrainingSessionController"
        ],
        "responses": {
          "200": {
            "description": "Punch in or out",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingAttendance"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "punchType"
                ],
                "properties": {
                  "punchType": {
                    "type": "string",
                    "enum": [
                      "punch_in",
                      "punch_out"
                    ]
                  },
                  "location": {
                    "type": "object",
                    "properties": {
                      "latitude": {
                        "type": "number"
                      },
                      "longitude": {
                        "type": "number"
                      },
                      "address": {
                        "type": "string"
                      },
                      "accuracy": {
                        "type": "number"
                      },
                      "altitude": {
                        "type": "number"
                      },
                      "heading": {
                        "type": "number"
                      },
                      "speed": {
                        "type": "number"
                      }
                    }
                  },
                  "ipAddress": {
                    "type": "string"
                  },
                  "deviceInfo": {
                    "type": "object",
                    "properties": {
                      "userAgent": {
                        "type": "string"
                      },
                      "platform": {
                        "type": "string"
                      },
                      "deviceType": {
                        "type": "string"
                      },
                      "browserName": {
                        "type": "string"
                      },
                      "browserVersion": {
                        "type": "string"
                      }
                    }
                  },
                  "notes": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "TrainingSessionController.punchInOut"
      }
    },
    "/training-sessions/{id}/punch-status": {
      "get": {
        "x-controller-name": "TrainingSessionController",
        "x-operation-name": "getPunchStatus",
        "tags": [
          "TrainingSessionController"
        ],
        "responses": {
          "200": {
            "description": "Get current punch status and required action",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "currentStatus": {
                      "type": "object",
                      "properties": {
                        "isCurrentlyPunchedIn": {
                          "type": "boolean"
                        },
                        "lastPunchType": {
                          "type": "string"
                        },
                        "lastPunchTime": {
                          "type": "string"
                        },
                        "totalTimeSpent": {
                          "type": "number"
                        }
                      }
                    },
                    "requiredAction": {
                      "type": "string",
                      "enum": [
                        "punch_in",
                        "punch_out"
                      ]
                    },
                    "reason": {
                      "type": "string"
                    },
                    "canPunch": {
                      "type": "boolean"
                    },
                    "stage": {
                      "type": "string"
                    },
                    "sessionStatus": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TrainingSessionController.getPunchStatus"
      }
    },
    "/training-sessions/{id}/reset-test/{testType}": {
      "post": {
        "x-controller-name": "TrainingSessionController",
        "x-operation-name": "resetTest",
        "tags": [
          "TrainingSessionController"
        ],
        "responses": {
          "200": {
            "description": "Reset incomplete test and allow new test generation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "resetTest": {
                      "$ref": {
                        "$ref": "#/components/schemas/TrainingTest"
                      }
                    },
                    "canGenerateNew": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "testType",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TrainingSessionController.resetTest"
      }
    },
    "/training-sessions/{id}/test/{testId}/start": {
      "post": {
        "x-controller-name": "TrainingSessionController",
        "x-operation-name": "startTest",
        "tags": [
          "TrainingSessionController"
        ],
        "responses": {
          "200": {
            "description": "Start test",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingTest"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "testId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TrainingSessionController.startTest"
      }
    },
    "/training-sessions/{id}/test/{testId}/submit": {
      "post": {
        "x-controller-name": "TrainingSessionController",
        "x-operation-name": "submitTest",
        "tags": [
          "TrainingSessionController"
        ],
        "responses": {
          "200": {
            "description": "Submit test answers",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingTest"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "testId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "answers"
                ],
                "properties": {
                  "answers": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "questionId": {
                          "type": "string"
                        },
                        "selectedOptions": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  },
                  "remarks": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "x-parameter-index": 2
        },
        "operationId": "TrainingSessionController.submitTest"
      }
    },
    "/training-sessions/{id}/test/{testTypeOrId}": {
      "get": {
        "x-controller-name": "TrainingSessionController",
        "x-operation-name": "getTest",
        "tags": [
          "TrainingSessionController"
        ],
        "responses": {
          "200": {
            "description": "Get test questions by type or test ID",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingTest"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "testTypeOrId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TrainingSessionController.getTest"
      }
    },
    "/training-sessions/{id}/test-status": {
      "get": {
        "x-controller-name": "TrainingSessionController",
        "x-operation-name": "getTestStatus",
        "tags": [
          "TrainingSessionController"
        ],
        "responses": {
          "200": {
            "description": "Get current test status",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "preTestStatus": {
                      "type": "string"
                    },
                    "postTestStatus": {
                      "type": "string"
                    },
                    "nextTestType": {
                      "type": "string"
                    },
                    "canGenerateTest": {
                      "type": "boolean"
                    },
                    "message": {
                      "type": "string"
                    },
                    "preTestEnabled": {
                      "type": "boolean"
                    },
                    "postTestEnabled": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TrainingSessionController.getTestStatus"
      }
    },
    "/training-sessions/{id}": {
      "get": {
        "x-controller-name": "TrainingSessionController",
        "x-operation-name": "getTrainingSession",
        "tags": [
          "TrainingSessionController"
        ],
        "responses": {
          "200": {
            "description": "Get training session",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrainingSession"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TrainingSessionController.getTrainingSession"
      }
    },
    "/user/me": {
      "get": {
        "x-controller-name": "UserController",
        "x-operation-name": "getMyProfile",
        "tags": [
          "UserController"
        ],
        "responses": {
          "200": {
            "description": "Current user details based on token",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "employee": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "uniqueId": {
                          "type": "number"
                        },
                        "employeeId": {
                          "type": "string"
                        },
                        "dateOfJoining": {
                          "type": "string"
                        },
                        "email": {
                          "type": "string"
                        },
                        "firstName": {
                          "type": "string"
                        },
                        "lastName": {
                          "type": "string"
                        },
                        "title": {
                          "type": "string"
                        },
                        "workerType": {
                          "type": "string"
                        },
                        "status": {
                          "type": "string"
                        },
                        "resigningDate": {
                          "type": "string"
                        },
                        "businessUnitId": {
                          "type": "number"
                        },
                        "businessUnitName": {
                          "type": "string"
                        },
                        "jobId": {
                          "type": "number"
                        },
                        "jobCode": {
                          "type": "string"
                        },
                        "gradeId": {
                          "type": "number"
                        },
                        "gradeCode": {
                          "type": "string"
                        },
                        "departmentId": {
                          "type": "number"
                        },
                        "isAdmin": {
                          "type": "boolean"
                        },
                        "departmentCode": {
                          "type": "string"
                        },
                        "locationId": {
                          "type": "number"
                        },
                        "locationCode": {
                          "type": "string"
                        },
                        "created": {
                          "type": "string"
                        },
                        "updated": {
                          "type": "string"
                        }
                      }
                    },
                    "roleAssignments": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "roleId": {
                            "type": "string"
                          },
                          "role": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              }
                            }
                          },
                          "businessUnitsWithNames": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "number"
                                },
                                "name": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "departmentsWithNames": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "id": {
                                  "type": "number"
                                },
                                "name": {
                                  "type": "string"
                                }
                              }
                            }
                          },
                          "status": {
                            "type": "string"
                          },
                          "assignedDate": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "assignedKnowledgeTopics": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "UserController.getMyProfile"
      }
    },
    "/users/count": {
      "get": {
        "x-controller-name": "UserController",
        "x-operation-name": "count",
        "tags": [
          "UserController"
        ],
        "responses": {
          "200": {
            "description": "User model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "User.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<User>"
                }
              }
            }
          }
        ],
        "operationId": "UserController.count"
      }
    },
    "/users/dropdowns/business-units": {
      "get": {
        "x-controller-name": "UserController",
        "x-operation-name": "getBusinessUnits",
        "tags": [
          "UserController"
        ],
        "responses": {
          "200": {
            "description": "List of all business units",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "operationId": "UserController.getBusinessUnits"
      }
    },
    "/users/dropdowns/departments": {
      "get": {
        "x-controller-name": "UserController",
        "x-operation-name": "getDepartments",
        "tags": [
          "UserController"
        ],
        "responses": {
          "200": {
            "description": "List of departments under a selected worker type",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "businessUnit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workerType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "UserController.getDepartments"
      }
    },
    "/users/dropdowns/grade-codes": {
      "get": {
        "x-controller-name": "UserController",
        "x-operation-name": "getGradeCodes",
        "tags": [
          "UserController"
        ],
        "responses": {
          "200": {
            "description": "List of grade codes under a selected job name",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "businessUnit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workerType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "department",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jobName",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "UserController.getGradeCodes"
      }
    },
    "/users/dropdowns/job-names": {
      "get": {
        "x-controller-name": "UserController",
        "x-operation-name": "getJobNames",
        "tags": [
          "UserController"
        ],
        "responses": {
          "200": {
            "description": "List of job names under a selected department",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "businessUnit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workerType",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "department",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "UserController.getJobNames"
      }
    },
    "/users/dropdowns/worker-types": {
      "get": {
        "x-controller-name": "UserController",
        "x-operation-name": "getWorkerTypes",
        "tags": [
          "UserController"
        ],
        "responses": {
          "200": {
            "description": "List of worker types under a selected business unit",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "businessUnit",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "UserController.getWorkerTypes"
      }
    },
    "/users/{id}": {
      "put": {
        "x-controller-name": "UserController",
        "x-operation-name": "replaceById",
        "tags": [
          "UserController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "User PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/User"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "UserController.replaceById"
      },
      "patch": {
        "x-controller-name": "UserController",
        "x-operation-name": "updateById",
        "tags": [
          "UserController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "User PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "UserController.updateById"
      },
      "get": {
        "x-controller-name": "UserController",
        "x-operation-name": "findById",
        "tags": [
          "UserController"
        ],
        "responses": {
          "200": {
            "description": "User model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User.Filter"
                }
              }
            }
          }
        ],
        "operationId": "UserController.findById"
      },
      "delete": {
        "x-controller-name": "UserController",
        "x-operation-name": "deleteById",
        "tags": [
          "UserController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "User DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "UserController.deleteById"
      }
    },
    "/users": {
      "post": {
        "x-controller-name": "UserController",
        "x-operation-name": "create",
        "tags": [
          "UserController"
        ],
        "responses": {
          "200": {
            "description": "User model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewUser"
              }
            }
          }
        },
        "operationId": "UserController.create"
      },
      "patch": {
        "x-controller-name": "UserController",
        "x-operation-name": "updateAll",
        "tags": [
          "UserController"
        ],
        "responses": {
          "200": {
            "description": "User PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "User.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<User>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserPartial"
              }
            }
          }
        },
        "operationId": "UserController.updateAll"
      },
      "get": {
        "x-controller-name": "UserController",
        "x-operation-name": "find",
        "tags": [
          "UserController"
        ],
        "responses": {
          "200": {
            "description": "Array of User model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "UserController.find"
      }
    },
    "/worker-types/get-departments": {
      "post": {
        "x-controller-name": "EmployeeHierarchyController",
        "x-operation-name": "getDepartmentsByWorkerTypes",
        "tags": [
          "EmployeeHierarchyController"
        ],
        "responses": {
          "200": {
            "description": "Get departments for multiple worker types with optional business unit filtering",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "number"
                      },
                      "name": {
                        "type": "string"
                      },
                      "count": {
                        "type": "number"
                      },
                      "parentWorkerType": {
                        "type": "string"
                      },
                      "parentBusinessUnitId": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "workerTypes": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "businessUnitIds": {
                    "type": "array",
                    "items": {
                      "type": "number"
                    }
                  }
                },
                "required": [
                  "workerTypes"
                ]
              }
            }
          }
        },
        "operationId": "EmployeeHierarchyController.getDepartmentsByWorkerTypes"
      }
    },
    "/workers/debug-search/{employeeNumber}": {
      "get": {
        "x-controller-name": "WorkerSyncController",
        "x-operation-name": "debugSearchEmployee",
        "tags": [
          "WorkerSyncController"
        ],
        "responses": {
          "200": {
            "description": "Return value of WorkerSyncController.debugSearchEmployee"
          }
        },
        "parameters": [
          {
            "name": "employeeNumber",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "WorkerSyncController.debugSearchEmployee"
      }
    },
    "/workers/debug-sync-simulation/{employeeNumber}": {
      "get": {
        "x-controller-name": "WorkerSyncController",
        "x-operation-name": "debugSyncSimulation",
        "tags": [
          "WorkerSyncController"
        ],
        "responses": {
          "200": {
            "description": "Return value of WorkerSyncController.debugSyncSimulation"
          }
        },
        "parameters": [
          {
            "name": "employeeNumber",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "WorkerSyncController.debugSyncSimulation"
      }
    }
  },
  "servers": [
    {
      "url": "http://vhs-api.acuizen.com"
    }
  ],
  "components": {
    "schemas": {
      "User": {
        "title": "User",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "personNumber": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "jobName": {
            "type": "string"
          },
          "gradeCode": {
            "type": "string"
          },
          "department": {
            "type": "string"
          },
          "businessUnit": {
            "type": "string"
          },
          "workerType": {
            "type": "string"
          },
          "managerPersonNumber": {
            "type": "string"
          },
          "managerName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "givenName": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "roles": {
            "type": "string",
            "enum": [
              "Admin",
              "Learner",
              "Trainer",
              "Manager",
              "Leadership"
            ]
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "personNumber",
          "email",
          "name"
        ],
        "additionalProperties": false
      },
      "NewUser": {
        "title": "NewUser",
        "type": "object",
        "description": "(tsType: Omit<User, 'id'>, schemaOptions: { title: 'NewUser', exclude: [ 'id' ] })",
        "properties": {
          "personNumber": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "jobName": {
            "type": "string"
          },
          "gradeCode": {
            "type": "string"
          },
          "department": {
            "type": "string"
          },
          "businessUnit": {
            "type": "string"
          },
          "workerType": {
            "type": "string"
          },
          "managerPersonNumber": {
            "type": "string"
          },
          "managerName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "givenName": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "roles": {
            "type": "string",
            "enum": [
              "Admin",
              "Learner",
              "Trainer",
              "Manager",
              "Leadership"
            ]
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "personNumber",
          "email",
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<User, 'id'>"
      },
      "UserWithRelations": {
        "title": "UserWithRelations",
        "type": "object",
        "description": "(tsType: UserWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "personNumber": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "jobName": {
            "type": "string"
          },
          "gradeCode": {
            "type": "string"
          },
          "department": {
            "type": "string"
          },
          "businessUnit": {
            "type": "string"
          },
          "workerType": {
            "type": "string"
          },
          "managerPersonNumber": {
            "type": "string"
          },
          "managerName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "givenName": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "roles": {
            "type": "string",
            "enum": [
              "Admin",
              "Learner",
              "Trainer",
              "Manager",
              "Leadership"
            ]
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "personNumber",
          "email",
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "UserWithRelations"
      },
      "UserPartial": {
        "title": "UserPartial",
        "type": "object",
        "description": "(tsType: Partial<User>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "personNumber": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "jobName": {
            "type": "string"
          },
          "gradeCode": {
            "type": "string"
          },
          "department": {
            "type": "string"
          },
          "businessUnit": {
            "type": "string"
          },
          "workerType": {
            "type": "string"
          },
          "managerPersonNumber": {
            "type": "string"
          },
          "managerName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "givenName": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "roles": {
            "type": "string",
            "enum": [
              "Admin",
              "Learner",
              "Trainer",
              "Manager",
              "Leadership"
            ]
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<User>"
      },
      "TrainingSession": {
        "title": "TrainingSession",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "trainingAssignmentId": {
            "type": "string"
          },
          "trainingNominationId": {
            "type": "string"
          },
          "learnerId": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "not_started",
              "attendance_marked",
              "pre_test_completed",
              "training_completed",
              "post_test_completed",
              "completed",
              "cancelled"
            ]
          },
          "startedAt": {
            "type": "string",
            "format": "date-time"
          },
          "completedAt": {
            "type": "string",
            "format": "date-time"
          },
          "attendanceMarkedAt": {
            "type": "string",
            "format": "date-time"
          },
          "preTestCompletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "postTestCompletedAt": {
            "type": "string",
            "format": "date-time"
          },
          "preTestScore": {
            "type": "number"
          },
          "postTestScore": {
            "type": "number"
          },
          "totalTrainingHours": {
            "type": "number"
          },
          "notes": {
            "type": "string"
          },
          "remarks": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "TrainingAttendance": {
        "title": "TrainingAttendance",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "trainingSessionId": {
            "type": "string"
          },
          "learnerId": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "present",
              "absent",
              "late",
              "punch_in",
              "punch_out"
            ]
          },
          "attendanceType": {
            "type": "string",
            "enum": [
              "initial_attendance",
              "punch_in",
              "punch_out",
              "manual_correction"
            ]
          },
          "markedAt": {
            "type": "string",
            "format": "date-time"
          },
          "markedById": {
            "type": "string"
          },
          "notes": {
            "type": "string"
          },
          "ipAddress": {
            "type": "string"
          },
          "location": {
            "type": "object"
          },
          "deviceInfo": {
            "type": "object"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "markedAt"
        ],
        "additionalProperties": false
      },
      "TrainingTest": {
        "title": "TrainingTest",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "trainingSessionId": {
            "type": "string"
          },
          "learnerId": {
            "type": "string"
          },
          "testType": {
            "type": "string",
            "enum": [
              "pre_test",
              "post_test"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "not_started",
              "in_progress",
              "completed",
              "expired"
            ]
          },
          "questions": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "result": {
            "type": "object"
          },
          "startedAt": {
            "type": "string",
            "format": "date-time"
          },
          "completedAt": {
            "type": "string",
            "format": "date-time"
          },
          "timeLimit": {
            "type": "number"
          },
          "passingScore": {
            "type": "number"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "testType"
        ],
        "additionalProperties": false
      },
      "TrainingProgram": {
        "title": "TrainingProgram",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "knowledgeUnitId": {
            "type": "string"
          },
          "trainingType": {
            "type": "string"
          },
          "content": {},
          "enrollmentType": {
            "type": "string"
          },
          "programSME": {
            "type": "string"
          },
          "department": {
            "type": "string"
          },
          "businessUnit": {
            "type": "string"
          },
          "picture": {
            "type": "string"
          },
          "trainingProgramName": {
            "type": "string"
          },
          "trainingProgramCode": {
            "type": "string"
          },
          "overview": {
            "type": "string"
          },
          "objectives": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "customObjective": {
            "type": "string"
          },
          "durationHours": {
            "type": "number"
          },
          "assignmentBusinessUnit": {
            "type": "string"
          },
          "workerType": {
            "type": "string"
          },
          "assignmentDepartment": {
            "type": "string"
          },
          "jobName": {
            "type": "string"
          },
          "gradeCode": {
            "type": "string"
          },
          "assignmentDayFromDOJ": {
            "type": "number"
          },
          "completionBy": {
            "type": "number"
          },
          "validityPeriod": {
            "type": "number"
          },
          "retrainingRequired": {
            "type": "boolean"
          },
          "isCertificated": {
            "type": "boolean"
          },
          "type": {
            "type": "string",
            "enum": [
              "Online",
              "Classroom"
            ]
          },
          "programType": {
            "type": "string"
          },
          "mandatoryType": {
            "type": "string"
          },
          "modeOfDelivery": {
            "type": "string"
          },
          "nominationByHOD": {
            "type": "boolean"
          },
          "selfNominationWithApproval": {
            "type": "boolean"
          },
          "attachmentStatus": {
            "type": "string"
          },
          "trainingAids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "questionBankStatus": {
            "type": "string"
          },
          "imcqMcqStatus": {
            "type": "string"
          },
          "assignmentQuestionsStatus": {
            "type": "string"
          },
          "questionBankCount": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "draft",
              "archived"
            ]
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "programSME",
          "department",
          "businessUnit",
          "trainingProgramName",
          "trainingProgramCode",
          "durationHours",
          "assignmentBusinessUnit",
          "workerType",
          "assignmentDepartment",
          "jobName",
          "gradeCode",
          "assignmentDayFromDOJ",
          "completionBy",
          "validityPeriod",
          "type",
          "programType",
          "mandatoryType",
          "modeOfDelivery"
        ],
        "additionalProperties": false
      },
      "NewTrainingProgram": {
        "title": "NewTrainingProgram",
        "type": "object",
        "description": "(tsType: Omit<TrainingProgram, 'id'>, schemaOptions: { title: 'NewTrainingProgram', exclude: [ 'id' ] })",
        "properties": {
          "knowledgeAreaId": {
            "type": "string"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "knowledgeUnitId": {
            "type": "string"
          },
          "trainingType": {
            "type": "string"
          },
          "content": {},
          "enrollmentType": {
            "type": "string"
          },
          "programSME": {
            "type": "string"
          },
          "department": {
            "type": "string"
          },
          "businessUnit": {
            "type": "string"
          },
          "picture": {
            "type": "string"
          },
          "trainingProgramName": {
            "type": "string"
          },
          "trainingProgramCode": {
            "type": "string"
          },
          "overview": {
            "type": "string"
          },
          "objectives": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "customObjective": {
            "type": "string"
          },
          "durationHours": {
            "type": "number"
          },
          "assignmentBusinessUnit": {
            "type": "string"
          },
          "workerType": {
            "type": "string"
          },
          "assignmentDepartment": {
            "type": "string"
          },
          "jobName": {
            "type": "string"
          },
          "gradeCode": {
            "type": "string"
          },
          "assignmentDayFromDOJ": {
            "type": "number"
          },
          "completionBy": {
            "type": "number"
          },
          "validityPeriod": {
            "type": "number"
          },
          "retrainingRequired": {
            "type": "boolean"
          },
          "isCertificated": {
            "type": "boolean"
          },
          "type": {
            "type": "string",
            "enum": [
              "Online",
              "Classroom"
            ]
          },
          "programType": {
            "type": "string"
          },
          "mandatoryType": {
            "type": "string"
          },
          "modeOfDelivery": {
            "type": "string"
          },
          "nominationByHOD": {
            "type": "boolean"
          },
          "selfNominationWithApproval": {
            "type": "boolean"
          },
          "attachmentStatus": {
            "type": "string"
          },
          "trainingAids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "questionBankStatus": {
            "type": "string"
          },
          "imcqMcqStatus": {
            "type": "string"
          },
          "assignmentQuestionsStatus": {
            "type": "string"
          },
          "questionBankCount": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "draft",
              "archived"
            ]
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "programSME",
          "department",
          "businessUnit",
          "trainingProgramName",
          "trainingProgramCode",
          "durationHours",
          "assignmentBusinessUnit",
          "workerType",
          "assignmentDepartment",
          "jobName",
          "gradeCode",
          "assignmentDayFromDOJ",
          "completionBy",
          "validityPeriod",
          "type",
          "programType",
          "mandatoryType",
          "modeOfDelivery"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<TrainingProgram, 'id'>"
      },
      "EmployeeWithRelations": {
        "title": "EmployeeWithRelations",
        "type": "object",
        "description": "(tsType: EmployeeWithRelations, schemaOptions: { includeRelations: true }), {\"indexInfo\":{\"uniqueId\":{\"unique\":true}}}",
        "properties": {
          "id": {
            "type": "string"
          },
          "uniqueId": {
            "type": "number"
          },
          "employeeId": {
            "type": "string"
          },
          "dateOfJoining": {
            "type": "string",
            "format": "date-time"
          },
          "email": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "workerType": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "resigningDate": {
            "type": "string",
            "format": "date-time"
          },
          "businessUnitId": {
            "type": "number"
          },
          "businessUnitName": {
            "type": "string"
          },
          "jobId": {
            "type": "number"
          },
          "jobCode": {
            "type": "string"
          },
          "gradeId": {
            "type": "number"
          },
          "gradeCode": {
            "type": "string"
          },
          "departmentId": {
            "type": "number"
          },
          "managerId": {
            "type": "number"
          },
          "departmentCode": {
            "type": "string"
          },
          "locationId": {
            "type": "number"
          },
          "locationCode": {
            "type": "string"
          },
          "isAdmin": {
            "type": "boolean"
          },
          "isTrainer": {
            "type": "boolean"
          },
          "trainerRoleName": {
            "type": "string"
          },
          "isLeadership": {
            "type": "boolean"
          },
          "leadershipRoleName": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "uniqueId",
          "employeeId",
          "email"
        ],
        "additionalProperties": false,
        "x-typescript-type": "EmployeeWithRelations"
      },
      "QuestionBankWithRelations": {
        "title": "QuestionBankWithRelations",
        "type": "object",
        "description": "(tsType: QuestionBankWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "question": {
            "type": "string"
          },
          "questionId": {
            "type": "string"
          },
          "options": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "visibility": {
            "type": "object"
          },
          "uploads": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "type": "string"
          },
          "correctAnswerFeedback": {
            "type": "string"
          },
          "wrongAnswerFeedback": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "reviewStatus": {
            "type": "string"
          },
          "difficulty": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "knowledgeUnitId": {
            "type": "string"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          },
          "knowledgeUnit": {
            "$ref": "#/components/schemas/KnowledgeUnitWithRelations"
          },
          "foreignKey": {},
          "knowledgeTopic": {
            "$ref": "#/components/schemas/KnowledgeTopicWithRelations"
          },
          "knowledgeArea": {
            "$ref": "#/components/schemas/KnowledgeAreaWithRelations"
          }
        },
        "required": [
          "question"
        ],
        "additionalProperties": false,
        "x-typescript-type": "QuestionBankWithRelations"
      },
      "KnowledgeUnitWithRelations": {
        "title": "KnowledgeUnitWithRelations",
        "type": "object",
        "description": "(tsType: KnowledgeUnitWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "maskId": {
            "type": "string"
          },
          "preTestEnabled": {
            "type": "boolean"
          },
          "preTestEasy": {
            "type": "number"
          },
          "preTestMedium": {
            "type": "number"
          },
          "preTestHard": {
            "type": "number"
          },
          "postTestEnabled": {
            "type": "boolean"
          },
          "postTestEasy": {
            "type": "number"
          },
          "postTestMedium": {
            "type": "number"
          },
          "postTestHard": {
            "type": "number"
          },
          "uniqueId": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "content": {},
          "trainingStatus": {
            "type": "string"
          },
          "trainingType": {
            "type": "string"
          },
          "trainingContent": {},
          "enrollmentType": {
            "type": "string"
          },
          "programSMEId": {
            "type": "string"
          },
          "department": {
            "type": "string"
          },
          "businessUnit": {
            "type": "string"
          },
          "picture": {
            "type": "string"
          },
          "trainingProgramName": {
            "type": "string"
          },
          "trainingProgramCode": {
            "type": "string"
          },
          "overview": {
            "type": "string"
          },
          "objectives": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "customObjective": {
            "type": "string"
          },
          "durationHours": {
            "type": "number"
          },
          "assignmentBusinessUnit": {
            "type": "string"
          },
          "workerType": {
            "type": "string"
          },
          "assignmentDepartment": {
            "type": "string"
          },
          "jobName": {
            "type": "string"
          },
          "gradeCode": {
            "type": "string"
          },
          "assignmentDayFromDOJ": {
            "type": "number"
          },
          "completionBy": {
            "type": "number"
          },
          "validityPeriod": {
            "type": "number"
          },
          "retrainingRequired": {
            "type": "boolean"
          },
          "isCertificated": {
            "type": "boolean"
          },
          "type": {
            "type": "string",
            "enum": [
              "Online",
              "Classroom",
              "Hybrid",
              "OJT"
            ]
          },
          "programType": {
            "type": "string"
          },
          "mandatoryType": {
            "type": "string"
          },
          "modeOfDelivery": {
            "type": "string"
          },
          "nominationByHOD": {
            "type": "boolean"
          },
          "selfNominationWithApproval": {
            "type": "boolean"
          },
          "attachmentStatus": {
            "type": "string"
          },
          "trainingAids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "questionBankStatus": {
            "type": "string"
          },
          "imcqMcqStatus": {
            "type": "string"
          },
          "assignmentQuestionsStatus": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          },
          "questionBankCount": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "draft",
              "archived"
            ]
          },
          "curatedById": {
            "type": "string"
          },
          "postTestSameAsPreTest": {
            "type": "string"
          },
          "lastUpdatedDate": {
            "type": "string",
            "format": "date-time"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "programSMEEmployee": {
            "$ref": "#/components/schemas/EmployeeWithRelations"
          },
          "foreignKey": {},
          "knowledgeArea": {
            "$ref": "#/components/schemas/KnowledgeAreaWithRelations"
          },
          "knowledgeTopic": {
            "$ref": "#/components/schemas/KnowledgeTopicWithRelations"
          },
          "questionBanks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuestionBankWithRelations"
            }
          },
          "trainingPrograms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TrainingProgramWithRelations"
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "KnowledgeUnitWithRelations"
      },
      "KnowledgeTopicWithRelations": {
        "title": "KnowledgeTopicWithRelations",
        "type": "object",
        "description": "(tsType: KnowledgeTopicWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "maskId": {
            "type": "string"
          },
          "uniqueId": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          },
          "knowledgeArea": {
            "$ref": "#/components/schemas/KnowledgeAreaWithRelations"
          },
          "foreignKey": {},
          "knowledgeUnits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KnowledgeUnitWithRelations"
            }
          },
          "trainingPrograms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TrainingProgramWithRelations"
            }
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "KnowledgeTopicWithRelations"
      },
      "KnowledgeAreaWithRelations": {
        "title": "KnowledgeAreaWithRelations",
        "type": "object",
        "description": "(tsType: KnowledgeAreaWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "maskId": {
            "type": "string"
          },
          "uniqueId": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "knowledgeTopics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/KnowledgeTopicWithRelations"
            }
          },
          "trainingPrograms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TrainingProgramWithRelations"
            }
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "KnowledgeAreaWithRelations"
      },
      "TrainingProgramWithRelations": {
        "title": "TrainingProgramWithRelations",
        "type": "object",
        "description": "(tsType: TrainingProgramWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "knowledgeUnitId": {
            "type": "string"
          },
          "trainingType": {
            "type": "string"
          },
          "content": {},
          "enrollmentType": {
            "type": "string"
          },
          "programSME": {
            "type": "string"
          },
          "department": {
            "type": "string"
          },
          "businessUnit": {
            "type": "string"
          },
          "picture": {
            "type": "string"
          },
          "trainingProgramName": {
            "type": "string"
          },
          "trainingProgramCode": {
            "type": "string"
          },
          "overview": {
            "type": "string"
          },
          "objectives": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "customObjective": {
            "type": "string"
          },
          "durationHours": {
            "type": "number"
          },
          "assignmentBusinessUnit": {
            "type": "string"
          },
          "workerType": {
            "type": "string"
          },
          "assignmentDepartment": {
            "type": "string"
          },
          "jobName": {
            "type": "string"
          },
          "gradeCode": {
            "type": "string"
          },
          "assignmentDayFromDOJ": {
            "type": "number"
          },
          "completionBy": {
            "type": "number"
          },
          "validityPeriod": {
            "type": "number"
          },
          "retrainingRequired": {
            "type": "boolean"
          },
          "isCertificated": {
            "type": "boolean"
          },
          "type": {
            "type": "string",
            "enum": [
              "Online",
              "Classroom"
            ]
          },
          "programType": {
            "type": "string"
          },
          "mandatoryType": {
            "type": "string"
          },
          "modeOfDelivery": {
            "type": "string"
          },
          "nominationByHOD": {
            "type": "boolean"
          },
          "selfNominationWithApproval": {
            "type": "boolean"
          },
          "attachmentStatus": {
            "type": "string"
          },
          "trainingAids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "questionBankStatus": {
            "type": "string"
          },
          "imcqMcqStatus": {
            "type": "string"
          },
          "assignmentQuestionsStatus": {
            "type": "string"
          },
          "questionBankCount": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "draft",
              "archived"
            ]
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "knowledgeArea": {
            "$ref": "#/components/schemas/KnowledgeAreaWithRelations"
          },
          "foreignKey": {},
          "knowledgeTopic": {
            "$ref": "#/components/schemas/KnowledgeTopicWithRelations"
          },
          "knowledgeUnit": {
            "$ref": "#/components/schemas/KnowledgeUnitWithRelations"
          }
        },
        "required": [
          "programSME",
          "department",
          "businessUnit",
          "trainingProgramName",
          "trainingProgramCode",
          "durationHours",
          "assignmentBusinessUnit",
          "workerType",
          "assignmentDepartment",
          "jobName",
          "gradeCode",
          "assignmentDayFromDOJ",
          "completionBy",
          "validityPeriod",
          "type",
          "programType",
          "mandatoryType",
          "modeOfDelivery"
        ],
        "additionalProperties": false,
        "x-typescript-type": "TrainingProgramWithRelations"
      },
      "TrainingProgramPartial": {
        "title": "TrainingProgramPartial",
        "type": "object",
        "description": "(tsType: Partial<TrainingProgram>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "knowledgeUnitId": {
            "type": "string"
          },
          "trainingType": {
            "type": "string"
          },
          "content": {},
          "enrollmentType": {
            "type": "string"
          },
          "programSME": {
            "type": "string"
          },
          "department": {
            "type": "string"
          },
          "businessUnit": {
            "type": "string"
          },
          "picture": {
            "type": "string"
          },
          "trainingProgramName": {
            "type": "string"
          },
          "trainingProgramCode": {
            "type": "string"
          },
          "overview": {
            "type": "string"
          },
          "objectives": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "customObjective": {
            "type": "string"
          },
          "durationHours": {
            "type": "number"
          },
          "assignmentBusinessUnit": {
            "type": "string"
          },
          "workerType": {
            "type": "string"
          },
          "assignmentDepartment": {
            "type": "string"
          },
          "jobName": {
            "type": "string"
          },
          "gradeCode": {
            "type": "string"
          },
          "assignmentDayFromDOJ": {
            "type": "number"
          },
          "completionBy": {
            "type": "number"
          },
          "validityPeriod": {
            "type": "number"
          },
          "retrainingRequired": {
            "type": "boolean"
          },
          "isCertificated": {
            "type": "boolean"
          },
          "type": {
            "type": "string",
            "enum": [
              "Online",
              "Classroom"
            ]
          },
          "programType": {
            "type": "string"
          },
          "mandatoryType": {
            "type": "string"
          },
          "modeOfDelivery": {
            "type": "string"
          },
          "nominationByHOD": {
            "type": "boolean"
          },
          "selfNominationWithApproval": {
            "type": "boolean"
          },
          "attachmentStatus": {
            "type": "string"
          },
          "trainingAids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "questionBankStatus": {
            "type": "string"
          },
          "imcqMcqStatus": {
            "type": "string"
          },
          "assignmentQuestionsStatus": {
            "type": "string"
          },
          "questionBankCount": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "draft",
              "archived"
            ]
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<TrainingProgram>"
      },
      "TrainingNomination": {
        "title": "TrainingNomination",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "trainingAssignmentId": {
            "type": "string"
          },
          "nominatedUserId": {
            "type": "string"
          },
          "nominatedBy": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "approved",
              "rejected",
              "completed"
            ]
          },
          "nominationType": {
            "type": "string"
          },
          "notes": {
            "type": "string"
          },
          "rejectionReason": {
            "type": "string"
          },
          "remarks": {
            "type": "string"
          },
          "reviewedBy": {
            "type": "string"
          },
          "reviewedAt": {
            "type": "string",
            "format": "date-time"
          },
          "nominatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "BusinessUnitWithRelations": {
        "title": "BusinessUnitWithRelations",
        "type": "object",
        "description": "(tsType: BusinessUnitWithRelations, schemaOptions: { includeRelations: true }), {\"indexInfo\":{\"businessUnitId\":{\"unique\":true}}}",
        "properties": {
          "id": {
            "type": "string"
          },
          "businessUnitId": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "inactive"
            ]
          },
          "location": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "parentBusinessUnitId": {
            "type": "number"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "trainingAssignments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TrainingAssignmentWithRelations"
            }
          }
        },
        "required": [
          "businessUnitId",
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "BusinessUnitWithRelations"
      },
      "TrainingAssignmentWithRelations": {
        "title": "TrainingAssignmentWithRelations",
        "type": "object",
        "description": "(tsType: TrainingAssignmentWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "knowledgeUnitId": {
            "type": "string"
          },
          "fromDatetime": {
            "type": "string",
            "format": "date-time"
          },
          "toDatetime": {
            "type": "string",
            "format": "date-time"
          },
          "totalHours": {
            "type": "number"
          },
          "createdUserId": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "repeatOption": {
            "type": "string"
          },
          "isAllDay": {
            "type": "boolean"
          },
          "capacity": {
            "type": "number"
          },
          "location": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "trainerId": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "inactive",
              "completed",
              "cancelled"
            ]
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "trainerApproved": {
            "type": "boolean"
          },
          "trainerApprovedAt": {
            "type": "string",
            "format": "date-time"
          },
          "trainerApprovedById": {
            "type": "string"
          },
          "businessUnitIds": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "departmentIds": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "jobCodeIds": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "workerTypes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "gradeCodeIds": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "knowledgeArea": {
            "$ref": "#/components/schemas/KnowledgeAreaWithRelations"
          },
          "foreignKey": {},
          "knowledgeTopic": {
            "$ref": "#/components/schemas/KnowledgeTopicWithRelations"
          },
          "knowledgeUnit": {
            "$ref": "#/components/schemas/KnowledgeUnitWithRelations"
          },
          "createdUser": {
            "$ref": "#/components/schemas/EmployeeWithRelations"
          },
          "trainer": {
            "$ref": "#/components/schemas/EmployeeWithRelations"
          },
          "trainerApprovedBy": {
            "$ref": "#/components/schemas/EmployeeWithRelations"
          },
          "businessUnits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessUnitWithRelations"
            }
          }
        },
        "required": [
          "fromDatetime",
          "toDatetime",
          "totalHours"
        ],
        "additionalProperties": false,
        "x-typescript-type": "TrainingAssignmentWithRelations"
      },
      "TrainingNominationWithRelations": {
        "title": "TrainingNominationWithRelations",
        "type": "object",
        "description": "(tsType: TrainingNominationWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "trainingAssignmentId": {
            "type": "string"
          },
          "nominatedUserId": {
            "type": "string"
          },
          "nominatedBy": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "approved",
              "rejected",
              "completed"
            ]
          },
          "nominationType": {
            "type": "string"
          },
          "notes": {
            "type": "string"
          },
          "rejectionReason": {
            "type": "string"
          },
          "remarks": {
            "type": "string"
          },
          "reviewedBy": {
            "type": "string"
          },
          "reviewedAt": {
            "type": "string",
            "format": "date-time"
          },
          "nominatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "trainingAssignment": {
            "$ref": "#/components/schemas/TrainingAssignmentWithRelations"
          },
          "foreignKey": {},
          "nominatedUser": {
            "$ref": "#/components/schemas/EmployeeWithRelations"
          },
          "nominatedByUser": {
            "$ref": "#/components/schemas/EmployeeWithRelations"
          },
          "reviewedByUser": {
            "$ref": "#/components/schemas/EmployeeWithRelations"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "TrainingNominationWithRelations"
      },
      "TrainingNominationPartial": {
        "title": "TrainingNominationPartial",
        "type": "object",
        "description": "(tsType: Partial<TrainingNomination>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "trainingAssignmentId": {
            "type": "string"
          },
          "nominatedUserId": {
            "type": "string"
          },
          "nominatedBy": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "approved",
              "rejected",
              "completed"
            ]
          },
          "nominationType": {
            "type": "string"
          },
          "notes": {
            "type": "string"
          },
          "rejectionReason": {
            "type": "string"
          },
          "remarks": {
            "type": "string"
          },
          "reviewedBy": {
            "type": "string"
          },
          "reviewedAt": {
            "type": "string",
            "format": "date-time"
          },
          "nominatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<TrainingNomination>"
      },
      "TrainingAssignment": {
        "title": "TrainingAssignment",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "knowledgeUnitId": {
            "type": "string"
          },
          "fromDatetime": {
            "type": "string",
            "format": "date-time"
          },
          "toDatetime": {
            "type": "string",
            "format": "date-time"
          },
          "totalHours": {
            "type": "number"
          },
          "createdUserId": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "repeatOption": {
            "type": "string"
          },
          "isAllDay": {
            "type": "boolean"
          },
          "capacity": {
            "type": "number"
          },
          "location": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "trainerId": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "inactive",
              "completed",
              "cancelled"
            ]
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "trainerApproved": {
            "type": "boolean"
          },
          "trainerApprovedAt": {
            "type": "string",
            "format": "date-time"
          },
          "trainerApprovedById": {
            "type": "string"
          },
          "businessUnitIds": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "departmentIds": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "jobCodeIds": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "workerTypes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "gradeCodeIds": {
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        },
        "required": [
          "fromDatetime",
          "toDatetime",
          "totalHours"
        ],
        "additionalProperties": false
      },
      "TrainingAssignmentPartial": {
        "title": "TrainingAssignmentPartial",
        "type": "object",
        "description": "(tsType: Partial<TrainingAssignment>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "knowledgeUnitId": {
            "type": "string"
          },
          "fromDatetime": {
            "type": "string",
            "format": "date-time"
          },
          "toDatetime": {
            "type": "string",
            "format": "date-time"
          },
          "totalHours": {
            "type": "number"
          },
          "createdUserId": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "repeatOption": {
            "type": "string"
          },
          "isAllDay": {
            "type": "boolean"
          },
          "capacity": {
            "type": "number"
          },
          "location": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "trainerId": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "inactive",
              "completed",
              "cancelled"
            ]
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "trainerApproved": {
            "type": "boolean"
          },
          "trainerApprovedAt": {
            "type": "string",
            "format": "date-time"
          },
          "trainerApprovedById": {
            "type": "string"
          },
          "businessUnitIds": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "departmentIds": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "jobCodeIds": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "workerTypes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "gradeCodeIds": {
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<TrainingAssignment>"
      },
      "Employee": {
        "title": "Employee",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "uniqueId": {
            "type": "number"
          },
          "employeeId": {
            "type": "string"
          },
          "dateOfJoining": {
            "type": "string",
            "format": "date-time"
          },
          "email": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "workerType": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "resigningDate": {
            "type": "string",
            "format": "date-time"
          },
          "businessUnitId": {
            "type": "number"
          },
          "businessUnitName": {
            "type": "string"
          },
          "jobId": {
            "type": "number"
          },
          "jobCode": {
            "type": "string"
          },
          "gradeId": {
            "type": "number"
          },
          "gradeCode": {
            "type": "string"
          },
          "departmentId": {
            "type": "number"
          },
          "managerId": {
            "type": "number"
          },
          "departmentCode": {
            "type": "string"
          },
          "locationId": {
            "type": "number"
          },
          "locationCode": {
            "type": "string"
          },
          "isAdmin": {
            "type": "boolean"
          },
          "isTrainer": {
            "type": "boolean"
          },
          "trainerRoleName": {
            "type": "string"
          },
          "isLeadership": {
            "type": "boolean"
          },
          "leadershipRoleName": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "description": "{\"indexInfo\":{\"uniqueId\":{\"unique\":true}}}",
        "required": [
          "uniqueId",
          "employeeId",
          "email"
        ],
        "additionalProperties": false
      },
      "BusinessUnit": {
        "title": "BusinessUnit",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "businessUnitId": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "inactive"
            ]
          },
          "location": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "parentBusinessUnitId": {
            "type": "number"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "description": "{\"indexInfo\":{\"businessUnitId\":{\"unique\":true}}}",
        "required": [
          "businessUnitId",
          "name"
        ],
        "additionalProperties": false
      },
      "NewBusinessUnitInTrainingAssignment": {
        "title": "NewBusinessUnitInTrainingAssignment",
        "type": "object",
        "description": "(tsType: Omit<BusinessUnit, 'id'>, schemaOptions: { title: 'NewBusinessUnitInTrainingAssignment', exclude: [ 'id' ] }), {\"indexInfo\":{\"businessUnitId\":{\"unique\":true}}}",
        "properties": {
          "businessUnitId": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "inactive"
            ]
          },
          "location": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "parentBusinessUnitId": {
            "type": "number"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "businessUnitId",
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<BusinessUnit, 'id'>"
      },
      "BusinessUnitPartial": {
        "title": "BusinessUnitPartial",
        "type": "object",
        "description": "(tsType: Partial<BusinessUnit>, schemaOptions: { partial: true }), {\"indexInfo\":{\"businessUnitId\":{\"unique\":true}}}",
        "properties": {
          "id": {
            "type": "string"
          },
          "businessUnitId": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "inactive"
            ]
          },
          "location": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "parentBusinessUnitId": {
            "type": "number"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<BusinessUnit>"
      },
      "Tenant": {
        "title": "Tenant",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "subDomain": {
            "type": "string"
          },
          "clientDetails": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "subDomain"
        ],
        "additionalProperties": false
      },
      "NewTenant": {
        "title": "NewTenant",
        "type": "object",
        "description": "(tsType: Omit<Tenant, 'id'>, schemaOptions: { title: 'NewTenant', exclude: [ 'id' ] })",
        "properties": {
          "subDomain": {
            "type": "string"
          },
          "clientDetails": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "subDomain"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Tenant, 'id'>"
      },
      "RoleWithRelations": {
        "title": "RoleWithRelations",
        "type": "object",
        "description": "(tsType: RoleWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "maskName": {
            "type": "string"
          },
          "maskId": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "level": {
            "type": "number"
          },
          "serviceId": {
            "type": "string"
          },
          "service": {
            "$ref": "#/components/schemas/ServiceWithRelations"
          },
          "foreignKey": {}
        },
        "additionalProperties": false,
        "x-typescript-type": "RoleWithRelations"
      },
      "DropdownItemsWithRelations": {
        "title": "DropdownItemsWithRelations",
        "type": "object",
        "description": "(tsType: DropdownItemsWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "maskName": {
            "type": "string"
          },
          "maskId": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "placeholderName": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "level": {
            "type": "number"
          },
          "apiUrl": {
            "type": "string"
          },
          "routeUrl": {
            "type": "string"
          },
          "severityLevel": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "parentId": {
            "type": "string"
          },
          "dropdownId": {
            "type": "string"
          },
          "dropdown": {
            "$ref": "#/components/schemas/DropdownWithRelations"
          },
          "foreignKey": {}
        },
        "additionalProperties": false,
        "x-typescript-type": "DropdownItemsWithRelations"
      },
      "DropdownWithRelations": {
        "title": "DropdownWithRelations",
        "type": "object",
        "description": "(tsType: DropdownWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "maskName": {
            "type": "string"
          },
          "levels": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "maskId": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "apiUrl": {
            "type": "string"
          },
          "routeUrl": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "serviceId": {
            "type": "string"
          },
          "service": {
            "$ref": "#/components/schemas/ServiceWithRelations"
          },
          "foreignKey": {},
          "dropdownItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DropdownItemsWithRelations"
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "DropdownWithRelations"
      },
      "ServiceWithRelations": {
        "title": "ServiceWithRelations",
        "type": "object",
        "description": "(tsType: ServiceWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "maskName": {
            "type": "string"
          },
          "mobileShortName": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "icon": {
            "type": "string"
          },
          "support": {
            "type": "string"
          },
          "applicability": {
            "type": "string"
          },
          "status": {
            "type": "boolean"
          },
          "url": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RoleWithRelations"
            }
          },
          "tenants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TenantWithRelations"
            }
          },
          "dropdowns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DropdownWithRelations"
            }
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ServiceWithRelations"
      },
      "TenantWithRelations": {
        "title": "TenantWithRelations",
        "type": "object",
        "description": "(tsType: TenantWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "subDomain": {
            "type": "string"
          },
          "clientDetails": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "services": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceWithRelations"
            }
          }
        },
        "required": [
          "subDomain"
        ],
        "additionalProperties": false,
        "x-typescript-type": "TenantWithRelations"
      },
      "TenantPartial": {
        "title": "TenantPartial",
        "type": "object",
        "description": "(tsType: Partial<Tenant>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "subDomain": {
            "type": "string"
          },
          "clientDetails": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Tenant>"
      },
      "Service": {
        "title": "Service",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "maskName": {
            "type": "string"
          },
          "mobileShortName": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "icon": {
            "type": "string"
          },
          "support": {
            "type": "string"
          },
          "applicability": {
            "type": "string"
          },
          "status": {
            "type": "boolean"
          },
          "url": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "NewServiceInTenant": {
        "title": "NewServiceInTenant",
        "type": "object",
        "description": "(tsType: Omit<Service, 'id'>, schemaOptions: { title: 'NewServiceInTenant', exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "maskName": {
            "type": "string"
          },
          "mobileShortName": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "icon": {
            "type": "string"
          },
          "support": {
            "type": "string"
          },
          "applicability": {
            "type": "string"
          },
          "status": {
            "type": "boolean"
          },
          "url": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Service, 'id'>"
      },
      "ServicePartial": {
        "title": "ServicePartial",
        "type": "object",
        "description": "(tsType: Partial<Service>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "maskName": {
            "type": "string"
          },
          "mobileShortName": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "icon": {
            "type": "string"
          },
          "support": {
            "type": "string"
          },
          "applicability": {
            "type": "string"
          },
          "status": {
            "type": "boolean"
          },
          "url": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Service>"
      },
      "NewService": {
        "title": "NewService",
        "type": "object",
        "description": "(tsType: Omit<Service, 'id'>, schemaOptions: { title: 'NewService', exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "maskName": {
            "type": "string"
          },
          "mobileShortName": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "icon": {
            "type": "string"
          },
          "support": {
            "type": "string"
          },
          "applicability": {
            "type": "string"
          },
          "status": {
            "type": "boolean"
          },
          "url": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Service, 'id'>"
      },
      "NewTenantInService": {
        "title": "NewTenantInService",
        "type": "object",
        "description": "(tsType: Omit<Tenant, 'id'>, schemaOptions: { title: 'NewTenantInService', exclude: [ 'id' ] })",
        "properties": {
          "subDomain": {
            "type": "string"
          },
          "clientDetails": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "subDomain"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Tenant, 'id'>"
      },
      "Role": {
        "title": "Role",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "maskName": {
            "type": "string"
          },
          "maskId": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "level": {
            "type": "number"
          },
          "serviceId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "NewRoleInService": {
        "title": "NewRoleInService",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<Omit<Role, 'id'>, 'serviceId'>, schemaOptions: { title: 'NewRoleInService', exclude: [ 'id' ], optional: [ 'serviceId' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "maskName": {
            "type": "string"
          },
          "maskId": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "level": {
            "type": "number"
          },
          "serviceId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<Omit<Role, 'id'>, 'serviceId'>"
      },
      "RolePartial": {
        "title": "RolePartial",
        "type": "object",
        "description": "(tsType: Partial<Role>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "maskName": {
            "type": "string"
          },
          "maskId": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "level": {
            "type": "number"
          },
          "serviceId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Role>"
      },
      "Dropdown": {
        "title": "Dropdown",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "maskName": {
            "type": "string"
          },
          "levels": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "maskId": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "apiUrl": {
            "type": "string"
          },
          "routeUrl": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "serviceId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "NewDropdownInService": {
        "title": "NewDropdownInService",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<Omit<Dropdown, 'id'>, 'serviceId'>, schemaOptions: { title: 'NewDropdownInService', exclude: [ 'id' ], optional: [ 'serviceId' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "maskName": {
            "type": "string"
          },
          "levels": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "maskId": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "apiUrl": {
            "type": "string"
          },
          "routeUrl": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "serviceId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<Omit<Dropdown, 'id'>, 'serviceId'>"
      },
      "DropdownPartial": {
        "title": "DropdownPartial",
        "type": "object",
        "description": "(tsType: Partial<Dropdown>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "maskName": {
            "type": "string"
          },
          "levels": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "maskId": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "apiUrl": {
            "type": "string"
          },
          "routeUrl": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "serviceId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Dropdown>"
      },
      "NewRole": {
        "title": "NewRole",
        "type": "object",
        "description": "(tsType: Omit<Role, 'id'>, schemaOptions: { title: 'NewRole', exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "maskName": {
            "type": "string"
          },
          "maskId": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "level": {
            "type": "number"
          },
          "serviceId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Role, 'id'>"
      },
      "QuestionConfiguration": {
        "title": "QuestionConfiguration",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "totalQuestions": {
            "type": "number",
            "minimum": 1,
            "maximum": 50
          },
          "easyPercentage": {
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "mediumPercentage": {
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "hardPercentage": {
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "refreshIntervalHours": {
            "type": "number",
            "minimum": 1,
            "maximum": 168
          },
          "scope": {
            "type": "string",
            "enum": [
              "global",
              "knowledge-area",
              "knowledge-topic",
              "knowledge-unit"
            ]
          },
          "isDefault": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "knowledgeAreaId": {
            "type": "string"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "knowledgeUnitId": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "totalQuestions",
          "easyPercentage",
          "mediumPercentage",
          "hardPercentage"
        ],
        "additionalProperties": false
      },
      "NewQuestionConfiguration": {
        "title": "NewQuestionConfiguration",
        "type": "object",
        "description": "(tsType: Omit<QuestionConfiguration, 'id'>, schemaOptions: { title: 'NewQuestionConfiguration', exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "totalQuestions": {
            "type": "number",
            "minimum": 1,
            "maximum": 50
          },
          "easyPercentage": {
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "mediumPercentage": {
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "hardPercentage": {
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "refreshIntervalHours": {
            "type": "number",
            "minimum": 1,
            "maximum": 168
          },
          "scope": {
            "type": "string",
            "enum": [
              "global",
              "knowledge-area",
              "knowledge-topic",
              "knowledge-unit"
            ]
          },
          "isDefault": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "knowledgeAreaId": {
            "type": "string"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "knowledgeUnitId": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "name",
          "totalQuestions",
          "easyPercentage",
          "mediumPercentage",
          "hardPercentage"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<QuestionConfiguration, 'id'>"
      },
      "QuestionConfigurationWithRelations": {
        "title": "QuestionConfigurationWithRelations",
        "type": "object",
        "description": "(tsType: QuestionConfigurationWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "totalQuestions": {
            "type": "number",
            "minimum": 1,
            "maximum": 50
          },
          "easyPercentage": {
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "mediumPercentage": {
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "hardPercentage": {
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "refreshIntervalHours": {
            "type": "number",
            "minimum": 1,
            "maximum": 168
          },
          "scope": {
            "type": "string",
            "enum": [
              "global",
              "knowledge-area",
              "knowledge-topic",
              "knowledge-unit"
            ]
          },
          "isDefault": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "knowledgeAreaId": {
            "type": "string"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "knowledgeUnitId": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "knowledgeArea": {
            "$ref": "#/components/schemas/KnowledgeAreaWithRelations"
          },
          "foreignKey": {},
          "knowledgeTopic": {
            "$ref": "#/components/schemas/KnowledgeTopicWithRelations"
          },
          "knowledgeUnit": {
            "$ref": "#/components/schemas/KnowledgeUnitWithRelations"
          }
        },
        "required": [
          "name",
          "totalQuestions",
          "easyPercentage",
          "mediumPercentage",
          "hardPercentage"
        ],
        "additionalProperties": false,
        "x-typescript-type": "QuestionConfigurationWithRelations"
      },
      "QuestionConfigurationPartial": {
        "title": "QuestionConfigurationPartial",
        "type": "object",
        "description": "(tsType: Partial<QuestionConfiguration>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "totalQuestions": {
            "type": "number",
            "minimum": 1,
            "maximum": 50
          },
          "easyPercentage": {
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "mediumPercentage": {
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "hardPercentage": {
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "refreshIntervalHours": {
            "type": "number",
            "minimum": 1,
            "maximum": 168
          },
          "scope": {
            "type": "string",
            "enum": [
              "global",
              "knowledge-area",
              "knowledge-topic",
              "knowledge-unit"
            ]
          },
          "isDefault": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "knowledgeAreaId": {
            "type": "string"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "knowledgeUnitId": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<QuestionConfiguration>"
      },
      "QuestionBank": {
        "title": "QuestionBank",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "question": {
            "type": "string"
          },
          "questionId": {
            "type": "string"
          },
          "options": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "visibility": {
            "type": "object"
          },
          "uploads": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "type": "string"
          },
          "correctAnswerFeedback": {
            "type": "string"
          },
          "wrongAnswerFeedback": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "reviewStatus": {
            "type": "string"
          },
          "difficulty": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "knowledgeUnitId": {
            "type": "string"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          }
        },
        "required": [
          "question"
        ],
        "additionalProperties": false
      },
      "NewQuestionBank": {
        "title": "NewQuestionBank",
        "type": "object",
        "description": "(tsType: Omit<QuestionBank, 'id'>, schemaOptions: { title: 'NewQuestionBank', exclude: [ 'id' ] })",
        "properties": {
          "question": {
            "type": "string"
          },
          "questionId": {
            "type": "string"
          },
          "options": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "visibility": {
            "type": "object"
          },
          "uploads": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "type": "string"
          },
          "correctAnswerFeedback": {
            "type": "string"
          },
          "wrongAnswerFeedback": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "reviewStatus": {
            "type": "string"
          },
          "difficulty": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "knowledgeUnitId": {
            "type": "string"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          }
        },
        "required": [
          "question"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<QuestionBank, 'id'>"
      },
      "QuestionBankPartial": {
        "title": "QuestionBankPartial",
        "type": "object",
        "description": "(tsType: Partial<QuestionBank>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "question": {
            "type": "string"
          },
          "questionId": {
            "type": "string"
          },
          "options": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "visibility": {
            "type": "object"
          },
          "uploads": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "type": "string"
          },
          "correctAnswerFeedback": {
            "type": "string"
          },
          "wrongAnswerFeedback": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "reviewStatus": {
            "type": "string"
          },
          "difficulty": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "knowledgeUnitId": {
            "type": "string"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<QuestionBank>"
      },
      "KnowledgeTopic": {
        "title": "KnowledgeTopic",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "maskId": {
            "type": "string"
          },
          "uniqueId": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "KnowledgeArea": {
        "title": "KnowledgeArea",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "maskId": {
            "type": "string"
          },
          "uniqueId": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "order": {
            "type": "number"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "QRSession": {
        "title": "QRSession",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "uniqueId": {
            "type": "number"
          },
          "type": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "creatorId": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "knowledgeUnitId": {
            "type": "string"
          }
        },
        "description": "{\"indexInfo\":{\"uniqueId\":{\"unique\":true}}}",
        "required": [
          "uniqueId"
        ],
        "additionalProperties": false
      },
      "NewQRSession": {
        "title": "NewQRSession",
        "type": "object",
        "description": "(tsType: Omit<QRSession, 'id' | 'uniqueId' | 'created' | 'updated'>, schemaOptions: { title: 'NewQRSession', exclude: [ 'id', 'uniqueId', 'created', 'updated' ] })",
        "properties": {
          "type": {
            "type": "string"
          },
          "creatorId": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "knowledgeUnitId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<QRSession, 'id' | 'uniqueId' | 'created' | 'updated'>"
      },
      "QRUserResponseWithRelations": {
        "title": "QRUserResponseWithRelations",
        "type": "object",
        "description": "(tsType: QRUserResponseWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "questionId": {
            "type": "string"
          },
          "selectedOptions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "confidence": {
            "type": "string",
            "enum": [
              "confident",
              "not_sure",
              "not_confident"
            ]
          },
          "isCorrect": {
            "type": "boolean"
          },
          "score": {
            "type": "number"
          },
          "color": {
            "type": "string"
          },
          "awareness": {
            "type": "string"
          },
          "timeSpent": {
            "type": "number"
          },
          "individualResponses": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "consolidatedCCI": {
            "type": "object"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "sessionId": {
            "type": "string"
          },
          "submittedById": {
            "type": "string"
          },
          "session": {
            "$ref": "#/components/schemas/QRSessionWithRelations"
          },
          "foreignKey": {},
          "submittedBy": {
            "$ref": "#/components/schemas/EmployeeWithRelations"
          }
        },
        "required": [
          "questionId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "QRUserResponseWithRelations"
      },
      "QRSessionWithRelations": {
        "title": "QRSessionWithRelations",
        "type": "object",
        "description": "(tsType: QRSessionWithRelations, schemaOptions: { includeRelations: true }), {\"indexInfo\":{\"uniqueId\":{\"unique\":true}}}",
        "properties": {
          "id": {
            "type": "string"
          },
          "uniqueId": {
            "type": "number"
          },
          "type": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "creatorId": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "knowledgeUnitId": {
            "type": "string"
          },
          "creator": {
            "$ref": "#/components/schemas/EmployeeWithRelations"
          },
          "foreignKey": {},
          "knowledgeArea": {
            "$ref": "#/components/schemas/KnowledgeAreaWithRelations"
          },
          "knowledgeTopic": {
            "$ref": "#/components/schemas/KnowledgeTopicWithRelations"
          },
          "knowledgeUnit": {
            "$ref": "#/components/schemas/KnowledgeUnitWithRelations"
          },
          "userResponses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QRUserResponseWithRelations"
            }
          }
        },
        "required": [
          "uniqueId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "QRSessionWithRelations"
      },
      "QRSessionPartial": {
        "title": "QRSessionPartial",
        "type": "object",
        "description": "(tsType: Partial<QRSession>, schemaOptions: { partial: true }), {\"indexInfo\":{\"uniqueId\":{\"unique\":true}}}",
        "properties": {
          "id": {
            "type": "string"
          },
          "uniqueId": {
            "type": "number"
          },
          "type": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "creatorId": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "knowledgeUnitId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<QRSession>"
      },
      "OracleLocation": {
        "title": "OracleLocation",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "locationId": {
            "type": "number"
          },
          "locationCode": {
            "type": "string"
          },
          "locationName": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "description": "{\"indexInfo\":{\"locationId\":{\"unique\":true}}}",
        "required": [
          "locationId",
          "locationCode",
          "locationName"
        ],
        "additionalProperties": false
      },
      "NewOracleLocation": {
        "title": "NewOracleLocation",
        "type": "object",
        "description": "(tsType: Omit<OracleLocation, 'id'>, schemaOptions: { title: 'NewOracleLocation', exclude: [ 'id' ] }), {\"indexInfo\":{\"locationId\":{\"unique\":true}}}",
        "properties": {
          "locationId": {
            "type": "number"
          },
          "locationCode": {
            "type": "string"
          },
          "locationName": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "locationId",
          "locationCode",
          "locationName"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<OracleLocation, 'id'>"
      },
      "OracleLocationWithRelations": {
        "title": "OracleLocationWithRelations",
        "type": "object",
        "description": "(tsType: OracleLocationWithRelations, schemaOptions: { includeRelations: true }), {\"indexInfo\":{\"locationId\":{\"unique\":true}}}",
        "properties": {
          "id": {
            "type": "string"
          },
          "locationId": {
            "type": "number"
          },
          "locationCode": {
            "type": "string"
          },
          "locationName": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "locationId",
          "locationCode",
          "locationName"
        ],
        "additionalProperties": false,
        "x-typescript-type": "OracleLocationWithRelations"
      },
      "OracleLocationPartial": {
        "title": "OracleLocationPartial",
        "type": "object",
        "description": "(tsType: Partial<OracleLocation>, schemaOptions: { partial: true }), {\"indexInfo\":{\"locationId\":{\"unique\":true}}}",
        "properties": {
          "id": {
            "type": "string"
          },
          "locationId": {
            "type": "number"
          },
          "locationCode": {
            "type": "string"
          },
          "locationName": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<OracleLocation>"
      },
      "OracleJob": {
        "title": "OracleJob",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "jobId": {
            "type": "number"
          },
          "jobCode": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "description": "{\"indexInfo\":{\"jobId\":{\"unique\":true}}}",
        "required": [
          "jobId",
          "jobCode",
          "name"
        ],
        "additionalProperties": false
      },
      "NewOracleJob": {
        "title": "NewOracleJob",
        "type": "object",
        "description": "(tsType: Omit<OracleJob, 'id'>, schemaOptions: { title: 'NewOracleJob', exclude: [ 'id' ] }), {\"indexInfo\":{\"jobId\":{\"unique\":true}}}",
        "properties": {
          "jobId": {
            "type": "number"
          },
          "jobCode": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "jobId",
          "jobCode",
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<OracleJob, 'id'>"
      },
      "OracleJobWithRelations": {
        "title": "OracleJobWithRelations",
        "type": "object",
        "description": "(tsType: OracleJobWithRelations, schemaOptions: { includeRelations: true }), {\"indexInfo\":{\"jobId\":{\"unique\":true}}}",
        "properties": {
          "id": {
            "type": "string"
          },
          "jobId": {
            "type": "number"
          },
          "jobCode": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "jobId",
          "jobCode",
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "OracleJobWithRelations"
      },
      "OracleJobPartial": {
        "title": "OracleJobPartial",
        "type": "object",
        "description": "(tsType: Partial<OracleJob>, schemaOptions: { partial: true }), {\"indexInfo\":{\"jobId\":{\"unique\":true}}}",
        "properties": {
          "id": {
            "type": "string"
          },
          "jobId": {
            "type": "number"
          },
          "jobCode": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<OracleJob>"
      },
      "OnlineAttendedSession": {
        "title": "OnlineAttendedSession",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "knowledgeUnitId": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "completed",
              "in-progress",
              "not-started"
            ]
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "knowledgeAreaId",
          "knowledgeTopicId",
          "knowledgeUnitId",
          "userId"
        ],
        "additionalProperties": false
      },
      "NewOnlineAttendedSession": {
        "title": "NewOnlineAttendedSession",
        "type": "object",
        "description": "(tsType: Omit<OnlineAttendedSession, 'id'>, schemaOptions: { title: 'NewOnlineAttendedSession', exclude: [ 'id' ] })",
        "properties": {
          "knowledgeAreaId": {
            "type": "string"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "knowledgeUnitId": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "completed",
              "in-progress",
              "not-started"
            ]
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "knowledgeAreaId",
          "knowledgeTopicId",
          "knowledgeUnitId",
          "userId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<OnlineAttendedSession, 'id'>"
      },
      "OnlineAttendedSessionWithRelations": {
        "title": "OnlineAttendedSessionWithRelations",
        "type": "object",
        "description": "(tsType: OnlineAttendedSessionWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "knowledgeUnitId": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "completed",
              "in-progress",
              "not-started"
            ]
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "knowledgeAreaId",
          "knowledgeTopicId",
          "knowledgeUnitId",
          "userId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "OnlineAttendedSessionWithRelations"
      },
      "OnlineAttendedSessionPartial": {
        "title": "OnlineAttendedSessionPartial",
        "type": "object",
        "description": "(tsType: Partial<OnlineAttendedSession>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "knowledgeUnitId": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "completed",
              "in-progress",
              "not-started"
            ]
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<OnlineAttendedSession>"
      },
      "KnowledgeUnit": {
        "title": "KnowledgeUnit",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "maskId": {
            "type": "string"
          },
          "preTestEnabled": {
            "type": "boolean"
          },
          "preTestEasy": {
            "type": "number"
          },
          "preTestMedium": {
            "type": "number"
          },
          "preTestHard": {
            "type": "number"
          },
          "postTestEnabled": {
            "type": "boolean"
          },
          "postTestEasy": {
            "type": "number"
          },
          "postTestMedium": {
            "type": "number"
          },
          "postTestHard": {
            "type": "number"
          },
          "uniqueId": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "content": {},
          "trainingStatus": {
            "type": "string"
          },
          "trainingType": {
            "type": "string"
          },
          "trainingContent": {},
          "enrollmentType": {
            "type": "string"
          },
          "programSMEId": {
            "type": "string"
          },
          "department": {
            "type": "string"
          },
          "businessUnit": {
            "type": "string"
          },
          "picture": {
            "type": "string"
          },
          "trainingProgramName": {
            "type": "string"
          },
          "trainingProgramCode": {
            "type": "string"
          },
          "overview": {
            "type": "string"
          },
          "objectives": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "customObjective": {
            "type": "string"
          },
          "durationHours": {
            "type": "number"
          },
          "assignmentBusinessUnit": {
            "type": "string"
          },
          "workerType": {
            "type": "string"
          },
          "assignmentDepartment": {
            "type": "string"
          },
          "jobName": {
            "type": "string"
          },
          "gradeCode": {
            "type": "string"
          },
          "assignmentDayFromDOJ": {
            "type": "number"
          },
          "completionBy": {
            "type": "number"
          },
          "validityPeriod": {
            "type": "number"
          },
          "retrainingRequired": {
            "type": "boolean"
          },
          "isCertificated": {
            "type": "boolean"
          },
          "type": {
            "type": "string",
            "enum": [
              "Online",
              "Classroom",
              "Hybrid",
              "OJT"
            ]
          },
          "programType": {
            "type": "string"
          },
          "mandatoryType": {
            "type": "string"
          },
          "modeOfDelivery": {
            "type": "string"
          },
          "nominationByHOD": {
            "type": "boolean"
          },
          "selfNominationWithApproval": {
            "type": "boolean"
          },
          "attachmentStatus": {
            "type": "string"
          },
          "trainingAids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "questionBankStatus": {
            "type": "string"
          },
          "imcqMcqStatus": {
            "type": "string"
          },
          "assignmentQuestionsStatus": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          },
          "questionBankCount": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "draft",
              "archived"
            ]
          },
          "curatedById": {
            "type": "string"
          },
          "postTestSameAsPreTest": {
            "type": "string"
          },
          "lastUpdatedDate": {
            "type": "string",
            "format": "date-time"
          },
          "knowledgeTopicId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "NewKnowledgeUnit": {
        "title": "NewKnowledgeUnit",
        "type": "object",
        "description": "(tsType: Omit<KnowledgeUnit, 'id'>, schemaOptions: { title: 'NewKnowledgeUnit', exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "maskId": {
            "type": "string"
          },
          "preTestEnabled": {
            "type": "boolean"
          },
          "preTestEasy": {
            "type": "number"
          },
          "preTestMedium": {
            "type": "number"
          },
          "preTestHard": {
            "type": "number"
          },
          "postTestEnabled": {
            "type": "boolean"
          },
          "postTestEasy": {
            "type": "number"
          },
          "postTestMedium": {
            "type": "number"
          },
          "postTestHard": {
            "type": "number"
          },
          "uniqueId": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "content": {},
          "trainingStatus": {
            "type": "string"
          },
          "trainingType": {
            "type": "string"
          },
          "trainingContent": {},
          "enrollmentType": {
            "type": "string"
          },
          "programSMEId": {
            "type": "string"
          },
          "department": {
            "type": "string"
          },
          "businessUnit": {
            "type": "string"
          },
          "picture": {
            "type": "string"
          },
          "trainingProgramName": {
            "type": "string"
          },
          "trainingProgramCode": {
            "type": "string"
          },
          "overview": {
            "type": "string"
          },
          "objectives": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "customObjective": {
            "type": "string"
          },
          "durationHours": {
            "type": "number"
          },
          "assignmentBusinessUnit": {
            "type": "string"
          },
          "workerType": {
            "type": "string"
          },
          "assignmentDepartment": {
            "type": "string"
          },
          "jobName": {
            "type": "string"
          },
          "gradeCode": {
            "type": "string"
          },
          "assignmentDayFromDOJ": {
            "type": "number"
          },
          "completionBy": {
            "type": "number"
          },
          "validityPeriod": {
            "type": "number"
          },
          "retrainingRequired": {
            "type": "boolean"
          },
          "isCertificated": {
            "type": "boolean"
          },
          "type": {
            "type": "string",
            "enum": [
              "Online",
              "Classroom",
              "Hybrid",
              "OJT"
            ]
          },
          "programType": {
            "type": "string"
          },
          "mandatoryType": {
            "type": "string"
          },
          "modeOfDelivery": {
            "type": "string"
          },
          "nominationByHOD": {
            "type": "boolean"
          },
          "selfNominationWithApproval": {
            "type": "boolean"
          },
          "attachmentStatus": {
            "type": "string"
          },
          "trainingAids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "questionBankStatus": {
            "type": "string"
          },
          "imcqMcqStatus": {
            "type": "string"
          },
          "assignmentQuestionsStatus": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          },
          "questionBankCount": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "draft",
              "archived"
            ]
          },
          "curatedById": {
            "type": "string"
          },
          "postTestSameAsPreTest": {
            "type": "string"
          },
          "lastUpdatedDate": {
            "type": "string",
            "format": "date-time"
          },
          "knowledgeTopicId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<KnowledgeUnit, 'id'>"
      },
      "KnowledgeUnitPartial": {
        "title": "KnowledgeUnitPartial",
        "type": "object",
        "description": "(tsType: Partial<KnowledgeUnit>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "maskId": {
            "type": "string"
          },
          "preTestEnabled": {
            "type": "boolean"
          },
          "preTestEasy": {
            "type": "number"
          },
          "preTestMedium": {
            "type": "number"
          },
          "preTestHard": {
            "type": "number"
          },
          "postTestEnabled": {
            "type": "boolean"
          },
          "postTestEasy": {
            "type": "number"
          },
          "postTestMedium": {
            "type": "number"
          },
          "postTestHard": {
            "type": "number"
          },
          "uniqueId": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "content": {},
          "trainingStatus": {
            "type": "string"
          },
          "trainingType": {
            "type": "string"
          },
          "trainingContent": {},
          "enrollmentType": {
            "type": "string"
          },
          "programSMEId": {
            "type": "string"
          },
          "department": {
            "type": "string"
          },
          "businessUnit": {
            "type": "string"
          },
          "picture": {
            "type": "string"
          },
          "trainingProgramName": {
            "type": "string"
          },
          "trainingProgramCode": {
            "type": "string"
          },
          "overview": {
            "type": "string"
          },
          "objectives": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "customObjective": {
            "type": "string"
          },
          "durationHours": {
            "type": "number"
          },
          "assignmentBusinessUnit": {
            "type": "string"
          },
          "workerType": {
            "type": "string"
          },
          "assignmentDepartment": {
            "type": "string"
          },
          "jobName": {
            "type": "string"
          },
          "gradeCode": {
            "type": "string"
          },
          "assignmentDayFromDOJ": {
            "type": "number"
          },
          "completionBy": {
            "type": "number"
          },
          "validityPeriod": {
            "type": "number"
          },
          "retrainingRequired": {
            "type": "boolean"
          },
          "isCertificated": {
            "type": "boolean"
          },
          "type": {
            "type": "string",
            "enum": [
              "Online",
              "Classroom",
              "Hybrid",
              "OJT"
            ]
          },
          "programType": {
            "type": "string"
          },
          "mandatoryType": {
            "type": "string"
          },
          "modeOfDelivery": {
            "type": "string"
          },
          "nominationByHOD": {
            "type": "boolean"
          },
          "selfNominationWithApproval": {
            "type": "boolean"
          },
          "attachmentStatus": {
            "type": "string"
          },
          "trainingAids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "questionBankStatus": {
            "type": "string"
          },
          "imcqMcqStatus": {
            "type": "string"
          },
          "assignmentQuestionsStatus": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          },
          "questionBankCount": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "draft",
              "archived"
            ]
          },
          "curatedById": {
            "type": "string"
          },
          "postTestSameAsPreTest": {
            "type": "string"
          },
          "lastUpdatedDate": {
            "type": "string",
            "format": "date-time"
          },
          "knowledgeTopicId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<KnowledgeUnit>"
      },
      "NewQuestionBankInKnowledgeUnit": {
        "title": "NewQuestionBankInKnowledgeUnit",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<Omit<QuestionBank, 'id'>, 'knowledgeUnitId'>, schemaOptions: { title: 'NewQuestionBankInKnowledgeUnit', exclude: [ 'id' ], optional: [ 'knowledgeUnitId' ] })",
        "properties": {
          "question": {
            "type": "string"
          },
          "questionId": {
            "type": "string"
          },
          "options": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "visibility": {
            "type": "object"
          },
          "uploads": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "type": "string"
          },
          "correctAnswerFeedback": {
            "type": "string"
          },
          "wrongAnswerFeedback": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "reviewStatus": {
            "type": "string"
          },
          "difficulty": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "knowledgeUnitId": {
            "type": "string"
          },
          "knowledgeTopicId": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          }
        },
        "required": [
          "question"
        ],
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<Omit<QuestionBank, 'id'>, 'knowledgeUnitId'>"
      },
      "NewKnowledgeTopic": {
        "title": "NewKnowledgeTopic",
        "type": "object",
        "description": "(tsType: Omit<KnowledgeTopic, 'id'>, schemaOptions: { title: 'NewKnowledgeTopic', exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "maskId": {
            "type": "string"
          },
          "uniqueId": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<KnowledgeTopic, 'id'>"
      },
      "KnowledgeTopicPartial": {
        "title": "KnowledgeTopicPartial",
        "type": "object",
        "description": "(tsType: Partial<KnowledgeTopic>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "maskId": {
            "type": "string"
          },
          "uniqueId": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<KnowledgeTopic>"
      },
      "NewKnowledgeUnitInKnowledgeTopic": {
        "title": "NewKnowledgeUnitInKnowledgeTopic",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<Omit<KnowledgeUnit, 'id'>, 'knowledgeTopicId'>, schemaOptions: { title: 'NewKnowledgeUnitInKnowledgeTopic', exclude: [ 'id' ], optional: [ 'knowledgeTopicId' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "maskId": {
            "type": "string"
          },
          "preTestEnabled": {
            "type": "boolean"
          },
          "preTestEasy": {
            "type": "number"
          },
          "preTestMedium": {
            "type": "number"
          },
          "preTestHard": {
            "type": "number"
          },
          "postTestEnabled": {
            "type": "boolean"
          },
          "postTestEasy": {
            "type": "number"
          },
          "postTestMedium": {
            "type": "number"
          },
          "postTestHard": {
            "type": "number"
          },
          "uniqueId": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "content": {},
          "trainingStatus": {
            "type": "string"
          },
          "trainingType": {
            "type": "string"
          },
          "trainingContent": {},
          "enrollmentType": {
            "type": "string"
          },
          "programSMEId": {
            "type": "string"
          },
          "department": {
            "type": "string"
          },
          "businessUnit": {
            "type": "string"
          },
          "picture": {
            "type": "string"
          },
          "trainingProgramName": {
            "type": "string"
          },
          "trainingProgramCode": {
            "type": "string"
          },
          "overview": {
            "type": "string"
          },
          "objectives": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "customObjective": {
            "type": "string"
          },
          "durationHours": {
            "type": "number"
          },
          "assignmentBusinessUnit": {
            "type": "string"
          },
          "workerType": {
            "type": "string"
          },
          "assignmentDepartment": {
            "type": "string"
          },
          "jobName": {
            "type": "string"
          },
          "gradeCode": {
            "type": "string"
          },
          "assignmentDayFromDOJ": {
            "type": "number"
          },
          "completionBy": {
            "type": "number"
          },
          "validityPeriod": {
            "type": "number"
          },
          "retrainingRequired": {
            "type": "boolean"
          },
          "isCertificated": {
            "type": "boolean"
          },
          "type": {
            "type": "string",
            "enum": [
              "Online",
              "Classroom",
              "Hybrid",
              "OJT"
            ]
          },
          "programType": {
            "type": "string"
          },
          "mandatoryType": {
            "type": "string"
          },
          "modeOfDelivery": {
            "type": "string"
          },
          "nominationByHOD": {
            "type": "boolean"
          },
          "selfNominationWithApproval": {
            "type": "boolean"
          },
          "attachmentStatus": {
            "type": "string"
          },
          "trainingAids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "questionBankStatus": {
            "type": "string"
          },
          "imcqMcqStatus": {
            "type": "string"
          },
          "assignmentQuestionsStatus": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          },
          "questionBankCount": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "draft",
              "archived"
            ]
          },
          "curatedById": {
            "type": "string"
          },
          "postTestSameAsPreTest": {
            "type": "string"
          },
          "lastUpdatedDate": {
            "type": "string",
            "format": "date-time"
          },
          "knowledgeTopicId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<Omit<KnowledgeUnit, 'id'>, 'knowledgeTopicId'>"
      },
      "NewKnowledgeArea": {
        "title": "NewKnowledgeArea",
        "type": "object",
        "description": "(tsType: Omit<KnowledgeArea, 'id'>, schemaOptions: { title: 'NewKnowledgeArea', exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "maskId": {
            "type": "string"
          },
          "uniqueId": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "order": {
            "type": "number"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<KnowledgeArea, 'id'>"
      },
      "KnowledgeAreaPartial": {
        "title": "KnowledgeAreaPartial",
        "type": "object",
        "description": "(tsType: Partial<KnowledgeArea>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "maskId": {
            "type": "string"
          },
          "uniqueId": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "order": {
            "type": "number"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<KnowledgeArea>"
      },
      "NewKnowledgeTopicInKnowledgeArea": {
        "title": "NewKnowledgeTopicInKnowledgeArea",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<Omit<KnowledgeTopic, 'id'>, 'knowledgeAreaId'>, schemaOptions: { title: 'NewKnowledgeTopicInKnowledgeArea', exclude: [ 'id' ], optional: [ 'knowledgeAreaId' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "maskId": {
            "type": "string"
          },
          "uniqueId": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string"
          },
          "knowledgeAreaId": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<Omit<KnowledgeTopic, 'id'>, 'knowledgeAreaId'>"
      },
      "HazardItem": {
        "title": "HazardItem",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "image": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "hazardCategoryId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "NewHazardItem": {
        "title": "NewHazardItem",
        "type": "object",
        "description": "(tsType: Omit<HazardItem, 'id'>, schemaOptions: { title: 'NewHazardItem', exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "image": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "hazardCategoryId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<HazardItem, 'id'>"
      },
      "HazardItemWithRelations": {
        "title": "HazardItemWithRelations",
        "type": "object",
        "description": "(tsType: HazardItemWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "image": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "hazardCategoryId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "HazardItemWithRelations"
      },
      "HazardItemPartial": {
        "title": "HazardItemPartial",
        "type": "object",
        "description": "(tsType: Partial<HazardItem>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "image": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "hazardCategoryId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<HazardItem>"
      },
      "HazardIndustry": {
        "title": "HazardIndustry",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "NewHazardIndustry": {
        "title": "NewHazardIndustry",
        "type": "object",
        "description": "(tsType: Omit<HazardIndustry, 'id'>, schemaOptions: { title: 'NewHazardIndustry', exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<HazardIndustry, 'id'>"
      },
      "HazardCategoryWithRelations": {
        "title": "HazardCategoryWithRelations",
        "type": "object",
        "description": "(tsType: HazardCategoryWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "hazardIndustryId": {
            "type": "string"
          },
          "hazardItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HazardItemWithRelations"
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "HazardCategoryWithRelations"
      },
      "HazardIndustryWithRelations": {
        "title": "HazardIndustryWithRelations",
        "type": "object",
        "description": "(tsType: HazardIndustryWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "hazardCategories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HazardCategoryWithRelations"
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "HazardIndustryWithRelations"
      },
      "HazardIndustryPartial": {
        "title": "HazardIndustryPartial",
        "type": "object",
        "description": "(tsType: Partial<HazardIndustry>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<HazardIndustry>"
      },
      "HazardCategory": {
        "title": "HazardCategory",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "hazardIndustryId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "NewHazardCategoryInHazardIndustry": {
        "title": "NewHazardCategoryInHazardIndustry",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<Omit<HazardCategory, 'id'>, 'hazardIndustryId'>, schemaOptions: { title: 'NewHazardCategoryInHazardIndustry', exclude: [ 'id' ], optional: [ 'hazardIndustryId' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "hazardIndustryId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<Omit<HazardCategory, 'id'>, 'hazardIndustryId'>"
      },
      "HazardCategoryPartial": {
        "title": "HazardCategoryPartial",
        "type": "object",
        "description": "(tsType: Partial<HazardCategory>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "hazardIndustryId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<HazardCategory>"
      },
      "NewHazardCategory": {
        "title": "NewHazardCategory",
        "type": "object",
        "description": "(tsType: Omit<HazardCategory, 'id'>, schemaOptions: { title: 'NewHazardCategory', exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "hazardIndustryId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<HazardCategory, 'id'>"
      },
      "NewHazardItemInHazardCategory": {
        "title": "NewHazardItemInHazardCategory",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<Omit<HazardItem, 'id'>, 'hazardCategoryId'>, schemaOptions: { title: 'NewHazardItemInHazardCategory', exclude: [ 'id' ], optional: [ 'hazardCategoryId' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "image": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "hazardCategoryId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<Omit<HazardItem, 'id'>, 'hazardCategoryId'>"
      },
      "FlashcardSession": {
        "title": "FlashcardSession",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "sessionCode": {
            "type": "string"
          },
          "config": {
            "type": "object"
          },
          "questionIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "completedQuestionIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "currentQuestionIndex": {
            "type": "number"
          },
          "correctAnswers": {
            "type": "number"
          },
          "totalAttempted": {
            "type": "number"
          },
          "starsEarned": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "completed",
              "expired",
              "paused"
            ]
          },
          "sessionStartTime": {
            "type": "string",
            "format": "date-time"
          },
          "sessionEndTime": {
            "type": "string",
            "format": "date-time"
          },
          "lastActivityTime": {
            "type": "string",
            "format": "date-time"
          },
          "completedAt": {
            "type": "string",
            "format": "date-time"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "resetPeriodId": {
            "type": "string"
          },
          "resetPeriodType": {
            "type": "string",
            "enum": [
              "morning",
              "evening"
            ]
          },
          "resetPeriodStartTime": {
            "type": "string",
            "format": "date-time"
          },
          "resetPeriodEndTime": {
            "type": "string",
            "format": "date-time"
          },
          "userId": {
            "type": "string"
          }
        },
        "required": [
          "sessionCode",
          "config",
          "sessionStartTime",
          "sessionEndTime"
        ],
        "additionalProperties": false
      },
      "FlashcardStats": {
        "title": "FlashcardStats",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "totalSessions": {
            "type": "number"
          },
          "completedSessions": {
            "type": "number"
          },
          "totalQuestionsAttempted": {
            "type": "number"
          },
          "totalCorrectAnswers": {
            "type": "number"
          },
          "overallAccuracy": {
            "type": "number"
          },
          "streakData": {
            "type": "object"
          },
          "starsBreakdown": {
            "type": "object"
          },
          "difficultyStats": {
            "type": "object"
          },
          "achievements": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "averageSessionTime": {
            "type": "number"
          },
          "averageQuestionTime": {
            "type": "number"
          },
          "currentLevel": {
            "type": "number"
          },
          "experiencePoints": {
            "type": "number"
          },
          "lastSessionDate": {
            "type": "string",
            "format": "date-time"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "userId": {
            "type": "string"
          }
        },
        "required": [
          "streakData",
          "starsBreakdown",
          "difficultyStats"
        ],
        "additionalProperties": false
      },
      "NewEmployee": {
        "title": "NewEmployee",
        "type": "object",
        "description": "(tsType: Omit<Employee, 'id'>, schemaOptions: { title: 'NewEmployee', exclude: [ 'id' ] }), {\"indexInfo\":{\"uniqueId\":{\"unique\":true}}}",
        "properties": {
          "uniqueId": {
            "type": "number"
          },
          "employeeId": {
            "type": "string"
          },
          "dateOfJoining": {
            "type": "string",
            "format": "date-time"
          },
          "email": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "workerType": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "resigningDate": {
            "type": "string",
            "format": "date-time"
          },
          "businessUnitId": {
            "type": "number"
          },
          "businessUnitName": {
            "type": "string"
          },
          "jobId": {
            "type": "number"
          },
          "jobCode": {
            "type": "string"
          },
          "gradeId": {
            "type": "number"
          },
          "gradeCode": {
            "type": "string"
          },
          "departmentId": {
            "type": "number"
          },
          "managerId": {
            "type": "number"
          },
          "departmentCode": {
            "type": "string"
          },
          "locationId": {
            "type": "number"
          },
          "locationCode": {
            "type": "string"
          },
          "isAdmin": {
            "type": "boolean"
          },
          "isTrainer": {
            "type": "boolean"
          },
          "trainerRoleName": {
            "type": "string"
          },
          "isLeadership": {
            "type": "boolean"
          },
          "leadershipRoleName": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "uniqueId",
          "employeeId",
          "email"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Employee, 'id'>"
      },
      "EmployeePartial": {
        "title": "EmployeePartial",
        "type": "object",
        "description": "(tsType: Partial<Employee>, schemaOptions: { partial: true }), {\"indexInfo\":{\"uniqueId\":{\"unique\":true}}}",
        "properties": {
          "id": {
            "type": "string"
          },
          "uniqueId": {
            "type": "number"
          },
          "employeeId": {
            "type": "string"
          },
          "dateOfJoining": {
            "type": "string",
            "format": "date-time"
          },
          "email": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "workerType": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "resigningDate": {
            "type": "string",
            "format": "date-time"
          },
          "businessUnitId": {
            "type": "number"
          },
          "businessUnitName": {
            "type": "string"
          },
          "jobId": {
            "type": "number"
          },
          "jobCode": {
            "type": "string"
          },
          "gradeId": {
            "type": "number"
          },
          "gradeCode": {
            "type": "string"
          },
          "departmentId": {
            "type": "number"
          },
          "managerId": {
            "type": "number"
          },
          "departmentCode": {
            "type": "string"
          },
          "locationId": {
            "type": "number"
          },
          "locationCode": {
            "type": "string"
          },
          "isAdmin": {
            "type": "boolean"
          },
          "isTrainer": {
            "type": "boolean"
          },
          "trainerRoleName": {
            "type": "string"
          },
          "isLeadership": {
            "type": "boolean"
          },
          "leadershipRoleName": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Employee>"
      },
      "NewDropdown": {
        "title": "NewDropdown",
        "type": "object",
        "description": "(tsType: Omit<Dropdown, 'id'>, schemaOptions: { title: 'NewDropdown', exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "maskName": {
            "type": "string"
          },
          "levels": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "maskId": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "apiUrl": {
            "type": "string"
          },
          "routeUrl": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "serviceId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Dropdown, 'id'>"
      },
      "DropdownItems": {
        "title": "DropdownItems",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "maskName": {
            "type": "string"
          },
          "maskId": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "placeholderName": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "level": {
            "type": "number"
          },
          "apiUrl": {
            "type": "string"
          },
          "routeUrl": {
            "type": "string"
          },
          "severityLevel": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "parentId": {
            "type": "string"
          },
          "dropdownId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "NewDropdownItems": {
        "title": "NewDropdownItems",
        "type": "object",
        "description": "(tsType: Omit<DropdownItems, 'id'>, schemaOptions: { title: 'NewDropdownItems', exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "maskName": {
            "type": "string"
          },
          "maskId": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "placeholderName": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "level": {
            "type": "number"
          },
          "apiUrl": {
            "type": "string"
          },
          "routeUrl": {
            "type": "string"
          },
          "severityLevel": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "parentId": {
            "type": "string"
          },
          "dropdownId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<DropdownItems, 'id'>"
      },
      "DropdownItemsPartial": {
        "title": "DropdownItemsPartial",
        "type": "object",
        "description": "(tsType: Partial<DropdownItems>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "maskName": {
            "type": "string"
          },
          "maskId": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "placeholderName": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "level": {
            "type": "number"
          },
          "apiUrl": {
            "type": "string"
          },
          "routeUrl": {
            "type": "string"
          },
          "severityLevel": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "parentId": {
            "type": "string"
          },
          "dropdownId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<DropdownItems>"
      },
      "NewDropdownItemsInDropdown": {
        "title": "NewDropdownItemsInDropdown",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<Omit<DropdownItems, 'id'>, 'dropdownId'>, schemaOptions: { title: 'NewDropdownItemsInDropdown', exclude: [ 'id' ], optional: [ 'dropdownId' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "maskName": {
            "type": "string"
          },
          "maskId": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "placeholderName": {
            "type": "string"
          },
          "order": {
            "type": "number"
          },
          "level": {
            "type": "number"
          },
          "apiUrl": {
            "type": "string"
          },
          "routeUrl": {
            "type": "string"
          },
          "severityLevel": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "parentId": {
            "type": "string"
          },
          "dropdownId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<Omit<DropdownItems, 'id'>, 'dropdownId'>"
      },
      "Checklist": {
        "title": "Checklist",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "Draft",
              "Published",
              "Archived"
            ]
          },
          "isArchive": {
            "type": "boolean"
          },
          "maskId": {
            "type": "string"
          },
          "value": {},
          "customId": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "curatorId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "NewChecklist": {
        "title": "NewChecklist",
        "type": "object",
        "description": "(tsType: Omit<Checklist, 'id'>, schemaOptions: { title: 'NewChecklist', exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "Draft",
              "Published",
              "Archived"
            ]
          },
          "isArchive": {
            "type": "boolean"
          },
          "maskId": {
            "type": "string"
          },
          "value": {},
          "customId": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "curatorId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Checklist, 'id'>"
      },
      "ChecklistWithRelations": {
        "title": "ChecklistWithRelations",
        "type": "object",
        "description": "(tsType: ChecklistWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "Draft",
              "Published",
              "Archived"
            ]
          },
          "isArchive": {
            "type": "boolean"
          },
          "maskId": {
            "type": "string"
          },
          "value": {},
          "customId": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "curatorId": {
            "type": "string"
          },
          "curator": {
            "$ref": "#/components/schemas/EmployeeWithRelations"
          },
          "foreignKey": {}
        },
        "additionalProperties": false,
        "x-typescript-type": "ChecklistWithRelations"
      },
      "ChecklistPartial": {
        "title": "ChecklistPartial",
        "type": "object",
        "description": "(tsType: Partial<Checklist>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "Draft",
              "Published",
              "Archived"
            ]
          },
          "isArchive": {
            "type": "boolean"
          },
          "maskId": {
            "type": "string"
          },
          "value": {},
          "customId": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "updated": {
            "type": "string",
            "format": "date-time"
          },
          "curatorId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Checklist>"
      },
      "NewBusinessUnit": {
        "title": "NewBusinessUnit",
        "type": "object",
        "description": "(tsType: Omit<BusinessUnit, 'id' | 'created' | 'updated'>, schemaOptions: { title: 'NewBusinessUnit', exclude: [ 'id', 'created', 'updated' ] }), {\"indexInfo\":{\"businessUnitId\":{\"unique\":true}}}",
        "properties": {
          "businessUnitId": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "inactive"
            ]
          },
          "location": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "parentBusinessUnitId": {
            "type": "number"
          }
        },
        "required": [
          "businessUnitId",
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<BusinessUnit, 'id' | 'created' | 'updated'>"
      },
      "loopback.Count": {
        "type": "object",
        "title": "loopback.Count",
        "x-typescript-type": "@loopback/repository#Count",
        "properties": {
          "count": {
            "type": "number"
          }
        }
      },
      "BusinessUnit.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "BusinessUnit.ScopeFilter"
      },
      "BusinessUnit.IncludeFilter.Items": {
        "title": "BusinessUnit.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "trainingAssignments"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/BusinessUnit.ScopeFilter"
          }
        }
      },
      "BusinessUnit.Filter": {
        "type": "object",
        "title": "BusinessUnit.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "businessUnitId": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "location": {
                    "type": "boolean"
                  },
                  "region": {
                    "type": "boolean"
                  },
                  "parentBusinessUnitId": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "businessUnitId",
                    "name",
                    "code",
                    "description",
                    "status",
                    "location",
                    "region",
                    "parentBusinessUnitId",
                    "created",
                    "updated"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "BusinessUnit.Fields"
          },
          "include": {
            "title": "BusinessUnit.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/BusinessUnit.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<BusinessUnit>"
      },
      "BusinessUnit.Filter1": {
        "type": "object",
        "title": "BusinessUnit.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "BusinessUnit.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "businessUnitId": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "code": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "location": {
                    "type": "boolean"
                  },
                  "region": {
                    "type": "boolean"
                  },
                  "parentBusinessUnitId": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "businessUnitId",
                    "name",
                    "code",
                    "description",
                    "status",
                    "location",
                    "region",
                    "parentBusinessUnitId",
                    "created",
                    "updated"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "BusinessUnit.Fields"
          },
          "include": {
            "title": "BusinessUnit.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/BusinessUnit.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<BusinessUnit>"
      },
      "Checklist.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Checklist.ScopeFilter"
      },
      "Checklist.IncludeFilter.Items": {
        "title": "Checklist.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "curator"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Checklist.ScopeFilter"
          }
        }
      },
      "Checklist.Filter": {
        "type": "object",
        "title": "Checklist.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "version": {
                    "type": "boolean"
                  },
                  "category": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "isArchive": {
                    "type": "boolean"
                  },
                  "maskId": {
                    "type": "boolean"
                  },
                  "value": {
                    "type": "boolean"
                  },
                  "customId": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  },
                  "curatorId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "version",
                    "category",
                    "status",
                    "isArchive",
                    "maskId",
                    "value",
                    "customId",
                    "created",
                    "updated",
                    "curatorId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Checklist.Fields"
          },
          "include": {
            "title": "Checklist.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Checklist.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Checklist>"
      },
      "Checklist.Filter1": {
        "type": "object",
        "title": "Checklist.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Checklist.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "version": {
                    "type": "boolean"
                  },
                  "category": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "isArchive": {
                    "type": "boolean"
                  },
                  "maskId": {
                    "type": "boolean"
                  },
                  "value": {
                    "type": "boolean"
                  },
                  "customId": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  },
                  "curatorId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "version",
                    "category",
                    "status",
                    "isArchive",
                    "maskId",
                    "value",
                    "customId",
                    "created",
                    "updated",
                    "curatorId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Checklist.Fields"
          },
          "include": {
            "title": "Checklist.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Checklist.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Checklist>"
      },
      "DropdownItems.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "DropdownItems.ScopeFilter"
      },
      "DropdownItems.IncludeFilter.Items": {
        "title": "DropdownItems.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "dropdown"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/DropdownItems.ScopeFilter"
          }
        }
      },
      "DropdownItems.Filter": {
        "type": "object",
        "title": "DropdownItems.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "maskName": {
                    "type": "boolean"
                  },
                  "maskId": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "placeholderName": {
                    "type": "boolean"
                  },
                  "order": {
                    "type": "boolean"
                  },
                  "level": {
                    "type": "boolean"
                  },
                  "apiUrl": {
                    "type": "boolean"
                  },
                  "routeUrl": {
                    "type": "boolean"
                  },
                  "severityLevel": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  },
                  "parentId": {
                    "type": "boolean"
                  },
                  "dropdownId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "maskName",
                    "maskId",
                    "description",
                    "placeholderName",
                    "order",
                    "level",
                    "apiUrl",
                    "routeUrl",
                    "severityLevel",
                    "created",
                    "updated",
                    "parentId",
                    "dropdownId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "DropdownItems.Fields"
          },
          "include": {
            "title": "DropdownItems.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/DropdownItems.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<DropdownItems>"
      },
      "DropdownItems.Filter1": {
        "type": "object",
        "title": "DropdownItems.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "DropdownItems.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "maskName": {
                    "type": "boolean"
                  },
                  "maskId": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "placeholderName": {
                    "type": "boolean"
                  },
                  "order": {
                    "type": "boolean"
                  },
                  "level": {
                    "type": "boolean"
                  },
                  "apiUrl": {
                    "type": "boolean"
                  },
                  "routeUrl": {
                    "type": "boolean"
                  },
                  "severityLevel": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  },
                  "parentId": {
                    "type": "boolean"
                  },
                  "dropdownId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "maskName",
                    "maskId",
                    "description",
                    "placeholderName",
                    "order",
                    "level",
                    "apiUrl",
                    "routeUrl",
                    "severityLevel",
                    "created",
                    "updated",
                    "parentId",
                    "dropdownId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "DropdownItems.Fields"
          },
          "include": {
            "title": "DropdownItems.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/DropdownItems.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<DropdownItems>"
      },
      "Dropdown.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Dropdown.ScopeFilter"
      },
      "Dropdown.IncludeFilter.Items": {
        "title": "Dropdown.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "service",
              "dropdownItems"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Dropdown.ScopeFilter"
          }
        }
      },
      "Dropdown.Filter": {
        "type": "object",
        "title": "Dropdown.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "maskName": {
                    "type": "boolean"
                  },
                  "levels": {
                    "type": "boolean"
                  },
                  "maskId": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "apiUrl": {
                    "type": "boolean"
                  },
                  "routeUrl": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  },
                  "serviceId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "maskName",
                    "levels",
                    "maskId",
                    "description",
                    "apiUrl",
                    "routeUrl",
                    "type",
                    "created",
                    "updated",
                    "serviceId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Dropdown.Fields"
          },
          "include": {
            "title": "Dropdown.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Dropdown.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Dropdown>"
      },
      "Dropdown.Filter1": {
        "type": "object",
        "title": "Dropdown.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Dropdown.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "maskName": {
                    "type": "boolean"
                  },
                  "levels": {
                    "type": "boolean"
                  },
                  "maskId": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "apiUrl": {
                    "type": "boolean"
                  },
                  "routeUrl": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  },
                  "serviceId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "maskName",
                    "levels",
                    "maskId",
                    "description",
                    "apiUrl",
                    "routeUrl",
                    "type",
                    "created",
                    "updated",
                    "serviceId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Dropdown.Fields"
          },
          "include": {
            "title": "Dropdown.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Dropdown.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Dropdown>"
      },
      "Employee.Filter": {
        "type": "object",
        "title": "Employee.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "uniqueId": {
                    "type": "boolean"
                  },
                  "employeeId": {
                    "type": "boolean"
                  },
                  "dateOfJoining": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "firstName": {
                    "type": "boolean"
                  },
                  "lastName": {
                    "type": "boolean"
                  },
                  "title": {
                    "type": "boolean"
                  },
                  "workerType": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "resigningDate": {
                    "type": "boolean"
                  },
                  "businessUnitId": {
                    "type": "boolean"
                  },
                  "businessUnitName": {
                    "type": "boolean"
                  },
                  "jobId": {
                    "type": "boolean"
                  },
                  "jobCode": {
                    "type": "boolean"
                  },
                  "gradeId": {
                    "type": "boolean"
                  },
                  "gradeCode": {
                    "type": "boolean"
                  },
                  "departmentId": {
                    "type": "boolean"
                  },
                  "managerId": {
                    "type": "boolean"
                  },
                  "departmentCode": {
                    "type": "boolean"
                  },
                  "locationId": {
                    "type": "boolean"
                  },
                  "locationCode": {
                    "type": "boolean"
                  },
                  "isAdmin": {
                    "type": "boolean"
                  },
                  "isTrainer": {
                    "type": "boolean"
                  },
                  "trainerRoleName": {
                    "type": "boolean"
                  },
                  "isLeadership": {
                    "type": "boolean"
                  },
                  "leadershipRoleName": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "uniqueId",
                    "employeeId",
                    "dateOfJoining",
                    "email",
                    "firstName",
                    "lastName",
                    "title",
                    "workerType",
                    "status",
                    "resigningDate",
                    "businessUnitId",
                    "businessUnitName",
                    "jobId",
                    "jobCode",
                    "gradeId",
                    "gradeCode",
                    "departmentId",
                    "managerId",
                    "departmentCode",
                    "locationId",
                    "locationCode",
                    "isAdmin",
                    "isTrainer",
                    "trainerRoleName",
                    "isLeadership",
                    "leadershipRoleName",
                    "isActive",
                    "created",
                    "updated"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Employee.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Employee>"
      },
      "Employee.Filter1": {
        "type": "object",
        "title": "Employee.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Employee.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "uniqueId": {
                    "type": "boolean"
                  },
                  "employeeId": {
                    "type": "boolean"
                  },
                  "dateOfJoining": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "firstName": {
                    "type": "boolean"
                  },
                  "lastName": {
                    "type": "boolean"
                  },
                  "title": {
                    "type": "boolean"
                  },
                  "workerType": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "resigningDate": {
                    "type": "boolean"
                  },
                  "businessUnitId": {
                    "type": "boolean"
                  },
                  "businessUnitName": {
                    "type": "boolean"
                  },
                  "jobId": {
                    "type": "boolean"
                  },
                  "jobCode": {
                    "type": "boolean"
                  },
                  "gradeId": {
                    "type": "boolean"
                  },
                  "gradeCode": {
                    "type": "boolean"
                  },
                  "departmentId": {
                    "type": "boolean"
                  },
                  "managerId": {
                    "type": "boolean"
                  },
                  "departmentCode": {
                    "type": "boolean"
                  },
                  "locationId": {
                    "type": "boolean"
                  },
                  "locationCode": {
                    "type": "boolean"
                  },
                  "isAdmin": {
                    "type": "boolean"
                  },
                  "isTrainer": {
                    "type": "boolean"
                  },
                  "trainerRoleName": {
                    "type": "boolean"
                  },
                  "isLeadership": {
                    "type": "boolean"
                  },
                  "leadershipRoleName": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "uniqueId",
                    "employeeId",
                    "dateOfJoining",
                    "email",
                    "firstName",
                    "lastName",
                    "title",
                    "workerType",
                    "status",
                    "resigningDate",
                    "businessUnitId",
                    "businessUnitName",
                    "jobId",
                    "jobCode",
                    "gradeId",
                    "gradeCode",
                    "departmentId",
                    "managerId",
                    "departmentCode",
                    "locationId",
                    "locationCode",
                    "isAdmin",
                    "isTrainer",
                    "trainerRoleName",
                    "isLeadership",
                    "leadershipRoleName",
                    "isActive",
                    "created",
                    "updated"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Employee.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Employee>"
      },
      "HazardCategory.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "HazardCategory.ScopeFilter"
      },
      "HazardCategory.IncludeFilter.Items": {
        "title": "HazardCategory.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "hazardItems"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/HazardCategory.ScopeFilter"
          }
        }
      },
      "HazardCategory.Filter": {
        "type": "object",
        "title": "HazardCategory.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  },
                  "tags": {
                    "type": "boolean"
                  },
                  "hazardIndustryId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "created",
                    "updated",
                    "tags",
                    "hazardIndustryId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "HazardCategory.Fields"
          },
          "include": {
            "title": "HazardCategory.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/HazardCategory.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<HazardCategory>"
      },
      "HazardCategory.Filter1": {
        "type": "object",
        "title": "HazardCategory.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "HazardCategory.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  },
                  "tags": {
                    "type": "boolean"
                  },
                  "hazardIndustryId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "created",
                    "updated",
                    "tags",
                    "hazardIndustryId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "HazardCategory.Fields"
          },
          "include": {
            "title": "HazardCategory.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/HazardCategory.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<HazardCategory>"
      },
      "HazardIndustry.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "HazardIndustry.ScopeFilter"
      },
      "HazardIndustry.IncludeFilter.Items": {
        "title": "HazardIndustry.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "hazardCategories"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/HazardIndustry.ScopeFilter"
          }
        }
      },
      "HazardIndustry.Filter": {
        "type": "object",
        "title": "HazardIndustry.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "created",
                    "updated"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "HazardIndustry.Fields"
          },
          "include": {
            "title": "HazardIndustry.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/HazardIndustry.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<HazardIndustry>"
      },
      "HazardIndustry.Filter1": {
        "type": "object",
        "title": "HazardIndustry.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "HazardIndustry.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "created",
                    "updated"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "HazardIndustry.Fields"
          },
          "include": {
            "title": "HazardIndustry.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/HazardIndustry.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<HazardIndustry>"
      },
      "HazardItem.Filter": {
        "type": "object",
        "title": "HazardItem.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "image": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  },
                  "tags": {
                    "type": "boolean"
                  },
                  "hazardCategoryId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "image",
                    "created",
                    "updated",
                    "tags",
                    "hazardCategoryId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "HazardItem.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<HazardItem>"
      },
      "HazardItem.Filter1": {
        "type": "object",
        "title": "HazardItem.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "HazardItem.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "image": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  },
                  "tags": {
                    "type": "boolean"
                  },
                  "hazardCategoryId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "image",
                    "created",
                    "updated",
                    "tags",
                    "hazardCategoryId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "HazardItem.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<HazardItem>"
      },
      "HealthResponse": {
        "type": "object",
        "title": "HealthResponse",
        "properties": {
          "status": {
            "type": "string"
          },
          "timestamp": {
            "type": "string"
          },
          "environment": {
            "type": "string"
          },
          "database": {
            "type": "object",
            "properties": {
              "connected": {
                "type": "boolean"
              },
              "database": {
                "type": "string"
              },
              "environment": {
                "type": "string"
              }
            }
          }
        }
      },
      "KnowledgeArea.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "KnowledgeArea.ScopeFilter"
      },
      "KnowledgeArea.IncludeFilter.Items": {
        "title": "KnowledgeArea.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "knowledgeTopics",
              "trainingPrograms"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/KnowledgeArea.ScopeFilter"
          }
        }
      },
      "KnowledgeArea.Filter": {
        "type": "object",
        "title": "KnowledgeArea.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "maskId": {
                    "type": "boolean"
                  },
                  "uniqueId": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "order": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "maskId",
                    "uniqueId",
                    "created",
                    "updated",
                    "description",
                    "order"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "KnowledgeArea.Fields"
          },
          "include": {
            "title": "KnowledgeArea.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/KnowledgeArea.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<KnowledgeArea>"
      },
      "KnowledgeArea.Filter1": {
        "type": "object",
        "title": "KnowledgeArea.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "KnowledgeArea.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "maskId": {
                    "type": "boolean"
                  },
                  "uniqueId": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "order": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "maskId",
                    "uniqueId",
                    "created",
                    "updated",
                    "description",
                    "order"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "KnowledgeArea.Fields"
          },
          "include": {
            "title": "KnowledgeArea.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/KnowledgeArea.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<KnowledgeArea>"
      },
      "KnowledgeTopic.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "KnowledgeTopic.ScopeFilter"
      },
      "KnowledgeTopic.IncludeFilter.Items": {
        "title": "KnowledgeTopic.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "knowledgeArea",
              "knowledgeUnits",
              "trainingPrograms"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/KnowledgeTopic.ScopeFilter"
          }
        }
      },
      "KnowledgeTopic.Filter": {
        "type": "object",
        "title": "KnowledgeTopic.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "maskId": {
                    "type": "boolean"
                  },
                  "uniqueId": {
                    "type": "boolean"
                  },
                  "order": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "knowledgeAreaId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "maskId",
                    "uniqueId",
                    "order",
                    "created",
                    "updated",
                    "description",
                    "knowledgeAreaId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "KnowledgeTopic.Fields"
          },
          "include": {
            "title": "KnowledgeTopic.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/KnowledgeTopic.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<KnowledgeTopic>"
      },
      "KnowledgeTopic.Filter1": {
        "type": "object",
        "title": "KnowledgeTopic.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "KnowledgeTopic.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "maskId": {
                    "type": "boolean"
                  },
                  "uniqueId": {
                    "type": "boolean"
                  },
                  "order": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "knowledgeAreaId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "maskId",
                    "uniqueId",
                    "order",
                    "created",
                    "updated",
                    "description",
                    "knowledgeAreaId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "KnowledgeTopic.Fields"
          },
          "include": {
            "title": "KnowledgeTopic.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/KnowledgeTopic.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<KnowledgeTopic>"
      },
      "KnowledgeUnit.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "KnowledgeUnit.ScopeFilter"
      },
      "KnowledgeUnit.IncludeFilter.Items": {
        "title": "KnowledgeUnit.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "programSMEEmployee",
              "knowledgeArea",
              "knowledgeTopic",
              "questionBanks",
              "trainingPrograms"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/KnowledgeUnit.ScopeFilter"
          }
        }
      },
      "KnowledgeUnit.Filter": {
        "type": "object",
        "title": "KnowledgeUnit.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "maskId": {
                    "type": "boolean"
                  },
                  "preTestEnabled": {
                    "type": "boolean"
                  },
                  "preTestEasy": {
                    "type": "boolean"
                  },
                  "preTestMedium": {
                    "type": "boolean"
                  },
                  "preTestHard": {
                    "type": "boolean"
                  },
                  "postTestEnabled": {
                    "type": "boolean"
                  },
                  "postTestEasy": {
                    "type": "boolean"
                  },
                  "postTestMedium": {
                    "type": "boolean"
                  },
                  "postTestHard": {
                    "type": "boolean"
                  },
                  "uniqueId": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "order": {
                    "type": "boolean"
                  },
                  "content": {
                    "type": "boolean"
                  },
                  "trainingStatus": {
                    "type": "boolean"
                  },
                  "trainingType": {
                    "type": "boolean"
                  },
                  "trainingContent": {
                    "type": "boolean"
                  },
                  "enrollmentType": {
                    "type": "boolean"
                  },
                  "programSMEId": {
                    "type": "boolean"
                  },
                  "department": {
                    "type": "boolean"
                  },
                  "businessUnit": {
                    "type": "boolean"
                  },
                  "picture": {
                    "type": "boolean"
                  },
                  "trainingProgramName": {
                    "type": "boolean"
                  },
                  "trainingProgramCode": {
                    "type": "boolean"
                  },
                  "overview": {
                    "type": "boolean"
                  },
                  "objectives": {
                    "type": "boolean"
                  },
                  "customObjective": {
                    "type": "boolean"
                  },
                  "durationHours": {
                    "type": "boolean"
                  },
                  "assignmentBusinessUnit": {
                    "type": "boolean"
                  },
                  "workerType": {
                    "type": "boolean"
                  },
                  "assignmentDepartment": {
                    "type": "boolean"
                  },
                  "jobName": {
                    "type": "boolean"
                  },
                  "gradeCode": {
                    "type": "boolean"
                  },
                  "assignmentDayFromDOJ": {
                    "type": "boolean"
                  },
                  "completionBy": {
                    "type": "boolean"
                  },
                  "validityPeriod": {
                    "type": "boolean"
                  },
                  "retrainingRequired": {
                    "type": "boolean"
                  },
                  "isCertificated": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "boolean"
                  },
                  "programType": {
                    "type": "boolean"
                  },
                  "mandatoryType": {
                    "type": "boolean"
                  },
                  "modeOfDelivery": {
                    "type": "boolean"
                  },
                  "nominationByHOD": {
                    "type": "boolean"
                  },
                  "selfNominationWithApproval": {
                    "type": "boolean"
                  },
                  "attachmentStatus": {
                    "type": "boolean"
                  },
                  "trainingAids": {
                    "type": "boolean"
                  },
                  "questionBankStatus": {
                    "type": "boolean"
                  },
                  "imcqMcqStatus": {
                    "type": "boolean"
                  },
                  "assignmentQuestionsStatus": {
                    "type": "boolean"
                  },
                  "knowledgeAreaId": {
                    "type": "boolean"
                  },
                  "questionBankCount": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "curatedById": {
                    "type": "boolean"
                  },
                  "postTestSameAsPreTest": {
                    "type": "boolean"
                  },
                  "lastUpdatedDate": {
                    "type": "boolean"
                  },
                  "knowledgeTopicId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "maskId",
                    "preTestEnabled",
                    "preTestEasy",
                    "preTestMedium",
                    "preTestHard",
                    "postTestEnabled",
                    "postTestEasy",
                    "postTestMedium",
                    "postTestHard",
                    "uniqueId",
                    "created",
                    "updated",
                    "description",
                    "order",
                    "content",
                    "trainingStatus",
                    "trainingType",
                    "trainingContent",
                    "enrollmentType",
                    "programSMEId",
                    "department",
                    "businessUnit",
                    "picture",
                    "trainingProgramName",
                    "trainingProgramCode",
                    "overview",
                    "objectives",
                    "customObjective",
                    "durationHours",
                    "assignmentBusinessUnit",
                    "workerType",
                    "assignmentDepartment",
                    "jobName",
                    "gradeCode",
                    "assignmentDayFromDOJ",
                    "completionBy",
                    "validityPeriod",
                    "retrainingRequired",
                    "isCertificated",
                    "type",
                    "programType",
                    "mandatoryType",
                    "modeOfDelivery",
                    "nominationByHOD",
                    "selfNominationWithApproval",
                    "attachmentStatus",
                    "trainingAids",
                    "questionBankStatus",
                    "imcqMcqStatus",
                    "assignmentQuestionsStatus",
                    "knowledgeAreaId",
                    "questionBankCount",
                    "status",
                    "curatedById",
                    "postTestSameAsPreTest",
                    "lastUpdatedDate",
                    "knowledgeTopicId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "KnowledgeUnit.Fields"
          },
          "include": {
            "title": "KnowledgeUnit.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/KnowledgeUnit.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<KnowledgeUnit>"
      },
      "KnowledgeUnit.Filter1": {
        "type": "object",
        "title": "KnowledgeUnit.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "KnowledgeUnit.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "maskId": {
                    "type": "boolean"
                  },
                  "preTestEnabled": {
                    "type": "boolean"
                  },
                  "preTestEasy": {
                    "type": "boolean"
                  },
                  "preTestMedium": {
                    "type": "boolean"
                  },
                  "preTestHard": {
                    "type": "boolean"
                  },
                  "postTestEnabled": {
                    "type": "boolean"
                  },
                  "postTestEasy": {
                    "type": "boolean"
                  },
                  "postTestMedium": {
                    "type": "boolean"
                  },
                  "postTestHard": {
                    "type": "boolean"
                  },
                  "uniqueId": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "order": {
                    "type": "boolean"
                  },
                  "content": {
                    "type": "boolean"
                  },
                  "trainingStatus": {
                    "type": "boolean"
                  },
                  "trainingType": {
                    "type": "boolean"
                  },
                  "trainingContent": {
                    "type": "boolean"
                  },
                  "enrollmentType": {
                    "type": "boolean"
                  },
                  "programSMEId": {
                    "type": "boolean"
                  },
                  "department": {
                    "type": "boolean"
                  },
                  "businessUnit": {
                    "type": "boolean"
                  },
                  "picture": {
                    "type": "boolean"
                  },
                  "trainingProgramName": {
                    "type": "boolean"
                  },
                  "trainingProgramCode": {
                    "type": "boolean"
                  },
                  "overview": {
                    "type": "boolean"
                  },
                  "objectives": {
                    "type": "boolean"
                  },
                  "customObjective": {
                    "type": "boolean"
                  },
                  "durationHours": {
                    "type": "boolean"
                  },
                  "assignmentBusinessUnit": {
                    "type": "boolean"
                  },
                  "workerType": {
                    "type": "boolean"
                  },
                  "assignmentDepartment": {
                    "type": "boolean"
                  },
                  "jobName": {
                    "type": "boolean"
                  },
                  "gradeCode": {
                    "type": "boolean"
                  },
                  "assignmentDayFromDOJ": {
                    "type": "boolean"
                  },
                  "completionBy": {
                    "type": "boolean"
                  },
                  "validityPeriod": {
                    "type": "boolean"
                  },
                  "retrainingRequired": {
                    "type": "boolean"
                  },
                  "isCertificated": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "boolean"
                  },
                  "programType": {
                    "type": "boolean"
                  },
                  "mandatoryType": {
                    "type": "boolean"
                  },
                  "modeOfDelivery": {
                    "type": "boolean"
                  },
                  "nominationByHOD": {
                    "type": "boolean"
                  },
                  "selfNominationWithApproval": {
                    "type": "boolean"
                  },
                  "attachmentStatus": {
                    "type": "boolean"
                  },
                  "trainingAids": {
                    "type": "boolean"
                  },
                  "questionBankStatus": {
                    "type": "boolean"
                  },
                  "imcqMcqStatus": {
                    "type": "boolean"
                  },
                  "assignmentQuestionsStatus": {
                    "type": "boolean"
                  },
                  "knowledgeAreaId": {
                    "type": "boolean"
                  },
                  "questionBankCount": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "curatedById": {
                    "type": "boolean"
                  },
                  "postTestSameAsPreTest": {
                    "type": "boolean"
                  },
                  "lastUpdatedDate": {
                    "type": "boolean"
                  },
                  "knowledgeTopicId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "maskId",
                    "preTestEnabled",
                    "preTestEasy",
                    "preTestMedium",
                    "preTestHard",
                    "postTestEnabled",
                    "postTestEasy",
                    "postTestMedium",
                    "postTestHard",
                    "uniqueId",
                    "created",
                    "updated",
                    "description",
                    "order",
                    "content",
                    "trainingStatus",
                    "trainingType",
                    "trainingContent",
                    "enrollmentType",
                    "programSMEId",
                    "department",
                    "businessUnit",
                    "picture",
                    "trainingProgramName",
                    "trainingProgramCode",
                    "overview",
                    "objectives",
                    "customObjective",
                    "durationHours",
                    "assignmentBusinessUnit",
                    "workerType",
                    "assignmentDepartment",
                    "jobName",
                    "gradeCode",
                    "assignmentDayFromDOJ",
                    "completionBy",
                    "validityPeriod",
                    "retrainingRequired",
                    "isCertificated",
                    "type",
                    "programType",
                    "mandatoryType",
                    "modeOfDelivery",
                    "nominationByHOD",
                    "selfNominationWithApproval",
                    "attachmentStatus",
                    "trainingAids",
                    "questionBankStatus",
                    "imcqMcqStatus",
                    "assignmentQuestionsStatus",
                    "knowledgeAreaId",
                    "questionBankCount",
                    "status",
                    "curatedById",
                    "postTestSameAsPreTest",
                    "lastUpdatedDate",
                    "knowledgeTopicId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "KnowledgeUnit.Fields"
          },
          "include": {
            "title": "KnowledgeUnit.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/KnowledgeUnit.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<KnowledgeUnit>"
      },
      "TrainingAssignment.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "TrainingAssignment.ScopeFilter"
      },
      "TrainingAssignment.IncludeFilter.Items": {
        "title": "TrainingAssignment.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "knowledgeArea",
              "knowledgeTopic",
              "knowledgeUnit",
              "createdUser",
              "trainer",
              "trainerApprovedBy",
              "businessUnits"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/TrainingAssignment.ScopeFilter"
          }
        }
      },
      "TrainingAssignment.Filter": {
        "type": "object",
        "title": "TrainingAssignment.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "TrainingAssignment.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "knowledgeAreaId": {
                    "type": "boolean"
                  },
                  "knowledgeTopicId": {
                    "type": "boolean"
                  },
                  "knowledgeUnitId": {
                    "type": "boolean"
                  },
                  "fromDatetime": {
                    "type": "boolean"
                  },
                  "toDatetime": {
                    "type": "boolean"
                  },
                  "totalHours": {
                    "type": "boolean"
                  },
                  "createdUserId": {
                    "type": "boolean"
                  },
                  "title": {
                    "type": "boolean"
                  },
                  "repeatOption": {
                    "type": "boolean"
                  },
                  "isAllDay": {
                    "type": "boolean"
                  },
                  "capacity": {
                    "type": "boolean"
                  },
                  "location": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "trainerId": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  },
                  "trainerApproved": {
                    "type": "boolean"
                  },
                  "trainerApprovedAt": {
                    "type": "boolean"
                  },
                  "trainerApprovedById": {
                    "type": "boolean"
                  },
                  "businessUnitIds": {
                    "type": "boolean"
                  },
                  "departmentIds": {
                    "type": "boolean"
                  },
                  "jobCodeIds": {
                    "type": "boolean"
                  },
                  "workerTypes": {
                    "type": "boolean"
                  },
                  "gradeCodeIds": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "knowledgeAreaId",
                    "knowledgeTopicId",
                    "knowledgeUnitId",
                    "fromDatetime",
                    "toDatetime",
                    "totalHours",
                    "createdUserId",
                    "title",
                    "repeatOption",
                    "isAllDay",
                    "capacity",
                    "location",
                    "description",
                    "trainerId",
                    "status",
                    "created",
                    "updated",
                    "trainerApproved",
                    "trainerApprovedAt",
                    "trainerApprovedById",
                    "businessUnitIds",
                    "departmentIds",
                    "jobCodeIds",
                    "workerTypes",
                    "gradeCodeIds"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "TrainingAssignment.Fields"
          },
          "include": {
            "title": "TrainingAssignment.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/TrainingAssignment.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<TrainingAssignment>"
      },
      "OnlineAttendedSession.Filter": {
        "type": "object",
        "title": "OnlineAttendedSession.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "knowledgeAreaId": {
                    "type": "boolean"
                  },
                  "knowledgeTopicId": {
                    "type": "boolean"
                  },
                  "knowledgeUnitId": {
                    "type": "boolean"
                  },
                  "userId": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "knowledgeAreaId",
                    "knowledgeTopicId",
                    "knowledgeUnitId",
                    "userId",
                    "status",
                    "created",
                    "updated"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "OnlineAttendedSession.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<OnlineAttendedSession>"
      },
      "OnlineAttendedSession.Filter1": {
        "type": "object",
        "title": "OnlineAttendedSession.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "OnlineAttendedSession.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "knowledgeAreaId": {
                    "type": "boolean"
                  },
                  "knowledgeTopicId": {
                    "type": "boolean"
                  },
                  "knowledgeUnitId": {
                    "type": "boolean"
                  },
                  "userId": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "knowledgeAreaId",
                    "knowledgeTopicId",
                    "knowledgeUnitId",
                    "userId",
                    "status",
                    "created",
                    "updated"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "OnlineAttendedSession.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<OnlineAttendedSession>"
      },
      "OracleJob.Filter": {
        "type": "object",
        "title": "OracleJob.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "jobId": {
                    "type": "boolean"
                  },
                  "jobCode": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "jobId",
                    "jobCode",
                    "name",
                    "created",
                    "updated"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "OracleJob.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<OracleJob>"
      },
      "OracleJob.Filter1": {
        "type": "object",
        "title": "OracleJob.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "OracleJob.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "jobId": {
                    "type": "boolean"
                  },
                  "jobCode": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "jobId",
                    "jobCode",
                    "name",
                    "created",
                    "updated"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "OracleJob.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<OracleJob>"
      },
      "OracleLocation.Filter": {
        "type": "object",
        "title": "OracleLocation.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "locationId": {
                    "type": "boolean"
                  },
                  "locationCode": {
                    "type": "boolean"
                  },
                  "locationName": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "locationId",
                    "locationCode",
                    "locationName",
                    "created",
                    "updated"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "OracleLocation.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<OracleLocation>"
      },
      "OracleLocation.Filter1": {
        "type": "object",
        "title": "OracleLocation.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "OracleLocation.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "locationId": {
                    "type": "boolean"
                  },
                  "locationCode": {
                    "type": "boolean"
                  },
                  "locationName": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "locationId",
                    "locationCode",
                    "locationName",
                    "created",
                    "updated"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "OracleLocation.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<OracleLocation>"
      },
      "PingResponse": {
        "type": "object",
        "title": "PingResponse",
        "properties": {
          "greeting": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "headers": {
            "type": "object",
            "properties": {
              "Content-Type": {
                "type": "string"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "QRSession.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "QRSession.ScopeFilter"
      },
      "QRSession.IncludeFilter.Items": {
        "title": "QRSession.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "creator",
              "knowledgeArea",
              "knowledgeTopic",
              "knowledgeUnit",
              "userResponses"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/QRSession.ScopeFilter"
          }
        }
      },
      "QRSession.Filter": {
        "type": "object",
        "title": "QRSession.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "uniqueId": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  },
                  "creatorId": {
                    "type": "boolean"
                  },
                  "knowledgeAreaId": {
                    "type": "boolean"
                  },
                  "knowledgeTopicId": {
                    "type": "boolean"
                  },
                  "knowledgeUnitId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "uniqueId",
                    "type",
                    "created",
                    "updated",
                    "creatorId",
                    "knowledgeAreaId",
                    "knowledgeTopicId",
                    "knowledgeUnitId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "QRSession.Fields"
          },
          "include": {
            "title": "QRSession.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/QRSession.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<QRSession>"
      },
      "QRSession.Filter1": {
        "type": "object",
        "title": "QRSession.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "QRSession.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "uniqueId": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  },
                  "creatorId": {
                    "type": "boolean"
                  },
                  "knowledgeAreaId": {
                    "type": "boolean"
                  },
                  "knowledgeTopicId": {
                    "type": "boolean"
                  },
                  "knowledgeUnitId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "uniqueId",
                    "type",
                    "created",
                    "updated",
                    "creatorId",
                    "knowledgeAreaId",
                    "knowledgeTopicId",
                    "knowledgeUnitId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "QRSession.Fields"
          },
          "include": {
            "title": "QRSession.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/QRSession.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<QRSession>"
      },
      "QuestionBank.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "QuestionBank.ScopeFilter"
      },
      "QuestionBank.IncludeFilter.Items": {
        "title": "QuestionBank.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "knowledgeUnit",
              "knowledgeTopic",
              "knowledgeArea"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/QuestionBank.ScopeFilter"
          }
        }
      },
      "QuestionBank.Filter": {
        "type": "object",
        "title": "QuestionBank.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "question": {
                    "type": "boolean"
                  },
                  "questionId": {
                    "type": "boolean"
                  },
                  "options": {
                    "type": "boolean"
                  },
                  "visibility": {
                    "type": "boolean"
                  },
                  "uploads": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "correctAnswerFeedback": {
                    "type": "boolean"
                  },
                  "wrongAnswerFeedback": {
                    "type": "boolean"
                  },
                  "order": {
                    "type": "boolean"
                  },
                  "reviewStatus": {
                    "type": "boolean"
                  },
                  "difficulty": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  },
                  "knowledgeUnitId": {
                    "type": "boolean"
                  },
                  "knowledgeTopicId": {
                    "type": "boolean"
                  },
                  "knowledgeAreaId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "question",
                    "questionId",
                    "options",
                    "visibility",
                    "uploads",
                    "status",
                    "correctAnswerFeedback",
                    "wrongAnswerFeedback",
                    "order",
                    "reviewStatus",
                    "difficulty",
                    "created",
                    "updated",
                    "knowledgeUnitId",
                    "knowledgeTopicId",
                    "knowledgeAreaId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "QuestionBank.Fields"
          },
          "include": {
            "title": "QuestionBank.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/QuestionBank.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<QuestionBank>"
      },
      "QuestionBank.Filter1": {
        "type": "object",
        "title": "QuestionBank.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "QuestionBank.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "question": {
                    "type": "boolean"
                  },
                  "questionId": {
                    "type": "boolean"
                  },
                  "options": {
                    "type": "boolean"
                  },
                  "visibility": {
                    "type": "boolean"
                  },
                  "uploads": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "correctAnswerFeedback": {
                    "type": "boolean"
                  },
                  "wrongAnswerFeedback": {
                    "type": "boolean"
                  },
                  "order": {
                    "type": "boolean"
                  },
                  "reviewStatus": {
                    "type": "boolean"
                  },
                  "difficulty": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  },
                  "knowledgeUnitId": {
                    "type": "boolean"
                  },
                  "knowledgeTopicId": {
                    "type": "boolean"
                  },
                  "knowledgeAreaId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "question",
                    "questionId",
                    "options",
                    "visibility",
                    "uploads",
                    "status",
                    "correctAnswerFeedback",
                    "wrongAnswerFeedback",
                    "order",
                    "reviewStatus",
                    "difficulty",
                    "created",
                    "updated",
                    "knowledgeUnitId",
                    "knowledgeTopicId",
                    "knowledgeAreaId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "QuestionBank.Fields"
          },
          "include": {
            "title": "QuestionBank.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/QuestionBank.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<QuestionBank>"
      },
      "QuestionConfiguration.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "QuestionConfiguration.ScopeFilter"
      },
      "QuestionConfiguration.IncludeFilter.Items": {
        "title": "QuestionConfiguration.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "knowledgeArea",
              "knowledgeTopic",
              "knowledgeUnit"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/QuestionConfiguration.ScopeFilter"
          }
        }
      },
      "QuestionConfiguration.Filter": {
        "type": "object",
        "title": "QuestionConfiguration.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "totalQuestions": {
                    "type": "boolean"
                  },
                  "easyPercentage": {
                    "type": "boolean"
                  },
                  "mediumPercentage": {
                    "type": "boolean"
                  },
                  "hardPercentage": {
                    "type": "boolean"
                  },
                  "refreshIntervalHours": {
                    "type": "boolean"
                  },
                  "scope": {
                    "type": "boolean"
                  },
                  "isDefault": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "knowledgeAreaId": {
                    "type": "boolean"
                  },
                  "knowledgeTopicId": {
                    "type": "boolean"
                  },
                  "knowledgeUnitId": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "description",
                    "totalQuestions",
                    "easyPercentage",
                    "mediumPercentage",
                    "hardPercentage",
                    "refreshIntervalHours",
                    "scope",
                    "isDefault",
                    "isActive",
                    "knowledgeAreaId",
                    "knowledgeTopicId",
                    "knowledgeUnitId",
                    "created",
                    "updated"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "QuestionConfiguration.Fields"
          },
          "include": {
            "title": "QuestionConfiguration.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/QuestionConfiguration.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<QuestionConfiguration>"
      },
      "QuestionConfiguration.Filter1": {
        "type": "object",
        "title": "QuestionConfiguration.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "QuestionConfiguration.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "totalQuestions": {
                    "type": "boolean"
                  },
                  "easyPercentage": {
                    "type": "boolean"
                  },
                  "mediumPercentage": {
                    "type": "boolean"
                  },
                  "hardPercentage": {
                    "type": "boolean"
                  },
                  "refreshIntervalHours": {
                    "type": "boolean"
                  },
                  "scope": {
                    "type": "boolean"
                  },
                  "isDefault": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "knowledgeAreaId": {
                    "type": "boolean"
                  },
                  "knowledgeTopicId": {
                    "type": "boolean"
                  },
                  "knowledgeUnitId": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "description",
                    "totalQuestions",
                    "easyPercentage",
                    "mediumPercentage",
                    "hardPercentage",
                    "refreshIntervalHours",
                    "scope",
                    "isDefault",
                    "isActive",
                    "knowledgeAreaId",
                    "knowledgeTopicId",
                    "knowledgeUnitId",
                    "created",
                    "updated"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "QuestionConfiguration.Fields"
          },
          "include": {
            "title": "QuestionConfiguration.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/QuestionConfiguration.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<QuestionConfiguration>"
      },
      "Role.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Role.ScopeFilter"
      },
      "Role.IncludeFilter.Items": {
        "title": "Role.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "service"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Role.ScopeFilter"
          }
        }
      },
      "Role.Filter": {
        "type": "object",
        "title": "Role.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "maskName": {
                    "type": "boolean"
                  },
                  "maskId": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  },
                  "level": {
                    "type": "boolean"
                  },
                  "serviceId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "maskName",
                    "maskId",
                    "created",
                    "updated",
                    "level",
                    "serviceId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Role.Fields"
          },
          "include": {
            "title": "Role.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Role.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Role>"
      },
      "Role.Filter1": {
        "type": "object",
        "title": "Role.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Role.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "maskName": {
                    "type": "boolean"
                  },
                  "maskId": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  },
                  "level": {
                    "type": "boolean"
                  },
                  "serviceId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "maskName",
                    "maskId",
                    "created",
                    "updated",
                    "level",
                    "serviceId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Role.Fields"
          },
          "include": {
            "title": "Role.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Role.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Role>"
      },
      "Service.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Service.ScopeFilter"
      },
      "Service.IncludeFilter.Items": {
        "title": "Service.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "roles",
              "tenants",
              "dropdowns"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Service.ScopeFilter"
          }
        }
      },
      "Service.Filter": {
        "type": "object",
        "title": "Service.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "maskName": {
                    "type": "boolean"
                  },
                  "mobileShortName": {
                    "type": "boolean"
                  },
                  "color": {
                    "type": "boolean"
                  },
                  "icon": {
                    "type": "boolean"
                  },
                  "support": {
                    "type": "boolean"
                  },
                  "applicability": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "url": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "description",
                    "maskName",
                    "mobileShortName",
                    "color",
                    "icon",
                    "support",
                    "applicability",
                    "status",
                    "url",
                    "created",
                    "updated"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Service.Fields"
          },
          "include": {
            "title": "Service.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Service.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Service>"
      },
      "Service.Filter1": {
        "type": "object",
        "title": "Service.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Service.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "maskName": {
                    "type": "boolean"
                  },
                  "mobileShortName": {
                    "type": "boolean"
                  },
                  "color": {
                    "type": "boolean"
                  },
                  "icon": {
                    "type": "boolean"
                  },
                  "support": {
                    "type": "boolean"
                  },
                  "applicability": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "url": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "name",
                    "description",
                    "maskName",
                    "mobileShortName",
                    "color",
                    "icon",
                    "support",
                    "applicability",
                    "status",
                    "url",
                    "created",
                    "updated"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Service.Fields"
          },
          "include": {
            "title": "Service.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Service.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Service>"
      },
      "Tenant.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Tenant.ScopeFilter"
      },
      "Tenant.IncludeFilter.Items": {
        "title": "Tenant.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "services"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Tenant.ScopeFilter"
          }
        }
      },
      "Tenant.Filter": {
        "type": "object",
        "title": "Tenant.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "subDomain": {
                    "type": "boolean"
                  },
                  "clientDetails": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "subDomain",
                    "clientDetails",
                    "created",
                    "updated"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Tenant.Fields"
          },
          "include": {
            "title": "Tenant.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Tenant.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Tenant>"
      },
      "Tenant.Filter1": {
        "type": "object",
        "title": "Tenant.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Tenant.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "subDomain": {
                    "type": "boolean"
                  },
                  "clientDetails": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "subDomain",
                    "clientDetails",
                    "created",
                    "updated"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Tenant.Fields"
          },
          "include": {
            "title": "Tenant.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Tenant.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Tenant>"
      },
      "TrainingAssignment.Filter1": {
        "type": "object",
        "title": "TrainingAssignment.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "knowledgeAreaId": {
                    "type": "boolean"
                  },
                  "knowledgeTopicId": {
                    "type": "boolean"
                  },
                  "knowledgeUnitId": {
                    "type": "boolean"
                  },
                  "fromDatetime": {
                    "type": "boolean"
                  },
                  "toDatetime": {
                    "type": "boolean"
                  },
                  "totalHours": {
                    "type": "boolean"
                  },
                  "createdUserId": {
                    "type": "boolean"
                  },
                  "title": {
                    "type": "boolean"
                  },
                  "repeatOption": {
                    "type": "boolean"
                  },
                  "isAllDay": {
                    "type": "boolean"
                  },
                  "capacity": {
                    "type": "boolean"
                  },
                  "location": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "trainerId": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  },
                  "trainerApproved": {
                    "type": "boolean"
                  },
                  "trainerApprovedAt": {
                    "type": "boolean"
                  },
                  "trainerApprovedById": {
                    "type": "boolean"
                  },
                  "businessUnitIds": {
                    "type": "boolean"
                  },
                  "departmentIds": {
                    "type": "boolean"
                  },
                  "jobCodeIds": {
                    "type": "boolean"
                  },
                  "workerTypes": {
                    "type": "boolean"
                  },
                  "gradeCodeIds": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "knowledgeAreaId",
                    "knowledgeTopicId",
                    "knowledgeUnitId",
                    "fromDatetime",
                    "toDatetime",
                    "totalHours",
                    "createdUserId",
                    "title",
                    "repeatOption",
                    "isAllDay",
                    "capacity",
                    "location",
                    "description",
                    "trainerId",
                    "status",
                    "created",
                    "updated",
                    "trainerApproved",
                    "trainerApprovedAt",
                    "trainerApprovedById",
                    "businessUnitIds",
                    "departmentIds",
                    "jobCodeIds",
                    "workerTypes",
                    "gradeCodeIds"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "TrainingAssignment.Fields"
          },
          "include": {
            "title": "TrainingAssignment.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/TrainingAssignment.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<TrainingAssignment>"
      },
      "TrainingNomination.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "TrainingNomination.ScopeFilter"
      },
      "TrainingNomination.IncludeFilter.Items": {
        "title": "TrainingNomination.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "trainingAssignment",
              "nominatedUser",
              "nominatedByUser",
              "reviewedByUser"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/TrainingNomination.ScopeFilter"
          }
        }
      },
      "TrainingNomination.Filter": {
        "type": "object",
        "title": "TrainingNomination.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "trainingAssignmentId": {
                    "type": "boolean"
                  },
                  "nominatedUserId": {
                    "type": "boolean"
                  },
                  "nominatedBy": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "nominationType": {
                    "type": "boolean"
                  },
                  "notes": {
                    "type": "boolean"
                  },
                  "rejectionReason": {
                    "type": "boolean"
                  },
                  "remarks": {
                    "type": "boolean"
                  },
                  "reviewedBy": {
                    "type": "boolean"
                  },
                  "reviewedAt": {
                    "type": "boolean"
                  },
                  "nominatedAt": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "trainingAssignmentId",
                    "nominatedUserId",
                    "nominatedBy",
                    "status",
                    "nominationType",
                    "notes",
                    "rejectionReason",
                    "remarks",
                    "reviewedBy",
                    "reviewedAt",
                    "nominatedAt",
                    "created",
                    "updated"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "TrainingNomination.Fields"
          },
          "include": {
            "title": "TrainingNomination.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/TrainingNomination.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<TrainingNomination>"
      },
      "TrainingNomination.Filter1": {
        "type": "object",
        "title": "TrainingNomination.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "TrainingNomination.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "trainingAssignmentId": {
                    "type": "boolean"
                  },
                  "nominatedUserId": {
                    "type": "boolean"
                  },
                  "nominatedBy": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "nominationType": {
                    "type": "boolean"
                  },
                  "notes": {
                    "type": "boolean"
                  },
                  "rejectionReason": {
                    "type": "boolean"
                  },
                  "remarks": {
                    "type": "boolean"
                  },
                  "reviewedBy": {
                    "type": "boolean"
                  },
                  "reviewedAt": {
                    "type": "boolean"
                  },
                  "nominatedAt": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "trainingAssignmentId",
                    "nominatedUserId",
                    "nominatedBy",
                    "status",
                    "nominationType",
                    "notes",
                    "rejectionReason",
                    "remarks",
                    "reviewedBy",
                    "reviewedAt",
                    "nominatedAt",
                    "created",
                    "updated"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "TrainingNomination.Fields"
          },
          "include": {
            "title": "TrainingNomination.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/TrainingNomination.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<TrainingNomination>"
      },
      "TrainingProgram.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "TrainingProgram.ScopeFilter"
      },
      "TrainingProgram.IncludeFilter.Items": {
        "title": "TrainingProgram.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "knowledgeArea",
              "knowledgeTopic",
              "knowledgeUnit"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/TrainingProgram.ScopeFilter"
          }
        }
      },
      "TrainingProgram.Filter": {
        "type": "object",
        "title": "TrainingProgram.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "knowledgeAreaId": {
                    "type": "boolean"
                  },
                  "knowledgeTopicId": {
                    "type": "boolean"
                  },
                  "knowledgeUnitId": {
                    "type": "boolean"
                  },
                  "trainingType": {
                    "type": "boolean"
                  },
                  "content": {
                    "type": "boolean"
                  },
                  "enrollmentType": {
                    "type": "boolean"
                  },
                  "programSME": {
                    "type": "boolean"
                  },
                  "department": {
                    "type": "boolean"
                  },
                  "businessUnit": {
                    "type": "boolean"
                  },
                  "picture": {
                    "type": "boolean"
                  },
                  "trainingProgramName": {
                    "type": "boolean"
                  },
                  "trainingProgramCode": {
                    "type": "boolean"
                  },
                  "overview": {
                    "type": "boolean"
                  },
                  "objectives": {
                    "type": "boolean"
                  },
                  "customObjective": {
                    "type": "boolean"
                  },
                  "durationHours": {
                    "type": "boolean"
                  },
                  "assignmentBusinessUnit": {
                    "type": "boolean"
                  },
                  "workerType": {
                    "type": "boolean"
                  },
                  "assignmentDepartment": {
                    "type": "boolean"
                  },
                  "jobName": {
                    "type": "boolean"
                  },
                  "gradeCode": {
                    "type": "boolean"
                  },
                  "assignmentDayFromDOJ": {
                    "type": "boolean"
                  },
                  "completionBy": {
                    "type": "boolean"
                  },
                  "validityPeriod": {
                    "type": "boolean"
                  },
                  "retrainingRequired": {
                    "type": "boolean"
                  },
                  "isCertificated": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "boolean"
                  },
                  "programType": {
                    "type": "boolean"
                  },
                  "mandatoryType": {
                    "type": "boolean"
                  },
                  "modeOfDelivery": {
                    "type": "boolean"
                  },
                  "nominationByHOD": {
                    "type": "boolean"
                  },
                  "selfNominationWithApproval": {
                    "type": "boolean"
                  },
                  "attachmentStatus": {
                    "type": "boolean"
                  },
                  "trainingAids": {
                    "type": "boolean"
                  },
                  "questionBankStatus": {
                    "type": "boolean"
                  },
                  "imcqMcqStatus": {
                    "type": "boolean"
                  },
                  "assignmentQuestionsStatus": {
                    "type": "boolean"
                  },
                  "questionBankCount": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "knowledgeAreaId",
                    "knowledgeTopicId",
                    "knowledgeUnitId",
                    "trainingType",
                    "content",
                    "enrollmentType",
                    "programSME",
                    "department",
                    "businessUnit",
                    "picture",
                    "trainingProgramName",
                    "trainingProgramCode",
                    "overview",
                    "objectives",
                    "customObjective",
                    "durationHours",
                    "assignmentBusinessUnit",
                    "workerType",
                    "assignmentDepartment",
                    "jobName",
                    "gradeCode",
                    "assignmentDayFromDOJ",
                    "completionBy",
                    "validityPeriod",
                    "retrainingRequired",
                    "isCertificated",
                    "type",
                    "programType",
                    "mandatoryType",
                    "modeOfDelivery",
                    "nominationByHOD",
                    "selfNominationWithApproval",
                    "attachmentStatus",
                    "trainingAids",
                    "questionBankStatus",
                    "imcqMcqStatus",
                    "assignmentQuestionsStatus",
                    "questionBankCount",
                    "status",
                    "created",
                    "updated"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "TrainingProgram.Fields"
          },
          "include": {
            "title": "TrainingProgram.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/TrainingProgram.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<TrainingProgram>"
      },
      "TrainingProgram.Filter1": {
        "type": "object",
        "title": "TrainingProgram.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "TrainingProgram.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "knowledgeAreaId": {
                    "type": "boolean"
                  },
                  "knowledgeTopicId": {
                    "type": "boolean"
                  },
                  "knowledgeUnitId": {
                    "type": "boolean"
                  },
                  "trainingType": {
                    "type": "boolean"
                  },
                  "content": {
                    "type": "boolean"
                  },
                  "enrollmentType": {
                    "type": "boolean"
                  },
                  "programSME": {
                    "type": "boolean"
                  },
                  "department": {
                    "type": "boolean"
                  },
                  "businessUnit": {
                    "type": "boolean"
                  },
                  "picture": {
                    "type": "boolean"
                  },
                  "trainingProgramName": {
                    "type": "boolean"
                  },
                  "trainingProgramCode": {
                    "type": "boolean"
                  },
                  "overview": {
                    "type": "boolean"
                  },
                  "objectives": {
                    "type": "boolean"
                  },
                  "customObjective": {
                    "type": "boolean"
                  },
                  "durationHours": {
                    "type": "boolean"
                  },
                  "assignmentBusinessUnit": {
                    "type": "boolean"
                  },
                  "workerType": {
                    "type": "boolean"
                  },
                  "assignmentDepartment": {
                    "type": "boolean"
                  },
                  "jobName": {
                    "type": "boolean"
                  },
                  "gradeCode": {
                    "type": "boolean"
                  },
                  "assignmentDayFromDOJ": {
                    "type": "boolean"
                  },
                  "completionBy": {
                    "type": "boolean"
                  },
                  "validityPeriod": {
                    "type": "boolean"
                  },
                  "retrainingRequired": {
                    "type": "boolean"
                  },
                  "isCertificated": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "boolean"
                  },
                  "programType": {
                    "type": "boolean"
                  },
                  "mandatoryType": {
                    "type": "boolean"
                  },
                  "modeOfDelivery": {
                    "type": "boolean"
                  },
                  "nominationByHOD": {
                    "type": "boolean"
                  },
                  "selfNominationWithApproval": {
                    "type": "boolean"
                  },
                  "attachmentStatus": {
                    "type": "boolean"
                  },
                  "trainingAids": {
                    "type": "boolean"
                  },
                  "questionBankStatus": {
                    "type": "boolean"
                  },
                  "imcqMcqStatus": {
                    "type": "boolean"
                  },
                  "assignmentQuestionsStatus": {
                    "type": "boolean"
                  },
                  "questionBankCount": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "knowledgeAreaId",
                    "knowledgeTopicId",
                    "knowledgeUnitId",
                    "trainingType",
                    "content",
                    "enrollmentType",
                    "programSME",
                    "department",
                    "businessUnit",
                    "picture",
                    "trainingProgramName",
                    "trainingProgramCode",
                    "overview",
                    "objectives",
                    "customObjective",
                    "durationHours",
                    "assignmentBusinessUnit",
                    "workerType",
                    "assignmentDepartment",
                    "jobName",
                    "gradeCode",
                    "assignmentDayFromDOJ",
                    "completionBy",
                    "validityPeriod",
                    "retrainingRequired",
                    "isCertificated",
                    "type",
                    "programType",
                    "mandatoryType",
                    "modeOfDelivery",
                    "nominationByHOD",
                    "selfNominationWithApproval",
                    "attachmentStatus",
                    "trainingAids",
                    "questionBankStatus",
                    "imcqMcqStatus",
                    "assignmentQuestionsStatus",
                    "questionBankCount",
                    "status",
                    "created",
                    "updated"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "TrainingProgram.Fields"
          },
          "include": {
            "title": "TrainingProgram.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/TrainingProgram.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<TrainingProgram>"
      },
      "User.Filter": {
        "type": "object",
        "title": "User.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "personNumber": {
                    "type": "boolean"
                  },
                  "title": {
                    "type": "boolean"
                  },
                  "jobName": {
                    "type": "boolean"
                  },
                  "gradeCode": {
                    "type": "boolean"
                  },
                  "department": {
                    "type": "boolean"
                  },
                  "businessUnit": {
                    "type": "boolean"
                  },
                  "workerType": {
                    "type": "boolean"
                  },
                  "managerPersonNumber": {
                    "type": "boolean"
                  },
                  "managerName": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "givenName": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "roles": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "personNumber",
                    "title",
                    "jobName",
                    "gradeCode",
                    "department",
                    "businessUnit",
                    "workerType",
                    "managerPersonNumber",
                    "managerName",
                    "email",
                    "givenName",
                    "name",
                    "roles",
                    "created",
                    "updated"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "User.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<User>"
      },
      "User.Filter1": {
        "type": "object",
        "title": "User.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "User.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "personNumber": {
                    "type": "boolean"
                  },
                  "title": {
                    "type": "boolean"
                  },
                  "jobName": {
                    "type": "boolean"
                  },
                  "gradeCode": {
                    "type": "boolean"
                  },
                  "department": {
                    "type": "boolean"
                  },
                  "businessUnit": {
                    "type": "boolean"
                  },
                  "workerType": {
                    "type": "boolean"
                  },
                  "managerPersonNumber": {
                    "type": "boolean"
                  },
                  "managerName": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "givenName": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "roles": {
                    "type": "boolean"
                  },
                  "created": {
                    "type": "boolean"
                  },
                  "updated": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "personNumber",
                    "title",
                    "jobName",
                    "gradeCode",
                    "department",
                    "businessUnit",
                    "workerType",
                    "managerPersonNumber",
                    "managerName",
                    "email",
                    "givenName",
                    "name",
                    "roles",
                    "created",
                    "updated"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "User.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<User>"
      }
    },
    "securitySchemes": {
      "jwt": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "security": [
    {
      "jwt": []
    }
  ]
}