{
  "openapi": "3.0.0",
  "info": {
    "title": "fileserver",
    "version": "0.0.1",
    "description": "A File Server for Uploads",
    "contact": {
      "name": "Domodan",
      "email": "ongomdaniel9@gmail.com"
    }
  },
  "paths": {
    "/app-users/count": {
      "get": {
        "x-controller-name": "AppUserController",
        "x-operation-name": "count",
        "tags": [
          "AppUserController"
        ],
        "responses": {
          "200": {
            "description": "AppUser model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "AppUser.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<AppUser>"
                }
              }
            }
          }
        ],
        "operationId": "AppUserController.count"
      }
    },
    "/app-users/{id}": {
      "put": {
        "x-controller-name": "AppUserController",
        "x-operation-name": "replaceById",
        "tags": [
          "AppUserController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "AppUser PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppUser"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AppUserController.replaceById"
      },
      "patch": {
        "x-controller-name": "AppUserController",
        "x-operation-name": "updateById",
        "tags": [
          "AppUserController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "AppUser PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppUserPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AppUserController.updateById"
      },
      "get": {
        "x-controller-name": "AppUserController",
        "x-operation-name": "findById",
        "tags": [
          "AppUserController"
        ],
        "responses": {
          "200": {
            "description": "AppUser model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppUserWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppUser.Filter"
                }
              }
            }
          }
        ],
        "operationId": "AppUserController.findById"
      },
      "delete": {
        "x-controller-name": "AppUserController",
        "x-operation-name": "deleteById",
        "tags": [
          "AppUserController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "AppUser DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AppUserController.deleteById"
      }
    },
    "/app-users": {
      "post": {
        "x-controller-name": "AppUserController",
        "x-operation-name": "create",
        "tags": [
          "AppUserController"
        ],
        "responses": {
          "200": {
            "description": "AppUser model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppUser"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewAppUser"
              }
            }
          }
        },
        "operationId": "AppUserController.create"
      },
      "patch": {
        "x-controller-name": "AppUserController",
        "x-operation-name": "updateAll",
        "tags": [
          "AppUserController"
        ],
        "responses": {
          "200": {
            "description": "AppUser PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "AppUser.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<AppUser>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppUserPartial"
              }
            }
          }
        },
        "operationId": "AppUserController.updateAll"
      },
      "get": {
        "x-controller-name": "AppUserController",
        "x-operation-name": "find",
        "tags": [
          "AppUserController"
        ],
        "responses": {
          "200": {
            "description": "Array of AppUser model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AppUserWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppUser.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "AppUserController.find"
      }
    },
    "/audit-logs/count": {
      "get": {
        "x-controller-name": "AuditLogController",
        "x-operation-name": "count",
        "tags": [
          "AuditLogController"
        ],
        "responses": {
          "200": {
            "description": "AuditLog model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "AuditLog.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<AuditLog>"
                }
              }
            }
          }
        ],
        "operationId": "AuditLogController.count"
      }
    },
    "/audit-logs/{id}": {
      "put": {
        "x-controller-name": "AuditLogController",
        "x-operation-name": "replaceById",
        "tags": [
          "AuditLogController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "AuditLog PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "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": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "AuditLog PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuditLogPartial"
              }
            }
          },
          "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/AuditLogWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditLog.Filter"
                }
              }
            }
          }
        ],
        "operationId": "AuditLogController.findById"
      },
      "delete": {
        "x-controller-name": "AuditLogController",
        "x-operation-name": "deleteById",
        "tags": [
          "AuditLogController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "AuditLog DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "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/NewAuditLog"
              }
            }
          }
        },
        "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": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "AuditLog.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<AuditLog>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuditLogPartial"
              }
            }
          }
        },
        "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/AuditLogWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditLog.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "AuditLogController.find"
      }
    },
    "/file-uploads/count": {
      "get": {
        "x-controller-name": "FileUploadController",
        "x-operation-name": "count",
        "tags": [
          "FileUploadController"
        ],
        "responses": {
          "200": {
            "description": "FileUpload model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "FileUpload.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<FileUpload>"
                }
              }
            }
          }
        ],
        "operationId": "FileUploadController.count"
      }
    },
    "/file-uploads/{id}": {
      "put": {
        "x-controller-name": "FileUploadController",
        "x-operation-name": "replaceById",
        "tags": [
          "FileUploadController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "FileUpload PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FileUpload"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "FileUploadController.replaceById"
      },
      "patch": {
        "x-controller-name": "FileUploadController",
        "x-operation-name": "updateById",
        "tags": [
          "FileUploadController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "FileUpload PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FileUploadPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "FileUploadController.updateById"
      },
      "get": {
        "x-controller-name": "FileUploadController",
        "x-operation-name": "findById",
        "tags": [
          "FileUploadController"
        ],
        "responses": {
          "200": {
            "description": "FileUpload model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileUploadWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileUpload.Filter"
                }
              }
            }
          }
        ],
        "operationId": "FileUploadController.findById"
      },
      "delete": {
        "x-controller-name": "FileUploadController",
        "x-operation-name": "deleteById",
        "tags": [
          "FileUploadController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "FileUpload DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "FileUploadController.deleteById"
      }
    },
    "/file-uploads": {
      "post": {
        "x-controller-name": "FileUploadController",
        "x-operation-name": "create",
        "tags": [
          "FileUploadController"
        ],
        "responses": {
          "200": {
            "description": "FileUpload model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileUpload"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewFileUpload"
              }
            }
          }
        },
        "operationId": "FileUploadController.create"
      },
      "patch": {
        "x-controller-name": "FileUploadController",
        "x-operation-name": "updateAll",
        "tags": [
          "FileUploadController"
        ],
        "responses": {
          "200": {
            "description": "FileUpload PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "FileUpload.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<FileUpload>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FileUploadPartial"
              }
            }
          }
        },
        "operationId": "FileUploadController.updateAll"
      },
      "get": {
        "x-controller-name": "FileUploadController",
        "x-operation-name": "find",
        "tags": [
          "FileUploadController"
        ],
        "responses": {
          "200": {
            "description": "Array of FileUpload model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FileUploadWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FileUpload.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "FileUploadController.find"
      }
    },
    "/ping": {
      "get": {
        "x-controller-name": "PingController",
        "x-operation-name": "ping",
        "tags": [
          "PingController"
        ],
        "responses": {
          "200": {
            "description": "Ping Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PingResponse"
                }
              }
            }
          }
        },
        "operationId": "PingController.ping"
      }
    },
    "/upload-windows/count": {
      "get": {
        "x-controller-name": "UploadWindowController",
        "x-operation-name": "count",
        "tags": [
          "UploadWindowController"
        ],
        "responses": {
          "200": {
            "description": "UploadWindow model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "UploadWindow.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<UploadWindow>"
                }
              }
            }
          }
        ],
        "operationId": "UploadWindowController.count"
      }
    },
    "/upload-windows/{id}": {
      "put": {
        "x-controller-name": "UploadWindowController",
        "x-operation-name": "replaceById",
        "tags": [
          "UploadWindowController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "UploadWindow PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UploadWindow"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "UploadWindowController.replaceById"
      },
      "patch": {
        "x-controller-name": "UploadWindowController",
        "x-operation-name": "updateById",
        "tags": [
          "UploadWindowController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "UploadWindow PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UploadWindowPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "UploadWindowController.updateById"
      },
      "get": {
        "x-controller-name": "UploadWindowController",
        "x-operation-name": "findById",
        "tags": [
          "UploadWindowController"
        ],
        "responses": {
          "200": {
            "description": "UploadWindow model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UploadWindowWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UploadWindow.Filter"
                }
              }
            }
          }
        ],
        "operationId": "UploadWindowController.findById"
      },
      "delete": {
        "x-controller-name": "UploadWindowController",
        "x-operation-name": "deleteById",
        "tags": [
          "UploadWindowController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "UploadWindow DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "UploadWindowController.deleteById"
      }
    },
    "/upload-windows": {
      "post": {
        "x-controller-name": "UploadWindowController",
        "x-operation-name": "create",
        "tags": [
          "UploadWindowController"
        ],
        "responses": {
          "200": {
            "description": "UploadWindow model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UploadWindow"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewUploadWindow"
              }
            }
          }
        },
        "operationId": "UploadWindowController.create"
      },
      "patch": {
        "x-controller-name": "UploadWindowController",
        "x-operation-name": "updateAll",
        "tags": [
          "UploadWindowController"
        ],
        "responses": {
          "200": {
            "description": "UploadWindow PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "UploadWindow.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<UploadWindow>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UploadWindowPartial"
              }
            }
          }
        },
        "operationId": "UploadWindowController.updateAll"
      },
      "get": {
        "x-controller-name": "UploadWindowController",
        "x-operation-name": "find",
        "tags": [
          "UploadWindowController"
        ],
        "responses": {
          "200": {
            "description": "Array of UploadWindow model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UploadWindowWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UploadWindow.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "UploadWindowController.find"
      }
    }
  },
  "servers": [
    {
      "url": "https://fileserverapi.negecoder.com"
    }
  ],
  "components": {
    "schemas": {
      "UploadWindow": {
        "title": "UploadWindow",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "windowStart": {
            "type": "string",
            "format": "date-time"
          },
          "windowEnd": {
            "type": "string",
            "format": "date-time"
          },
          "hasUploaded": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "userId",
          "hasUploaded"
        ],
        "additionalProperties": false
      },
      "NewUploadWindow": {
        "title": "NewUploadWindow",
        "type": "object",
        "description": "(tsType: Omit<UploadWindow, 'id'>, schemaOptions: { title: 'NewUploadWindow', exclude: [ 'id' ] })",
        "properties": {
          "userId": {
            "type": "string"
          },
          "windowStart": {
            "type": "string",
            "format": "date-time"
          },
          "windowEnd": {
            "type": "string",
            "format": "date-time"
          },
          "hasUploaded": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "userId",
          "hasUploaded"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<UploadWindow, 'id'>"
      },
      "UploadWindowWithRelations": {
        "title": "UploadWindowWithRelations",
        "type": "object",
        "description": "(tsType: UploadWindowWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "windowStart": {
            "type": "string",
            "format": "date-time"
          },
          "windowEnd": {
            "type": "string",
            "format": "date-time"
          },
          "hasUploaded": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "userId",
          "hasUploaded"
        ],
        "additionalProperties": false,
        "x-typescript-type": "UploadWindowWithRelations"
      },
      "UploadWindowPartial": {
        "title": "UploadWindowPartial",
        "type": "object",
        "description": "(tsType: Partial<UploadWindow>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "windowStart": {
            "type": "string",
            "format": "date-time"
          },
          "windowEnd": {
            "type": "string",
            "format": "date-time"
          },
          "hasUploaded": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<UploadWindow>"
      },
      "FileUpload": {
        "title": "FileUpload",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "fileName": {
            "type": "string"
          },
          "filePath": {
            "type": "string"
          },
          "fileSize": {
            "type": "number"
          },
          "mimeType": {},
          "uploadedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "userId",
          "fileName",
          "filePath",
          "fileSize"
        ],
        "additionalProperties": false
      },
      "NewFileUpload": {
        "title": "NewFileUpload",
        "type": "object",
        "description": "(tsType: Omit<FileUpload, 'id'>, schemaOptions: { title: 'NewFileUpload', exclude: [ 'id' ] })",
        "properties": {
          "userId": {
            "type": "string"
          },
          "fileName": {
            "type": "string"
          },
          "filePath": {
            "type": "string"
          },
          "fileSize": {
            "type": "number"
          },
          "mimeType": {},
          "uploadedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "userId",
          "fileName",
          "filePath",
          "fileSize"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<FileUpload, 'id'>"
      },
      "FileUploadWithRelations": {
        "title": "FileUploadWithRelations",
        "type": "object",
        "description": "(tsType: FileUploadWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "fileName": {
            "type": "string"
          },
          "filePath": {
            "type": "string"
          },
          "fileSize": {
            "type": "number"
          },
          "mimeType": {},
          "uploadedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "userId",
          "fileName",
          "filePath",
          "fileSize"
        ],
        "additionalProperties": false,
        "x-typescript-type": "FileUploadWithRelations"
      },
      "FileUploadPartial": {
        "title": "FileUploadPartial",
        "type": "object",
        "description": "(tsType: Partial<FileUpload>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "fileName": {
            "type": "string"
          },
          "filePath": {
            "type": "string"
          },
          "fileSize": {
            "type": "number"
          },
          "mimeType": {},
          "uploadedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<FileUpload>"
      },
      "AuditLog": {
        "title": "AuditLog",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "action": {
            "type": "string"
          },
          "entity_type": {
            "type": "string"
          },
          "entityId": {
            "type": "string"
          },
          "metadata": {
            "type": "object"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "userId",
          "action",
          "entity_type",
          "entityId"
        ],
        "additionalProperties": false
      },
      "NewAuditLog": {
        "title": "NewAuditLog",
        "type": "object",
        "description": "(tsType: Omit<AuditLog, 'id'>, schemaOptions: { title: 'NewAuditLog', exclude: [ 'id' ] })",
        "properties": {
          "userId": {
            "type": "string"
          },
          "action": {
            "type": "string"
          },
          "entity_type": {
            "type": "string"
          },
          "entityId": {
            "type": "string"
          },
          "metadata": {
            "type": "object"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "userId",
          "action",
          "entity_type",
          "entityId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<AuditLog, 'id'>"
      },
      "AuditLogWithRelations": {
        "title": "AuditLogWithRelations",
        "type": "object",
        "description": "(tsType: AuditLogWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "action": {
            "type": "string"
          },
          "entity_type": {
            "type": "string"
          },
          "entityId": {
            "type": "string"
          },
          "metadata": {
            "type": "object"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "userId",
          "action",
          "entity_type",
          "entityId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "AuditLogWithRelations"
      },
      "AuditLogPartial": {
        "title": "AuditLogPartial",
        "type": "object",
        "description": "(tsType: Partial<AuditLog>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "action": {
            "type": "string"
          },
          "entity_type": {
            "type": "string"
          },
          "entityId": {
            "type": "string"
          },
          "metadata": {
            "type": "object"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<AuditLog>"
      },
      "AppUser": {
        "title": "AppUser",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "keycloakId": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "keycloakId",
          "email"
        ],
        "additionalProperties": false
      },
      "NewAppUser": {
        "title": "NewAppUser",
        "type": "object",
        "description": "(tsType: Omit<AppUser, 'id'>, schemaOptions: { title: 'NewAppUser', exclude: [ 'id' ] })",
        "properties": {
          "keycloakId": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "keycloakId",
          "email"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<AppUser, 'id'>"
      },
      "AppUserWithRelations": {
        "title": "AppUserWithRelations",
        "type": "object",
        "description": "(tsType: AppUserWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "keycloakId": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "keycloakId",
          "email"
        ],
        "additionalProperties": false,
        "x-typescript-type": "AppUserWithRelations"
      },
      "AppUserPartial": {
        "title": "AppUserPartial",
        "type": "object",
        "description": "(tsType: Partial<AppUser>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "keycloakId": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<AppUser>"
      },
      "loopback.Count": {
        "type": "object",
        "title": "loopback.Count",
        "x-typescript-type": "@loopback/repository#Count",
        "properties": {
          "count": {
            "type": "number"
          }
        }
      },
      "AppUser.Filter": {
        "type": "object",
        "title": "AppUser.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "keycloakId": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "keycloakId",
                    "email",
                    "createdAt",
                    "updatedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "AppUser.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<AppUser>"
      },
      "AppUser.Filter1": {
        "type": "object",
        "title": "AppUser.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "AppUser.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "keycloakId": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "keycloakId",
                    "email",
                    "createdAt",
                    "updatedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "AppUser.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<AppUser>"
      },
      "AuditLog.Filter": {
        "type": "object",
        "title": "AuditLog.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "userId": {
                    "type": "boolean"
                  },
                  "action": {
                    "type": "boolean"
                  },
                  "entity_type": {
                    "type": "boolean"
                  },
                  "entityId": {
                    "type": "boolean"
                  },
                  "metadata": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "userId",
                    "action",
                    "entity_type",
                    "entityId",
                    "metadata",
                    "createdAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "AuditLog.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<AuditLog>"
      },
      "AuditLog.Filter1": {
        "type": "object",
        "title": "AuditLog.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "AuditLog.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "userId": {
                    "type": "boolean"
                  },
                  "action": {
                    "type": "boolean"
                  },
                  "entity_type": {
                    "type": "boolean"
                  },
                  "entityId": {
                    "type": "boolean"
                  },
                  "metadata": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "userId",
                    "action",
                    "entity_type",
                    "entityId",
                    "metadata",
                    "createdAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "AuditLog.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<AuditLog>"
      },
      "FileUpload.Filter": {
        "type": "object",
        "title": "FileUpload.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "userId": {
                    "type": "boolean"
                  },
                  "fileName": {
                    "type": "boolean"
                  },
                  "filePath": {
                    "type": "boolean"
                  },
                  "fileSize": {
                    "type": "boolean"
                  },
                  "mimeType": {
                    "type": "boolean"
                  },
                  "uploadedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "userId",
                    "fileName",
                    "filePath",
                    "fileSize",
                    "mimeType",
                    "uploadedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "FileUpload.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<FileUpload>"
      },
      "FileUpload.Filter1": {
        "type": "object",
        "title": "FileUpload.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "FileUpload.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "userId": {
                    "type": "boolean"
                  },
                  "fileName": {
                    "type": "boolean"
                  },
                  "filePath": {
                    "type": "boolean"
                  },
                  "fileSize": {
                    "type": "boolean"
                  },
                  "mimeType": {
                    "type": "boolean"
                  },
                  "uploadedAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "userId",
                    "fileName",
                    "filePath",
                    "fileSize",
                    "mimeType",
                    "uploadedAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "FileUpload.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<FileUpload>"
      },
      "PingResponse": {
        "type": "object",
        "title": "PingResponse",
        "properties": {
          "greeting": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "headers": {
            "type": "object",
            "properties": {
              "Content-Type": {
                "type": "string"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "UploadWindow.Filter": {
        "type": "object",
        "title": "UploadWindow.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "userId": {
                    "type": "boolean"
                  },
                  "windowStart": {
                    "type": "boolean"
                  },
                  "windowEnd": {
                    "type": "boolean"
                  },
                  "hasUploaded": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "userId",
                    "windowStart",
                    "windowEnd",
                    "hasUploaded",
                    "createdAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "UploadWindow.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<UploadWindow>"
      },
      "UploadWindow.Filter1": {
        "type": "object",
        "title": "UploadWindow.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "UploadWindow.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "userId": {
                    "type": "boolean"
                  },
                  "windowStart": {
                    "type": "boolean"
                  },
                  "windowEnd": {
                    "type": "boolean"
                  },
                  "hasUploaded": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "userId",
                    "windowStart",
                    "windowEnd",
                    "hasUploaded",
                    "createdAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "UploadWindow.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<UploadWindow>"
      }
    }
  }
}