{
  "openapi": "3.0.0",
  "info": {
    "title": "JU_POD",
    "version": "1.0.0"
  },
  "paths": {
    "/admin/csv": {
      "post": {
        "x-controller-name": "ImportDataController",
        "x-operation-name": "showBody",
        "tags": [
          "ImportDataController"
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": ""
          }
        },
        "requestBody": {
          "description": "multipart/form-data value.",
          "required": true,
          "content": {
            "multipart/form-data": {
              "x-parser": "stream",
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "ImportDataController.showBody"
      }
    },
    "/audit-logs/count": {
      "get": {
        "x-controller-name": "AuditLogController",
        "x-operation-name": "count",
        "tags": [
          "AuditLogController"
        ],
        "responses": {
          "200": {
            "description": "AuditLog model count",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "operationId": "AuditLogController.count"
      }
    },
    "/audit-logs/{id}": {
      "put": {
        "x-controller-name": "AuditLogController",
        "x-operation-name": "replaceById",
        "tags": [
          "AuditLogController"
        ],
        "responses": {
          "204": {
            "description": "AuditLog PUT success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuditLog"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AuditLogController.replaceById"
      },
      "patch": {
        "x-controller-name": "AuditLogController",
        "x-operation-name": "updateById",
        "tags": [
          "AuditLogController"
        ],
        "responses": {
          "204": {
            "description": "AuditLog PATCH success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuditLog"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AuditLogController.updateById"
      },
      "get": {
        "x-controller-name": "AuditLogController",
        "x-operation-name": "findById",
        "tags": [
          "AuditLogController"
        ],
        "responses": {
          "200": {
            "description": "AuditLog model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditLog"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "AuditLogController.findById"
      },
      "delete": {
        "x-controller-name": "AuditLogController",
        "x-operation-name": "deleteById",
        "tags": [
          "AuditLogController"
        ],
        "responses": {
          "204": {
            "description": "AuditLog DELETE success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "AuditLogController.deleteById"
      }
    },
    "/audit-logs": {
      "post": {
        "x-controller-name": "AuditLogController",
        "x-operation-name": "create",
        "tags": [
          "AuditLogController"
        ],
        "responses": {
          "200": {
            "description": "AuditLog model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditLog"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuditLog"
              }
            }
          }
        },
        "operationId": "AuditLogController.create"
      },
      "patch": {
        "x-controller-name": "AuditLogController",
        "x-operation-name": "updateAll",
        "tags": [
          "AuditLogController"
        ],
        "responses": {
          "200": {
            "description": "AuditLog PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuditLog"
              }
            }
          }
        },
        "operationId": "AuditLogController.updateAll"
      },
      "get": {
        "x-controller-name": "AuditLogController",
        "x-operation-name": "find",
        "tags": [
          "AuditLogController"
        ],
        "responses": {
          "200": {
            "description": "Array of AuditLog model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AuditLog"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "properties": {
                "where": {
                  "type": "object",
                  "additionalProperties": true
                },
                "fields": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "boolean"
                    },
                    "operationName": {
                      "type": "boolean"
                    },
                    "operationTime": {
                      "type": "boolean"
                    },
                    "tableName": {
                      "type": "boolean"
                    },
                    "logType": {
                      "type": "boolean"
                    },
                    "entityId": {
                      "type": "boolean"
                    },
                    "userId": {
                      "type": "boolean"
                    },
                    "before": {
                      "type": "boolean"
                    },
                    "after": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                "offset": {
                  "type": "integer",
                  "minimum": 0
                },
                "limit": {
                  "type": "integer",
                  "minimum": 1,
                  "example": 100
                },
                "skip": {
                  "type": "integer",
                  "minimum": 0
                },
                "order": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "operationId": "AuditLogController.find"
      }
    },
    "/auth/login": {
      "post": {
        "x-controller-name": "LoginController",
        "x-operation-name": "login",
        "tags": [
          "LoginController"
        ],
        "responses": {
          "200": {
            "description": "Auth Code",
            "content": {}
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequest"
              }
            }
          }
        },
        "operationId": "LoginController.login"
      }
    },
    "/auth/login-token": {
      "post": {
        "x-controller-name": "LoginController",
        "x-operation-name": "loginWithClientUser",
        "tags": [
          "LoginController"
        ],
        "responses": {
          "200": {
            "description": "Token Response Model",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TokenResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequest"
              }
            }
          }
        },
        "operationId": "LoginController.loginWithClientUser"
      }
    },
    "/auth/token": {
      "post": {
        "x-controller-name": "LoginController",
        "x-operation-name": "getToken",
        "tags": [
          "LoginController"
        ],
        "responses": {
          "200": {
            "description": "Token Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TokenResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthTokenRequest"
              }
            }
          }
        },
        "operationId": "LoginController.getToken"
      }
    },
    "/auth/token-refresh": {
      "post": {
        "x-controller-name": "LoginController",
        "x-operation-name": "exchangeToken",
        "tags": [
          "LoginController"
        ],
        "responses": {
          "200": {
            "description": "Token Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TokenResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthRefreshTokenRequest"
              }
            }
          }
        },
        "operationId": "LoginController.exchangeToken"
      }
    },
    "/courses/count": {
      "get": {
        "x-controller-name": "CoursesController",
        "x-operation-name": "count",
        "tags": [
          "CoursesController"
        ],
        "responses": {
          "200": {
            "description": "Courses model count",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "operationId": "CoursesController.count"
      }
    },
    "/courses": {
      "post": {
        "x-controller-name": "CoursesController",
        "x-operation-name": "create",
        "tags": [
          "CoursesController"
        ],
        "responses": {
          "200": {
            "description": "Courses model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Courses"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Courses"
              }
            }
          }
        },
        "operationId": "CoursesController.create"
      },
      "patch": {
        "x-controller-name": "CoursesController",
        "x-operation-name": "updateAll",
        "tags": [
          "CoursesController"
        ],
        "responses": {
          "200": {
            "description": "Courses PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Courses"
              }
            }
          }
        },
        "operationId": "CoursesController.updateAll"
      },
      "get": {
        "x-controller-name": "CoursesController",
        "x-operation-name": "find",
        "tags": [
          "CoursesController"
        ],
        "responses": {
          "200": {
            "description": "Array of Courses model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Courses"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "properties": {
                "where": {
                  "type": "object",
                  "additionalProperties": true
                },
                "fields": {
                  "type": "object",
                  "properties": {
                    "deleted": {
                      "type": "boolean"
                    },
                    "createdOn": {
                      "type": "boolean"
                    },
                    "modifiedOn": {
                      "type": "boolean"
                    },
                    "createdBy": {
                      "type": "boolean"
                    },
                    "modifiedBy": {
                      "type": "boolean"
                    },
                    "tenantId": {
                      "type": "boolean"
                    },
                    "id": {
                      "type": "boolean"
                    },
                    "catCode": {
                      "type": "boolean"
                    },
                    "courseNum": {
                      "type": "boolean"
                    },
                    "courseCode": {
                      "type": "boolean"
                    },
                    "name": {
                      "type": "boolean"
                    },
                    "isCore": {
                      "type": "boolean"
                    },
                    "CreditHours": {
                      "type": "boolean"
                    },
                    "desc": {
                      "type": "boolean"
                    },
                    "courseLink": {
                      "type": "boolean"
                    },
                    "version": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                "offset": {
                  "type": "integer",
                  "minimum": 0
                },
                "limit": {
                  "type": "integer",
                  "minimum": 1,
                  "example": 100
                },
                "skip": {
                  "type": "integer",
                  "minimum": 0
                },
                "order": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "operationId": "CoursesController.find"
      }
    },
    "/cpws/clone": {
      "post": {
        "x-controller-name": "CpwController",
        "x-operation-name": "clone",
        "tags": [
          "CpwController"
        ],
        "responses": {
          "200": {
            "description": "Cpw CLONE success"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "CpwController.clone"
      }
    },
    "/cpws/count": {
      "get": {
        "x-controller-name": "CpwController",
        "x-operation-name": "count",
        "tags": [
          "CpwController"
        ],
        "responses": {
          "200": {
            "description": "Cpw model count",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "operationId": "CpwController.count"
      }
    },
    "/cpws/{id}": {
      "put": {
        "x-controller-name": "CpwController",
        "x-operation-name": "replaceById",
        "tags": [
          "CpwController"
        ],
        "responses": {
          "204": {
            "description": "Cpw PUT success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Cpw"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CpwController.replaceById"
      },
      "patch": {
        "x-controller-name": "CpwController",
        "x-operation-name": "updateById",
        "tags": [
          "CpwController"
        ],
        "responses": {
          "204": {
            "description": "Cpw PATCH success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CpwDto"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CpwController.updateById"
      },
      "get": {
        "x-controller-name": "CpwController",
        "x-operation-name": "findById",
        "tags": [
          "CpwController"
        ],
        "responses": {
          "200": {
            "description": "Cpw model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cpw"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "CpwController.findById"
      },
      "delete": {
        "x-controller-name": "CpwController",
        "x-operation-name": "deleteById",
        "tags": [
          "CpwController"
        ],
        "responses": {
          "204": {
            "description": "Cpw DELETE success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "CpwController.deleteById"
      }
    },
    "/cpws": {
      "post": {
        "x-controller-name": "CpwController",
        "x-operation-name": "create",
        "tags": [
          "CpwController"
        ],
        "responses": {
          "200": {
            "description": "Cpw model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CpwDto"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CpwDto"
              }
            }
          }
        },
        "operationId": "CpwController.create"
      },
      "patch": {
        "x-controller-name": "CpwController",
        "x-operation-name": "updateAll",
        "tags": [
          "CpwController"
        ],
        "responses": {
          "200": {
            "description": "Cpw PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Cpw"
              }
            }
          }
        },
        "operationId": "CpwController.updateAll"
      },
      "get": {
        "x-controller-name": "CpwController",
        "x-operation-name": "find",
        "tags": [
          "CpwController"
        ],
        "responses": {
          "200": {
            "description": "Array of Cpw model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cpw"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "properties": {
                "where": {
                  "type": "object",
                  "additionalProperties": true
                },
                "fields": {
                  "type": "object",
                  "properties": {
                    "deleted": {
                      "type": "boolean"
                    },
                    "createdOn": {
                      "type": "boolean"
                    },
                    "modifiedOn": {
                      "type": "boolean"
                    },
                    "createdBy": {
                      "type": "boolean"
                    },
                    "modifiedBy": {
                      "type": "boolean"
                    },
                    "id": {
                      "type": "boolean"
                    },
                    "majors": {
                      "type": "boolean"
                    },
                    "minors": {
                      "type": "boolean"
                    },
                    "name": {
                      "type": "boolean"
                    },
                    "desc": {
                      "type": "boolean"
                    },
                    "readMoreLink": {
                      "type": "boolean"
                    },
                    "tenantId": {
                      "type": "boolean"
                    },
                    "version": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                "offset": {
                  "type": "integer",
                  "minimum": 0
                },
                "limit": {
                  "type": "integer",
                  "minimum": 1,
                  "example": 100
                },
                "skip": {
                  "type": "integer",
                  "minimum": 0
                },
                "order": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "operationId": "CpwController.find"
      }
    },
    "/cpws-filter": {
      "get": {
        "x-controller-name": "CpwController",
        "x-operation-name": "findFilter",
        "tags": [
          "CpwController"
        ],
        "responses": {
          "200": {
            "description": "Array of Cpw model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cpw"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "properties": {
                "where": {
                  "type": "object",
                  "additionalProperties": true
                },
                "fields": {
                  "type": "object",
                  "properties": {
                    "aoi": {
                      "type": "boolean"
                    },
                    "majors": {
                      "type": "boolean"
                    },
                    "minors": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                "offset": {
                  "type": "integer",
                  "minimum": 0
                },
                "limit": {
                  "type": "integer",
                  "minimum": 1,
                  "example": 100
                },
                "skip": {
                  "type": "integer",
                  "minimum": 0
                },
                "order": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "operationId": "CpwController.findFilter"
      }
    },
    "/email-logs/count": {
      "get": {
        "x-controller-name": "EmailLogsController",
        "x-operation-name": "count",
        "tags": [
          "EmailLogsController"
        ],
        "responses": {
          "200": {
            "description": "EmailLogs model count",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "operationId": "EmailLogsController.count"
      }
    },
    "/email-logs/send-csv": {
      "get": {
        "x-controller-name": "EmailLogsController",
        "x-operation-name": "find",
        "tags": [
          "EmailLogsController"
        ],
        "responses": {
          "200": {
            "description": "Csv file",
            "content": {
              "text/csv": {}
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "properties": {
                "where": {
                  "type": "object",
                  "additionalProperties": true
                },
                "fields": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "boolean"
                    },
                    "aoiName": {
                      "type": "boolean"
                    },
                    "aoiNameSecondary": {
                      "type": "boolean"
                    },
                    "majorNames": {
                      "type": "boolean"
                    },
                    "minorNames": {
                      "type": "boolean"
                    },
                    "email": {
                      "type": "boolean"
                    },
                    "studentStatus": {
                      "type": "boolean"
                    },
                    "tenantId": {
                      "type": "boolean"
                    },
                    "creditHour": {
                      "type": "boolean"
                    },
                    "courses": {
                      "type": "boolean"
                    },
                    "isSuccess": {
                      "type": "boolean"
                    },
                    "ip": {
                      "type": "boolean"
                    },
                    "createdOn": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                "offset": {
                  "type": "integer",
                  "minimum": 0
                },
                "limit": {
                  "type": "integer",
                  "minimum": 1,
                  "example": 100
                },
                "skip": {
                  "type": "integer",
                  "minimum": 0
                },
                "order": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "operationId": "EmailLogsController.find"
      }
    },
    "/email-logs/{id}": {
      "put": {
        "x-controller-name": "EmailLogsController",
        "x-operation-name": "replaceById",
        "tags": [
          "EmailLogsController"
        ],
        "responses": {
          "204": {
            "description": "EmailLogs PUT success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailLogs"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "EmailLogsController.replaceById"
      },
      "patch": {
        "x-controller-name": "EmailLogsController",
        "x-operation-name": "updateById",
        "tags": [
          "EmailLogsController"
        ],
        "responses": {
          "204": {
            "description": "EmailLogs PATCH success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "EmailLogsController.updateById"
      },
      "get": {
        "x-controller-name": "EmailLogsController",
        "x-operation-name": "findById",
        "tags": [
          "EmailLogsController"
        ],
        "responses": {
          "200": {
            "description": "EmailLogs model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailLogs"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "EmailLogsController.findById"
      },
      "delete": {
        "x-controller-name": "EmailLogsController",
        "x-operation-name": "deleteById",
        "tags": [
          "EmailLogsController"
        ],
        "responses": {
          "204": {
            "description": "EmailLogs DELETE success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "EmailLogsController.deleteById"
      }
    },
    "/email-logs": {
      "post": {
        "x-controller-name": "EmailLogsController",
        "x-operation-name": "create",
        "tags": [
          "EmailLogsController"
        ],
        "responses": {
          "200": {
            "description": "EmailLogs model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailLogDto"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailLogDto"
              }
            }
          }
        },
        "operationId": "EmailLogsController.create"
      },
      "patch": {
        "x-controller-name": "EmailLogsController",
        "x-operation-name": "updateAll",
        "tags": [
          "EmailLogsController"
        ],
        "responses": {
          "200": {
            "description": "EmailLogs PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailLogs"
              }
            }
          }
        },
        "operationId": "EmailLogsController.updateAll"
      }
    },
    "/export-logs/count": {
      "get": {
        "x-controller-name": "ExportLogController",
        "x-operation-name": "count",
        "tags": [
          "ExportLogController"
        ],
        "responses": {
          "200": {
            "description": "ExportLog model count",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "operationId": "ExportLogController.count"
      }
    },
    "/export-logs/{id}": {
      "delete": {
        "x-controller-name": "ExportLogController",
        "x-operation-name": "deleteById",
        "tags": [
          "ExportLogController"
        ],
        "responses": {
          "204": {
            "description": "ExportLog DELETE success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "ExportLogController.deleteById"
      }
    },
    "/export-logs": {
      "post": {
        "x-controller-name": "ExportLogController",
        "x-operation-name": "create",
        "tags": [
          "ExportLogController"
        ],
        "responses": {
          "200": {
            "description": "ExportLog model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExportLog"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExportLogExcluding_id_"
              }
            }
          }
        },
        "operationId": "ExportLogController.create"
      },
      "get": {
        "x-controller-name": "ExportLogController",
        "x-operation-name": "find",
        "tags": [
          "ExportLogController"
        ],
        "responses": {
          "200": {
            "description": "Array of ExportLog model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExportLog"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "properties": {
                "where": {
                  "type": "object",
                  "additionalProperties": true
                },
                "fields": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "boolean"
                    },
                    "status": {
                      "type": "boolean"
                    },
                    "fromDate": {
                      "type": "boolean"
                    },
                    "toDate": {
                      "type": "boolean"
                    },
                    "s3Key": {
                      "type": "boolean"
                    },
                    "error": {
                      "type": "boolean"
                    },
                    "createdBy": {
                      "type": "boolean"
                    },
                    "createdOn": {
                      "type": "boolean"
                    },
                    "tenantId": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                "offset": {
                  "type": "integer",
                  "minimum": 0
                },
                "limit": {
                  "type": "integer",
                  "minimum": 1,
                  "example": 100
                },
                "skip": {
                  "type": "integer",
                  "minimum": 0
                },
                "order": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "operationId": "ExportLogController.find"
      }
    },
    "/get-major-requirements": {
      "post": {
        "x-controller-name": "MajorRequirementsController",
        "x-operation-name": "finding",
        "tags": [
          "MajorRequirementsController"
        ],
        "responses": {
          "200": {
            "description": "Array of Majors model instances",
            "content": {
              "application/json": {}
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "MajorRequirementsController.finding"
      }
    },
    "/legends/count": {
      "get": {
        "x-controller-name": "LegendController",
        "x-operation-name": "count",
        "tags": [
          "LegendController"
        ],
        "responses": {
          "200": {
            "description": "Legend model count",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "operationId": "LegendController.count"
      }
    },
    "/legends": {
      "post": {
        "x-controller-name": "LegendController",
        "x-operation-name": "create",
        "tags": [
          "LegendController"
        ],
        "responses": {
          "200": {
            "description": "Legend model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Legend"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewLegend"
              }
            }
          }
        },
        "operationId": "LegendController.create"
      },
      "patch": {
        "x-controller-name": "LegendController",
        "x-operation-name": "updateAll",
        "tags": [
          "LegendController"
        ],
        "responses": {
          "200": {
            "description": "Legend PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LegendPartial"
              }
            }
          }
        },
        "operationId": "LegendController.updateAll"
      },
      "get": {
        "x-controller-name": "LegendController",
        "x-operation-name": "find",
        "tags": [
          "LegendController"
        ],
        "responses": {
          "200": {
            "description": "Array of Legend model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LegendDtoWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "properties": {
                "where": {
                  "type": "object",
                  "additionalProperties": true
                },
                "fields": {
                  "type": "object",
                  "properties": {
                    "deleted": {
                      "type": "boolean"
                    },
                    "createdOn": {
                      "type": "boolean"
                    },
                    "modifiedOn": {
                      "type": "boolean"
                    },
                    "createdBy": {
                      "type": "boolean"
                    },
                    "modifiedBy": {
                      "type": "boolean"
                    },
                    "tenantId": {
                      "type": "boolean"
                    },
                    "id": {
                      "type": "boolean"
                    },
                    "var": {
                      "type": "boolean"
                    },
                    "courseCode": {
                      "type": "boolean"
                    },
                    "version": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": true
                },
                "offset": {
                  "type": "integer",
                  "minimum": 0
                },
                "limit": {
                  "type": "integer",
                  "minimum": 1,
                  "example": 100
                },
                "skip": {
                  "type": "integer",
                  "minimum": 0
                },
                "order": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "operationId": "LegendController.find"
      }
    },
    "/logout": {
      "post": {
        "x-controller-name": "LogoutController",
        "x-operation-name": "logout",
        "tags": [
          "LogoutController"
        ],
        "responses": {},
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "LogoutController.logout"
      }
    },
    "/major-options/clone": {
      "post": {
        "x-controller-name": "MajorOptionsController",
        "x-operation-name": "clone",
        "tags": [
          "MajorOptionsController"
        ],
        "responses": {
          "200": {
            "description": "MajorOptions model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MajorOptionsDto"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "operationId": "MajorOptionsController.clone"
      }
    },
    "/major-options/count": {
      "get": {
        "x-controller-name": "MajorOptionsController",
        "x-operation-name": "count",
        "tags": [
          "MajorOptionsController"
        ],
        "responses": {
          "200": {
            "description": "MajorOptions model count",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "operationId": "MajorOptionsController.count"
      }
    },
    "/major-options/{id}": {
      "put": {
        "x-controller-name": "MajorOptionsController",
        "x-operation-name": "replaceById",
        "tags": [
          "MajorOptionsController"
        ],
        "responses": {
          "204": {
            "description": "MajorOptions PUT success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MajorOptions"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "MajorOptionsController.replaceById"
      },
      "patch": {
        "x-controller-name": "MajorOptionsController",
        "x-operation-name": "updateById",
        "tags": [
          "MajorOptionsController"
        ],
        "responses": {
          "204": {
            "description": "MajorOptions PATCH success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MajorOptionsDto"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "MajorOptionsController.updateById"
      },
      "get": {
        "x-controller-name": "MajorOptionsController",
        "x-operation-name": "findById",
        "tags": [
          "MajorOptionsController"
        ],
        "responses": {
          "200": {
            "description": "MajorOptions model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MajorOptions"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "MajorOptionsController.findById"
      },
      "delete": {
        "x-controller-name": "MajorOptionsController",
        "x-operation-name": "deleteById",
        "tags": [
          "MajorOptionsController"
        ],
        "responses": {
          "204": {
            "description": "MajorOptions DELETE success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "MajorOptionsController.deleteById"
      }
    },
    "/major-options": {
      "post": {
        "x-controller-name": "MajorOptionsController",
        "x-operation-name": "create",
        "tags": [
          "MajorOptionsController"
        ],
        "responses": {
          "200": {
            "description": "MajorOptions model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MajorOptionsDto"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MajorOptionsDto"
              }
            }
          }
        },
        "operationId": "MajorOptionsController.create"
      },
      "patch": {
        "x-controller-name": "MajorOptionsController",
        "x-operation-name": "updateAll",
        "tags": [
          "MajorOptionsController"
        ],
        "responses": {
          "200": {
            "description": "MajorOptions PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MajorOptions"
              }
            }
          }
        },
        "operationId": "MajorOptionsController.updateAll"
      },
      "get": {
        "x-controller-name": "MajorOptionsController",
        "x-operation-name": "find",
        "tags": [
          "MajorOptionsController"
        ],
        "responses": {
          "200": {
            "description": "Array of MajorOptions model instance",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MajorOptions"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "properties": {
                "where": {
                  "type": "object",
                  "additionalProperties": true
                },
                "fields": {
                  "type": "object",
                  "properties": {
                    "deleted": {
                      "type": "boolean"
                    },
                    "createdOn": {
                      "type": "boolean"
                    },
                    "modifiedOn": {
                      "type": "boolean"
                    },
                    "createdBy": {
                      "type": "boolean"
                    },
                    "modifiedBy": {
                      "type": "boolean"
                    },
                    "id": {
                      "type": "boolean"
                    },
                    "isFaulty": {
                      "type": "boolean"
                    },
                    "title": {
                      "type": "boolean"
                    },
                    "majors": {
                      "type": "boolean"
                    },
                    "minors": {
                      "type": "boolean"
                    },
                    "version": {
                      "type": "boolean"
                    },
                    "tenantId": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                "offset": {
                  "type": "integer",
                  "minimum": 0
                },
                "limit": {
                  "type": "integer",
                  "minimum": 1,
                  "example": 100
                },
                "skip": {
                  "type": "integer",
                  "minimum": 0
                },
                "order": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "operationId": "MajorOptionsController.find"
      }
    },
    "/major-requirements/count": {
      "get": {
        "x-controller-name": "MajorRequirementsController",
        "x-operation-name": "count",
        "tags": [
          "MajorRequirementsController"
        ],
        "responses": {
          "200": {
            "description": "MajorRequirements model count",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "operationId": "MajorRequirementsController.count"
      }
    },
    "/major-requirements/{id}": {
      "put": {
        "x-controller-name": "MajorRequirementsController",
        "x-operation-name": "replaceById",
        "tags": [
          "MajorRequirementsController"
        ],
        "responses": {
          "204": {
            "description": "MajorRequirements PUT success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MajorRequirements"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "MajorRequirementsController.replaceById"
      },
      "patch": {
        "x-controller-name": "MajorRequirementsController",
        "x-operation-name": "updateById",
        "tags": [
          "MajorRequirementsController"
        ],
        "responses": {
          "204": {
            "description": "MajorRequirements PATCH success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MajorRequirements"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "MajorRequirementsController.updateById"
      },
      "get": {
        "x-controller-name": "MajorRequirementsController",
        "x-operation-name": "findById",
        "tags": [
          "MajorRequirementsController"
        ],
        "responses": {
          "200": {
            "description": "MajorRequirements model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MajorRequirements"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "MajorRequirementsController.findById"
      },
      "delete": {
        "x-controller-name": "MajorRequirementsController",
        "x-operation-name": "deleteById",
        "tags": [
          "MajorRequirementsController"
        ],
        "responses": {
          "204": {
            "description": "MajorRequirements DELETE success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "MajorRequirementsController.deleteById"
      }
    },
    "/major-requirements": {
      "post": {
        "x-controller-name": "MajorRequirementsController",
        "x-operation-name": "create",
        "tags": [
          "MajorRequirementsController"
        ],
        "responses": {
          "200": {
            "description": "MajorRequirements model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MajorRequirements"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MajorRequirements"
              }
            }
          }
        },
        "operationId": "MajorRequirementsController.create"
      },
      "patch": {
        "x-controller-name": "MajorRequirementsController",
        "x-operation-name": "updateAll",
        "tags": [
          "MajorRequirementsController"
        ],
        "responses": {
          "200": {
            "description": "MajorRequirements PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MajorRequirements"
              }
            }
          }
        },
        "operationId": "MajorRequirementsController.updateAll"
      },
      "get": {
        "x-controller-name": "MajorRequirementsController",
        "x-operation-name": "find",
        "tags": [
          "MajorRequirementsController"
        ],
        "responses": {
          "200": {
            "description": "Array of MajorRequirements model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MajorRequirements"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "properties": {
                "where": {
                  "type": "object",
                  "additionalProperties": true
                },
                "fields": {
                  "type": "object",
                  "properties": {
                    "deleted": {
                      "type": "boolean"
                    },
                    "createdOn": {
                      "type": "boolean"
                    },
                    "modifiedOn": {
                      "type": "boolean"
                    },
                    "createdBy": {
                      "type": "boolean"
                    },
                    "modifiedBy": {
                      "type": "boolean"
                    },
                    "id": {
                      "type": "boolean"
                    },
                    "majorCode": {
                      "type": "boolean"
                    },
                    "degreeCode": {
                      "type": "boolean"
                    },
                    "isMajor": {
                      "type": "boolean"
                    },
                    "courseCode": {
                      "type": "boolean"
                    },
                    "legendVar": {
                      "type": "boolean"
                    },
                    "credits": {
                      "type": "boolean"
                    },
                    "tenantId": {
                      "type": "boolean"
                    },
                    "version": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                "offset": {
                  "type": "integer",
                  "minimum": 0
                },
                "limit": {
                  "type": "integer",
                  "minimum": 1,
                  "example": 100
                },
                "skip": {
                  "type": "integer",
                  "minimum": 0
                },
                "order": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "operationId": "MajorRequirementsController.find"
      }
    },
    "/majors/count": {
      "get": {
        "x-controller-name": "MajorsController",
        "x-operation-name": "count",
        "tags": [
          "MajorsController"
        ],
        "responses": {
          "200": {
            "description": "Majors model count",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "operationId": "MajorsController.count"
      }
    },
    "/majors/{id}": {
      "put": {
        "x-controller-name": "MajorsController",
        "x-operation-name": "replaceById",
        "tags": [
          "MajorsController"
        ],
        "responses": {
          "204": {
            "description": "Majors PUT success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Majors"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "MajorsController.replaceById"
      },
      "patch": {
        "x-controller-name": "MajorsController",
        "x-operation-name": "updateById",
        "tags": [
          "MajorsController"
        ],
        "responses": {
          "204": {
            "description": "Majors PATCH success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Majors"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "MajorsController.updateById"
      },
      "get": {
        "x-controller-name": "MajorsController",
        "x-operation-name": "findById",
        "tags": [
          "MajorsController"
        ],
        "responses": {
          "200": {
            "description": "Majors model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Majors"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "MajorsController.findById"
      },
      "delete": {
        "x-controller-name": "MajorsController",
        "x-operation-name": "deleteById",
        "tags": [
          "MajorsController"
        ],
        "responses": {
          "204": {
            "description": "Majors DELETE success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "MajorsController.deleteById"
      }
    },
    "/majors": {
      "post": {
        "x-controller-name": "MajorsController",
        "x-operation-name": "create",
        "tags": [
          "MajorsController"
        ],
        "responses": {
          "200": {
            "description": "Majors model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Majors"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Majors"
              }
            }
          }
        },
        "operationId": "MajorsController.create"
      },
      "patch": {
        "x-controller-name": "MajorsController",
        "x-operation-name": "updateAll",
        "tags": [
          "MajorsController"
        ],
        "responses": {
          "200": {
            "description": "Majors PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Majors"
              }
            }
          }
        },
        "operationId": "MajorsController.updateAll"
      },
      "get": {
        "x-controller-name": "MajorsController",
        "x-operation-name": "find",
        "tags": [
          "MajorsController"
        ],
        "responses": {
          "200": {
            "description": "Array of Majors model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Majors"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "properties": {
                "where": {
                  "type": "object",
                  "additionalProperties": true
                },
                "fields": {
                  "type": "object",
                  "properties": {
                    "deleted": {
                      "type": "boolean"
                    },
                    "createdOn": {
                      "type": "boolean"
                    },
                    "modifiedOn": {
                      "type": "boolean"
                    },
                    "createdBy": {
                      "type": "boolean"
                    },
                    "modifiedBy": {
                      "type": "boolean"
                    },
                    "id": {
                      "type": "boolean"
                    },
                    "code": {
                      "type": "boolean"
                    },
                    "isMajor": {
                      "type": "boolean"
                    },
                    "name": {
                      "type": "boolean"
                    },
                    "desc": {
                      "type": "boolean"
                    },
                    "totalCreditHour": {
                      "type": "boolean"
                    },
                    "tenantId": {
                      "type": "boolean"
                    },
                    "version": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                "offset": {
                  "type": "integer",
                  "minimum": 0
                },
                "limit": {
                  "type": "integer",
                  "minimum": 1,
                  "example": 100
                },
                "skip": {
                  "type": "integer",
                  "minimum": 0
                },
                "order": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            }
          },
          {
            "name": "id",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "number"
              }
            }
          }
        ],
        "operationId": "MajorsController.find"
      }
    },
    "/ping": {
      "get": {
        "x-controller-name": "PingController",
        "x-operation-name": "ping",
        "tags": [
          "PingController"
        ],
        "responses": {
          "200": {
            "description": "Ping Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "greeting": {
                      "type": "string"
                    },
                    "date": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    },
                    "headers": {
                      "type": "object",
                      "properties": {
                        "Content-Type": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "PingController.ping"
      }
    },
    "/reset-password/{token}": {
      "patch": {
        "x-controller-name": "ChangePasswordController",
        "x-operation-name": "updateBytoken",
        "tags": [
          "ChangePasswordController"
        ],
        "responses": {
          "204": {
            "description": "Password PATCH success"
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordDto"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ChangePasswordController.updateBytoken"
      },
      "get": {
        "x-controller-name": "ChangePasswordController",
        "x-operation-name": "findBytoken",
        "tags": [
          "ChangePasswordController"
        ],
        "responses": {
          "200": {
            "description": "ResetToken model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ChangePasswordController.findBytoken"
      }
    },
    "/reset-password": {
      "post": {
        "x-controller-name": "ChangePasswordController",
        "x-operation-name": "create",
        "tags": [
          "ChangePasswordController"
        ],
        "responses": {
          "200": {
            "description": "SuccessResponse model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SuccessResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestEmail"
              }
            }
          }
        },
        "operationId": "ChangePasswordController.create"
      }
    },
    "/roles/count": {
      "get": {
        "x-controller-name": "RoleController",
        "x-operation-name": "count",
        "tags": [
          "RoleController"
        ],
        "responses": {
          "200": {
            "description": "Role model count",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "operationId": "RoleController.count"
      }
    },
    "/roles/{id}": {
      "put": {
        "x-controller-name": "RoleController",
        "x-operation-name": "replaceById",
        "tags": [
          "RoleController"
        ],
        "responses": {
          "204": {
            "description": "Role PUT success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "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": "Role PATCH success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Role"
              }
            }
          },
          "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/Role"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "RoleController.findById"
      },
      "delete": {
        "x-controller-name": "RoleController",
        "x-operation-name": "deleteById",
        "tags": [
          "RoleController"
        ],
        "responses": {
          "204": {
            "description": "Role DELETE success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "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/Role"
              }
            }
          }
        },
        "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": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Role"
              }
            }
          }
        },
        "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/Role"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "properties": {
                "where": {
                  "type": "object",
                  "additionalProperties": true
                },
                "fields": {
                  "type": "object",
                  "properties": {
                    "deleted": {
                      "type": "boolean"
                    },
                    "createdOn": {
                      "type": "boolean"
                    },
                    "modifiedOn": {
                      "type": "boolean"
                    },
                    "id": {
                      "type": "boolean"
                    },
                    "name": {
                      "type": "boolean"
                    },
                    "permissions": {
                      "type": "boolean"
                    },
                    "roleKey": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                "offset": {
                  "type": "integer",
                  "minimum": 0
                },
                "limit": {
                  "type": "integer",
                  "minimum": 1,
                  "example": 100
                },
                "skip": {
                  "type": "integer",
                  "minimum": 0
                },
                "order": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "operationId": "RoleController.find"
      }
    },
    "/send-email/{id}": {
      "patch": {
        "x-controller-name": "EmailLogsController",
        "x-operation-name": "sendEmail",
        "tags": [
          "EmailLogsController"
        ],
        "responses": {
          "204": {
            "description": "EmailLogs PATCH success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailContent"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "EmailLogsController.sendEmail"
      }
    },
    "/signed-url/{key}": {
      "get": {
        "x-controller-name": "ExportLogController",
        "x-operation-name": "getPreSignedUrl",
        "tags": [
          "ExportLogController"
        ],
        "responses": {
          "200": {
            "description": "Get Pre signed Url"
          }
        },
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ExportLogController.getPreSignedUrl"
      }
    },
    "/student-statuses/count": {
      "get": {
        "x-controller-name": "StudentStatusController",
        "x-operation-name": "count",
        "tags": [
          "StudentStatusController"
        ],
        "responses": {
          "200": {
            "description": "StudentStatus model count",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "operationId": "StudentStatusController.count"
      }
    },
    "/student-statuses/{id}": {
      "put": {
        "x-controller-name": "StudentStatusController",
        "x-operation-name": "replaceById",
        "tags": [
          "StudentStatusController"
        ],
        "responses": {
          "204": {
            "description": "StudentStatus PUT success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StudentStatus"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "StudentStatusController.replaceById"
      },
      "patch": {
        "x-controller-name": "StudentStatusController",
        "x-operation-name": "updateById",
        "tags": [
          "StudentStatusController"
        ],
        "responses": {
          "204": {
            "description": "StudentStatus PATCH success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StudentStatusPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "StudentStatusController.updateById"
      },
      "get": {
        "x-controller-name": "StudentStatusController",
        "x-operation-name": "findById",
        "tags": [
          "StudentStatusController"
        ],
        "responses": {
          "200": {
            "description": "StudentStatus model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StudentStatus"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "StudentStatusController.findById"
      },
      "delete": {
        "x-controller-name": "StudentStatusController",
        "x-operation-name": "deleteById",
        "tags": [
          "StudentStatusController"
        ],
        "responses": {
          "204": {
            "description": "StudentStatus DELETE success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "StudentStatusController.deleteById"
      }
    },
    "/student-statuses": {
      "post": {
        "x-controller-name": "StudentStatusController",
        "x-operation-name": "create",
        "tags": [
          "StudentStatusController"
        ],
        "responses": {
          "200": {
            "description": "StudentStatus model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StudentStatus"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StudentStatusExcluding_id_"
              }
            }
          }
        },
        "operationId": "StudentStatusController.create"
      },
      "patch": {
        "x-controller-name": "StudentStatusController",
        "x-operation-name": "updateAll",
        "tags": [
          "StudentStatusController"
        ],
        "responses": {
          "200": {
            "description": "StudentStatus PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StudentStatusPartial"
              }
            }
          }
        },
        "operationId": "StudentStatusController.updateAll"
      },
      "get": {
        "x-controller-name": "StudentStatusController",
        "x-operation-name": "find",
        "tags": [
          "StudentStatusController"
        ],
        "responses": {
          "200": {
            "description": "Array of StudentStatus model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StudentStatus"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "properties": {
                "where": {
                  "type": "object",
                  "additionalProperties": true
                },
                "fields": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "boolean"
                    },
                    "name": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                "offset": {
                  "type": "integer",
                  "minimum": 0
                },
                "limit": {
                  "type": "integer",
                  "minimum": 1,
                  "example": 100
                },
                "skip": {
                  "type": "integer",
                  "minimum": 0
                },
                "order": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "operationId": "StudentStatusController.find"
      }
    },
    "/tenant-info/{id}": {
      "get": {
        "x-controller-name": "TenantController",
        "x-operation-name": "findByIdInfo",
        "tags": [
          "TenantController"
        ],
        "responses": {
          "200": {
            "description": "Tenant Info model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TenantInfo"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "TenantController.findByIdInfo"
      }
    },
    "/tenants/count": {
      "get": {
        "x-controller-name": "TenantController",
        "x-operation-name": "count",
        "tags": [
          "TenantController"
        ],
        "responses": {
          "200": {
            "description": "Tenant model count",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "operationId": "TenantController.count"
      }
    },
    "/tenants/{id}": {
      "put": {
        "x-controller-name": "TenantController",
        "x-operation-name": "replaceById",
        "tags": [
          "TenantController"
        ],
        "responses": {
          "204": {
            "description": "Tenant PUT success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "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": "Tenant PATCH success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Tenant"
              }
            }
          },
          "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/Tenant"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "TenantController.findById"
      },
      "delete": {
        "x-controller-name": "TenantController",
        "x-operation-name": "deleteById",
        "tags": [
          "TenantController"
        ],
        "responses": {
          "204": {
            "description": "Tenant DELETE success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "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/Tenant"
              }
            }
          }
        },
        "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": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Tenant"
              }
            }
          }
        },
        "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/Tenant"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "properties": {
                "where": {
                  "type": "object",
                  "additionalProperties": true
                },
                "fields": {
                  "type": "object",
                  "properties": {
                    "deleted": {
                      "type": "boolean"
                    },
                    "createdOn": {
                      "type": "boolean"
                    },
                    "modifiedOn": {
                      "type": "boolean"
                    },
                    "createdBy": {
                      "type": "boolean"
                    },
                    "modifiedBy": {
                      "type": "boolean"
                    },
                    "id": {
                      "type": "boolean"
                    },
                    "name": {
                      "type": "boolean"
                    },
                    "type": {
                      "type": "boolean"
                    },
                    "address1": {
                      "type": "boolean"
                    },
                    "address2": {
                      "type": "boolean"
                    },
                    "address3": {
                      "type": "boolean"
                    },
                    "address4": {
                      "type": "boolean"
                    },
                    "city": {
                      "type": "boolean"
                    },
                    "state": {
                      "type": "boolean"
                    },
                    "zip": {
                      "type": "boolean"
                    },
                    "country": {
                      "type": "boolean"
                    },
                    "status": {
                      "type": "boolean"
                    },
                    "minCreditHour": {
                      "type": "boolean"
                    },
                    "maxCreditHour": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                "offset": {
                  "type": "integer",
                  "minimum": 0
                },
                "limit": {
                  "type": "integer",
                  "minimum": 1,
                  "example": 100
                },
                "skip": {
                  "type": "integer",
                  "minimum": 0
                },
                "order": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "operationId": "TenantController.find"
      }
    },
    "/users/count": {
      "get": {
        "x-controller-name": "UserController",
        "x-operation-name": "count",
        "tags": [
          "UserController"
        ],
        "responses": {
          "200": {
            "description": "User model count",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "operationId": "UserController.count"
      }
    },
    "/users/me": {
      "get": {
        "x-controller-name": "UserController",
        "x-operation-name": "findMe",
        "tags": [
          "UserController"
        ],
        "responses": {
          "200": {
            "description": "Token Response"
          }
        },
        "operationId": "UserController.findMe"
      }
    },
    "/users/{id}": {
      "put": {
        "x-controller-name": "UserController",
        "x-operation-name": "replaceById",
        "tags": [
          "UserController"
        ],
        "responses": {
          "204": {
            "description": "User PUT success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "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": "User PATCH success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "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/User"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "UserController.findById"
      },
      "delete": {
        "x-controller-name": "UserController",
        "x-operation-name": "deleteById",
        "tags": [
          "UserController"
        ],
        "responses": {
          "204": {
            "description": "User DELETE success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "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/UserRegDto"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserRegDto"
              }
            }
          }
        },
        "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": {
                  "type": "object",
                  "title": "loopback.count",
                  "properties": {
                    "count": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "additionalProperties": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/User"
              }
            }
          }
        },
        "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/UserRegDto"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "properties": {
                "where": {
                  "type": "object",
                  "additionalProperties": true
                },
                "fields": {
                  "type": "object",
                  "properties": {
                    "deleted": {
                      "type": "boolean"
                    },
                    "createdOn": {
                      "type": "boolean"
                    },
                    "modifiedOn": {
                      "type": "boolean"
                    },
                    "createdBy": {
                      "type": "boolean"
                    },
                    "modifiedBy": {
                      "type": "boolean"
                    },
                    "id": {
                      "type": "boolean"
                    },
                    "firstName": {
                      "type": "boolean"
                    },
                    "lastName": {
                      "type": "boolean"
                    },
                    "middleName": {
                      "type": "boolean"
                    },
                    "username": {
                      "type": "boolean"
                    },
                    "email": {
                      "type": "boolean"
                    },
                    "phone": {
                      "type": "boolean"
                    },
                    "password": {
                      "type": "boolean"
                    },
                    "defaultTenant": {
                      "type": "boolean"
                    },
                    "lastLogin": {
                      "type": "boolean"
                    },
                    "disabled": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                "offset": {
                  "type": "integer",
                  "minimum": 0
                },
                "limit": {
                  "type": "integer",
                  "minimum": 1,
                  "example": 100
                },
                "skip": {
                  "type": "integer",
                  "minimum": 0
                },
                "order": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "operationId": "UserController.find"
      }
    },
    "/versions": {
      "get": {
        "x-controller-name": "HomePageController",
        "x-operation-name": "find",
        "tags": [
          "HomePageController"
        ],
        "responses": {
          "200": {
            "description": "Array of Versions model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Versions"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "properties": {
                "where": {
                  "type": "object",
                  "additionalProperties": true
                },
                "fields": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "boolean"
                    },
                    "label": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                "offset": {
                  "type": "integer",
                  "minimum": 0
                },
                "limit": {
                  "type": "integer",
                  "minimum": 1,
                  "example": 100
                },
                "skip": {
                  "type": "integer",
                  "minimum": 0
                },
                "order": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            }
          }
        ],
        "operationId": "HomePageController.find"
      }
    },
    "/": {
      "get": {
        "x-controller-name": "HomePageController",
        "x-operation-name": "homePage",
        "tags": [
          "HomePageController"
        ],
        "responses": {
          "200": {
            "description": "Home Page",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "operationId": "HomePageController.homePage"
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearer": {
        "type": "http",
        "in": "header",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    },
    "schemas": {
      "SuccessResponse": {
        "title": "SuccessResponse",
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "additionalProperties": true
      },
      "RequestEmail": {
        "title": "RequestEmail",
        "properties": {
          "email": {
            "type": "string"
          }
        },
        "required": [
          "email"
        ],
        "additionalProperties": false
      },
      "ChangePasswordDto": {
        "title": "ChangePasswordDto",
        "properties": {
          "password": {
            "type": "string"
          },
          "confirmPassword": {
            "type": "string"
          }
        },
        "required": [
          "password",
          "confirmPassword"
        ],
        "additionalProperties": false
      },
      "Courses": {
        "title": "CoursesWithRelations",
        "description": "(Schema options: { includeRelations: true })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "number"
          },
          "modifiedBy": {
            "type": "number"
          },
          "tenantId": {
            "type": "number"
          },
          "id": {
            "type": "number",
            "nullable": true
          },
          "catCode": {
            "type": "string",
            "nullable": true
          },
          "courseNum": {
            "type": "string",
            "nullable": true
          },
          "courseCode": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "isCore": {
            "type": "boolean",
            "nullable": true
          },
          "CreditHours": {
            "type": "number",
            "nullable": true
          },
          "desc": {
            "type": "string",
            "nullable": true
          },
          "courseLink": {
            "type": "string",
            "nullable": true
          },
          "version": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "catCode",
          "courseNum",
          "name",
          "CreditHours",
          "version"
        ],
        "additionalProperties": false
      },
      "CpwDto": {},
      "Cpw": {
        "title": "Cpw",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "number"
          },
          "modifiedBy": {
            "type": "number"
          },
          "id": {
            "type": "number"
          },
          "majors": {
            "type": "string"
          },
          "minors": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "desc": {
            "type": "string"
          },
          "readMoreLink": {
            "type": "string"
          },
          "tenantId": {
            "type": "number"
          },
          "version": {
            "type": "number"
          }
        },
        "required": [
          "name",
          "tenantId",
          "version"
        ],
        "additionalProperties": false
      },
      "CpwCustomFilter": {
        "title": "CpwCustomFilter",
        "properties": {
          "aoi": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "majors": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "minors": {
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        },
        "additionalProperties": false
      },
      "EmailLogDto": {
        "title": "EmailLogDto",
        "properties": {
          "id": {
            "type": "number"
          },
          "aoiName": {
            "type": "string",
            "nullable": true
          },
          "aoiNameSecondary": {
            "type": "string",
            "nullable": true
          },
          "majorNames": {
            "type": "array",
            "items": {
              "type": "string",
              "nullable": true
            }
          },
          "minorNames": {
            "type": "array",
            "items": {
              "type": "string",
              "nullable": true
            }
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "studentStatus": {
            "type": "string",
            "nullable": true
          },
          "tenantId": {
            "type": "number",
            "nullable": true
          },
          "courses": {
            "type": "object",
            "nullable": true
          },
          "isSuccess": {
            "type": "boolean",
            "nullable": true
          },
          "ip": {
            "type": "string",
            "nullable": true
          },
          "creditHour": {
            "type": "number",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "EmailLogs": {
        "title": "EmailLogs",
        "properties": {
          "id": {
            "type": "number"
          },
          "aoiName": {
            "type": "string",
            "nullable": true
          },
          "aoiNameSecondary": {
            "type": "string",
            "nullable": true
          },
          "majorNames": {
            "type": "string",
            "nullable": true
          },
          "minorNames": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "studentStatus": {
            "type": "string",
            "nullable": true
          },
          "tenantId": {
            "type": "number",
            "nullable": true
          },
          "creditHour": {
            "type": "number",
            "nullable": true
          },
          "courses": {
            "type": "object",
            "nullable": true
          },
          "isSuccess": {
            "type": "boolean",
            "nullable": true
          },
          "ip": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "EmailContent": {
        "title": "EmailContent",
        "properties": {
          "courses": {
            "type": "object"
          },
          "email": {
            "type": "string"
          },
          "aoiName": {
            "type": "string"
          },
          "aoiNameSecondary": {
            "type": "string"
          },
          "majorNames": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "minorNames": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "courses",
          "email",
          "aoiName",
          "majorNames"
        ],
        "additionalProperties": true
      },
      "ExportLog": {
        "title": "ExportLog",
        "properties": {
          "id": {
            "type": "number"
          },
          "status": {
            "type": "string"
          },
          "fromDate": {
            "type": "string",
            "format": "date-time"
          },
          "toDate": {
            "type": "string",
            "format": "date-time"
          },
          "s3Key": {
            "type": "string"
          },
          "error": {
            "type": "object"
          },
          "createdBy": {
            "type": "number"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "tenantId": {
            "type": "number"
          }
        },
        "additionalProperties": false
      },
      "ExportLogExcluding_id_": {
        "title": "ExportLogExcluding_id_",
        "description": "(Schema options: { exclude: [ 'id' ] })",
        "properties": {
          "status": {
            "type": "string"
          },
          "fromDate": {
            "type": "string",
            "format": "date-time"
          },
          "toDate": {
            "type": "string",
            "format": "date-time"
          },
          "s3Key": {
            "type": "string"
          },
          "error": {
            "type": "object"
          },
          "createdBy": {
            "type": "number"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "tenantId": {
            "type": "number"
          }
        },
        "additionalProperties": false
      },
      "Versions": {
        "title": "Versions",
        "properties": {
          "id": {
            "type": "number",
            "nullable": true
          },
          "label": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "label"
        ],
        "additionalProperties": false
      },
      "Legend": {
        "title": "Legend",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "number"
          },
          "modifiedBy": {
            "type": "number"
          },
          "tenantId": {
            "type": "number"
          },
          "id": {
            "type": "number"
          },
          "var": {
            "type": "string"
          },
          "courseCode": {
            "type": "string"
          },
          "version": {
            "type": "number"
          }
        },
        "required": [
          "var",
          "courseCode",
          "version"
        ],
        "additionalProperties": true
      },
      "NewLegend": {
        "title": "NewLegend",
        "description": "(Schema options: { title: 'NewLegend' })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "number"
          },
          "modifiedBy": {
            "type": "number"
          },
          "tenantId": {
            "type": "number"
          },
          "id": {
            "type": "number"
          },
          "var": {
            "type": "string"
          },
          "courseCode": {
            "type": "string"
          },
          "version": {
            "type": "number"
          }
        },
        "required": [
          "var",
          "courseCode",
          "version"
        ],
        "additionalProperties": true
      },
      "LegendDtoWithRelations": {
        "title": "LegendDtoWithRelations",
        "description": "(Schema options: { includeRelations: true })",
        "properties": {
          "var": {
            "type": "string"
          },
          "courses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Courses"
            }
          }
        },
        "required": [
          "var",
          "courses"
        ],
        "additionalProperties": false
      },
      "LegendPartial": {
        "title": "LegendPartial",
        "description": "(Schema options: { partial: true })",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "number"
          },
          "modifiedBy": {
            "type": "number"
          },
          "tenantId": {
            "type": "number"
          },
          "id": {
            "type": "number"
          },
          "var": {
            "type": "string"
          },
          "courseCode": {
            "type": "string"
          },
          "version": {
            "type": "number"
          }
        },
        "additionalProperties": true
      },
      "MajorOptionsDto": {},
      "MajorOptions": {
        "title": "MajorOptions",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "number"
          },
          "modifiedBy": {
            "type": "number"
          },
          "id": {
            "type": "number"
          },
          "isFaulty": {
            "type": "boolean"
          },
          "title": {
            "type": "string"
          },
          "majors": {
            "type": "string"
          },
          "minors": {
            "type": "string"
          },
          "version": {
            "type": "number"
          },
          "tenantId": {
            "type": "number"
          }
        },
        "required": [
          "tenantId"
        ],
        "additionalProperties": false
      },
      "MajorRequirements": {
        "title": "MajorRequirements",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "number"
          },
          "modifiedBy": {
            "type": "number"
          },
          "id": {
            "type": "number"
          },
          "majorCode": {
            "type": "string"
          },
          "degreeCode": {
            "type": "string"
          },
          "isMajor": {
            "type": "boolean"
          },
          "courseCode": {
            "type": "string"
          },
          "legendVar": {
            "type": "string"
          },
          "credits": {
            "type": "number"
          },
          "tenantId": {
            "type": "number"
          },
          "version": {
            "type": "number"
          }
        },
        "required": [
          "isMajor",
          "credits",
          "tenantId",
          "version"
        ],
        "additionalProperties": false
      },
      "Majors": {
        "title": "Majors",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "number"
          },
          "modifiedBy": {
            "type": "number"
          },
          "id": {
            "type": "number"
          },
          "code": {
            "type": "string"
          },
          "isMajor": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "desc": {
            "type": "string"
          },
          "totalCreditHour": {
            "type": "number"
          },
          "tenantId": {
            "type": "number"
          },
          "version": {
            "type": "number"
          }
        },
        "required": [
          "code",
          "isMajor",
          "name",
          "totalCreditHour",
          "tenantId",
          "version"
        ],
        "additionalProperties": false
      },
      "StudentStatus": {
        "title": "StudentStatus",
        "properties": {
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "StudentStatusExcluding_id_": {
        "title": "StudentStatusExcluding_id_",
        "description": "(Schema options: { exclude: [ 'id' ] })",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "StudentStatusPartial": {
        "title": "StudentStatusPartial",
        "description": "(Schema options: { partial: true })",
        "properties": {
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "AuditLog": {
        "title": "AuditLog",
        "properties": {
          "id": {
            "type": "number"
          },
          "operationName": {
            "type": "string"
          },
          "operationTime": {
            "type": "string",
            "format": "date-time"
          },
          "tableName": {
            "type": "string"
          },
          "logType": {
            "type": "string"
          },
          "entityId": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "before": {
            "type": "object"
          },
          "after": {
            "type": "object"
          }
        },
        "required": [
          "operationName",
          "operationTime",
          "tableName"
        ],
        "additionalProperties": false
      },
      "LoginRequest": {
        "title": "LoginRequest",
        "properties": {
          "client_id": {
            "type": "string"
          },
          "client_secret": {
            "type": "string"
          },
          "username": {
            "type": "string"
          },
          "password": {
            "type": "string"
          }
        },
        "required": [
          "client_id",
          "client_secret",
          "username",
          "password"
        ],
        "additionalProperties": false
      },
      "TokenResponse": {
        "title": "TokenResponse",
        "properties": {
          "accessToken": {
            "type": "string"
          },
          "refreshToken": {
            "type": "string"
          }
        },
        "required": [
          "accessToken",
          "refreshToken"
        ],
        "additionalProperties": false
      },
      "AuthTokenRequest": {
        "title": "AuthTokenRequest",
        "properties": {
          "code": {
            "type": "string"
          },
          "clientId": {
            "type": "string"
          },
          "username": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "clientId",
          "username"
        ],
        "additionalProperties": false
      },
      "AuthRefreshTokenRequest": {
        "title": "AuthRefreshTokenRequest",
        "properties": {
          "refreshToken": {
            "type": "string"
          }
        },
        "required": [
          "refreshToken"
        ],
        "additionalProperties": false
      },
      "Role": {
        "title": "Role",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "roleKey": {
            "type": "number"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      },
      "Tenant": {
        "title": "Tenant",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "number"
          },
          "modifiedBy": {
            "type": "number"
          },
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "address1": {
            "type": "string"
          },
          "address2": {
            "type": "string"
          },
          "address3": {
            "type": "string"
          },
          "address4": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "zip": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "minCreditHour": {
            "type": "number"
          },
          "maxCreditHour": {
            "type": "number"
          }
        },
        "required": [
          "name",
          "type",
          "status"
        ],
        "additionalProperties": false
      },
      "TenantInfo": {
        "title": "TenantInfo",
        "properties": {
          "minCreditHour": {
            "type": "number"
          },
          "maxCreditHour": {
            "type": "number"
          },
          "id": {
            "type": "number"
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "UserRegDto": {
        "title": "UserRegDto",
        "properties": {
          "id": {
            "type": "number"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "username": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "defaultTenant": {
            "type": "number"
          },
          "roleId": {
            "type": "number"
          },
          "disabled": {
            "type": "boolean"
          }
        },
        "required": [
          "firstName",
          "username",
          "defaultTenant",
          "roleId"
        ],
        "additionalProperties": false
      },
      "User": {
        "title": "User",
        "properties": {
          "deleted": {
            "type": "boolean"
          },
          "createdOn": {
            "type": "string",
            "format": "date-time"
          },
          "modifiedOn": {
            "type": "string",
            "format": "date-time"
          },
          "createdBy": {
            "type": "number"
          },
          "modifiedBy": {
            "type": "number"
          },
          "id": {
            "type": "number"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "middleName": {
            "type": "string"
          },
          "username": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "defaultTenant": {
            "type": "number"
          },
          "lastLogin": {
            "type": "string",
            "format": "date-time"
          },
          "disabled": {
            "type": "boolean"
          }
        },
        "required": [
          "firstName",
          "username"
        ],
        "additionalProperties": false
      }
    }
  },
  "servers": [
    {
      "url": "https://pathwaysofdistinction-api.ju.edu"
    }
  ]
}