{
    "swagger": "2.0",
    "info": {
        "contact": {}
    },
    "paths": {
        "/activity-logs": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all ActivityLogs",
                "tags": [
                    "ActivityLogs"
                ],
                "summary": "Get all ActivityLogs",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "activityTypeId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "articleId",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "url",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "userId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create ActivityLogs",
                "tags": [
                    "ActivityLogs"
                ],
                "summary": "Create ActivityLogs",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.ActivityLogsCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/activity-logs/detail/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one ActivityLogs",
                "tags": [
                    "ActivityLogs"
                ],
                "summary": "Get one ActivityLogs",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "ActivityLogs ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/activity-logs/statistics": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for get activity stats ActivityLogs",
                "tags": [
                    "ActivityLogs"
                ],
                "summary": "Get activity stats ActivityLogs",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/activity-logs/{id}": {
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update ActivityLogs",
                "tags": [
                    "ActivityLogs"
                ],
                "summary": "update ActivityLogs",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.ActivityLogsUpdateRequest"
                        }
                    },
                    {
                        "type": "integer",
                        "description": "ActivityLogs ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete ActivityLogs",
                "tags": [
                    "ActivityLogs"
                ],
                "summary": "delete ActivityLogs",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "ActivityLogs ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/advertisement": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all Advertisement",
                "tags": [
                    "Advertisement"
                ],
                "summary": "Get all Advertisement",
                "parameters": [
                    {
                        "type": "string",
                        "name": "description",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "isPublish",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "placement",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "redirectLink",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "statusId",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "title",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create Advertisement",
                "tags": [
                    "Advertisement"
                ],
                "summary": "Create Advertisement",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.AdvertisementCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/advertisement/publish/{id}": {
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for Update Publish Advertisement",
                "tags": [
                    "Advertisement"
                ],
                "summary": "Update Publish Advertisement",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Advertisement ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "description": "Advertisement Publish Status",
                        "name": "isPublish",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/advertisement/upload/{id}": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for Upload File Advertisement",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Advertisement"
                ],
                "summary": "Upload Advertisement",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "file",
                        "description": "Upload file",
                        "name": "file",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Advertisement ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/advertisement/viewer/{filename}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for Viewer Advertisement",
                "tags": [
                    "Advertisement"
                ],
                "summary": "Viewer Advertisement",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Content File Name",
                        "name": "filename",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/advertisement/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one Advertisement",
                "tags": [
                    "Advertisement"
                ],
                "summary": "Get one Advertisement",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Advertisement ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update Advertisement",
                "tags": [
                    "Advertisement"
                ],
                "summary": "update Advertisement",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.AdvertisementUpdateRequest"
                        }
                    },
                    {
                        "type": "integer",
                        "description": "Advertisement ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete Advertisement",
                "tags": [
                    "Advertisement"
                ],
                "summary": "delete Advertisement",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Advertisement ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ai-chat-files": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all AiChatFiles",
                "tags": [
                    "AiChat Files"
                ],
                "summary": "Get all AiChatFiles",
                "parameters": [
                    {
                        "type": "string",
                        "name": "fileName",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "isPublish",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "messageId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "statusId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ai-chat-files/by-message/{messageId}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one AiChatFiles by messageId",
                "tags": [
                    "AiChat Files"
                ],
                "summary": "Get one AiChatFiles",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "AiChatFiles MessageId",
                        "name": "messageId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ai-chat-files/upload-status/{uploadId}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for GetUploadStatus AiChatFiles",
                "tags": [
                    "AiChat Files"
                ],
                "summary": "GetUploadStatus AiChatFiles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Upload ID of AiChatFiles",
                        "name": "uploadId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ai-chat-files/viewer/{filename}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for Viewer AiChatFiles",
                "tags": [
                    "AiChat Files"
                ],
                "summary": "Viewer AiChatFiles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "AiChat File Name",
                        "name": "filename",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ai-chat-files/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one AiChatFiles",
                "tags": [
                    "AiChat Files"
                ],
                "summary": "Get one AiChatFiles",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "AiChatFiles ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update AiChatFiles",
                "tags": [
                    "AiChat Files"
                ],
                "summary": "Update AiChatFiles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.AiChatFilesUpdateRequest"
                        }
                    },
                    {
                        "type": "integer",
                        "description": "AiChatFiles ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete AiChatFiles",
                "tags": [
                    "AiChat Files"
                ],
                "summary": "Delete AiChatFiles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "AiChatFiles ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ai-chat-files/{messageId}": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create AiChatFiles",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "AiChat Files"
                ],
                "summary": "Upload AiChatFiles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "file",
                        "description": "Upload file",
                        "name": "files",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Message Id",
                        "name": "messageId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ai-chat/logs": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all AI chat logs for authenticated user",
                "tags": [
                    "AI Chat"
                ],
                "summary": "Get user AI chat logs",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "string",
                        "name": "logType",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ai-chat/logs/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one AI chat log",
                "tags": [
                    "AI Chat"
                ],
                "summary": "Get one AI chat log",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Log ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ai-chat/sessions": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all AI chat sessions for authenticated user",
                "tags": [
                    "AI Chat"
                ],
                "summary": "Get user AI chat sessions",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "boolean",
                        "name": "isActive",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create AI chat session",
                "tags": [
                    "AI Chat"
                ],
                "summary": "Create AI chat session",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header"
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.AIChatSessionsCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ai-chat/sessions/messages": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for sending a message to an AI chat session",
                "tags": [
                    "AI Chat"
                ],
                "summary": "Send message to AI chat session",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.AIChatMessagesCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ai-chat/sessions/messages/{messageId}": {
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update AI chat message",
                "tags": [
                    "AI Chat"
                ],
                "summary": "Update AI chat message",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Message ID",
                        "name": "messageId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.AIChatMessagesUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete AI chat message",
                "tags": [
                    "AI Chat"
                ],
                "summary": "Delete AI chat message",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Message ID",
                        "name": "messageId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ai-chat/sessions/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one AI chat session",
                "tags": [
                    "AI Chat"
                ],
                "summary": "Get one AI chat session",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Session ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update AI chat session",
                "tags": [
                    "AI Chat"
                ],
                "summary": "Update AI chat session",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Session ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.AIChatSessionsUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete AI chat session",
                "tags": [
                    "AI Chat"
                ],
                "summary": "Delete AI chat session",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Session ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ai-chat/sessions/{id}/messages": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all messages in an AI chat session",
                "tags": [
                    "AI Chat"
                ],
                "summary": "Get AI chat session messages",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Session ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/article-approvals": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all ArticleApprovals",
                "tags": [
                    "ArticleApprovals"
                ],
                "summary": "Get all ArticleApprovals",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "approvalAtLevel",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "approvalBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "articleId",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "message",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "statusId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create ArticleApprovals",
                "tags": [
                    "ArticleApprovals"
                ],
                "summary": "Create ArticleApprovals",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.ArticleApprovalsCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/article-approvals/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one ArticleApprovals",
                "tags": [
                    "ArticleApprovals"
                ],
                "summary": "Get one ArticleApprovals",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "ArticleApprovals ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update ArticleApprovals",
                "tags": [
                    "ArticleApprovals"
                ],
                "summary": "update ArticleApprovals",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.ArticleApprovalsUpdateRequest"
                        }
                    },
                    {
                        "type": "integer",
                        "description": "ArticleApprovals ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete ArticleApprovals",
                "tags": [
                    "ArticleApprovals"
                ],
                "summary": "delete ArticleApprovals",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "ArticleApprovals ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/article-categories": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all ArticleCategories",
                "tags": [
                    "Article Categories"
                ],
                "summary": "Get all ArticleCategories",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "name": "UserLevelId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "UserLevelNumber",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "description",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "isPublish",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "parentId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "statusId",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "title",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create ArticleCategories",
                "tags": [
                    "Article Categories"
                ],
                "summary": "Create ArticleCategories",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.ArticleCategoriesCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/article-categories/old/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one ArticleCategories",
                "tags": [
                    "Article Categories"
                ],
                "summary": "Get one ArticleCategories",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "ArticleCategories Old ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/article-categories/slug/{slug}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one ArticleCategories",
                "tags": [
                    "Article Categories"
                ],
                "summary": "Get one ArticleCategories",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ArticleCategories Slug",
                        "name": "slug",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/article-categories/thumbnail/viewer/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for View Thumbnail of ArticleCategories",
                "tags": [
                    "Article Categories"
                ],
                "summary": "Viewer ArticleCategories",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ArticleCategories ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/article-categories/thumbnail/{id}": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for Upload ArticleCategories Thumbnail",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Article Categories"
                ],
                "summary": "Upload ArticleCategories Thumbnail",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "file",
                        "description": "Upload thumbnail",
                        "name": "files",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "ArticleCategories ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/article-categories/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one ArticleCategories",
                "tags": [
                    "Article Categories"
                ],
                "summary": "Get one ArticleCategories",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "ArticleCategories ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update ArticleCategories",
                "tags": [
                    "Article Categories"
                ],
                "summary": "update ArticleCategories",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.ArticleCategoriesUpdateRequest"
                        }
                    },
                    {
                        "type": "integer",
                        "description": "ArticleCategories ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete ArticleCategories",
                "tags": [
                    "Article Categories"
                ],
                "summary": "delete ArticleCategories",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "ArticleCategories ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/article-category-details": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all ArticleCategoryDetails",
                "tags": [
                    "Untags"
                ],
                "summary": "Get all ArticleCategoryDetails",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create ArticleCategoryDetails",
                "tags": [
                    "Untags"
                ],
                "summary": "Create ArticleCategoryDetails",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/article-category-details/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one ArticleCategoryDetails",
                "tags": [
                    "Untags"
                ],
                "summary": "Get one ArticleCategoryDetails",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "ArticleCategoryDetails ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update ArticleCategoryDetails",
                "tags": [
                    "Untags"
                ],
                "summary": "update ArticleCategoryDetails",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "ArticleCategoryDetails ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete ArticleCategoryDetails",
                "tags": [
                    "Untags"
                ],
                "summary": "delete ArticleCategoryDetails",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "ArticleCategoryDetails ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/article-comments": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all ArticleComments",
                "tags": [
                    "ArticleComments"
                ],
                "summary": "Get all ArticleComments",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "articleId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "commentFrom",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "isPublic",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "message",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "parentId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create ArticleComments",
                "tags": [
                    "ArticleComments"
                ],
                "summary": "Create ArticleComments",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.ArticleCommentsCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/article-comments/approval": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for Approval ArticleComments",
                "tags": [
                    "ArticleComments"
                ],
                "summary": "Approval ArticleComments",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.ArticleCommentsApprovalRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/article-comments/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one ArticleComments",
                "tags": [
                    "ArticleComments"
                ],
                "summary": "Get one ArticleComments",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "ArticleComments ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update ArticleComments",
                "tags": [
                    "ArticleComments"
                ],
                "summary": "update ArticleComments",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.ArticleCommentsUpdateRequest"
                        }
                    },
                    {
                        "type": "integer",
                        "description": "ArticleComments ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete ArticleComments",
                "tags": [
                    "ArticleComments"
                ],
                "summary": "delete ArticleComments",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "ArticleComments ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/article-files": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all ArticleFiles",
                "tags": [
                    "Article Files"
                ],
                "summary": "Get all ArticleFiles",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "articleId",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "fileName",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "isPublish",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "statusId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/article-files/upload-status/{uploadId}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for GetUploadStatus ArticleFiles",
                "tags": [
                    "Article Files"
                ],
                "summary": "GetUploadStatus ArticleFiles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Upload ID of ArticleFiles",
                        "name": "uploadId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/article-files/viewer/{filename}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for Viewer ArticleFiles",
                "tags": [
                    "Article Files"
                ],
                "summary": "Viewer ArticleFiles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Article File Name",
                        "name": "filename",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/article-files/{articleId}": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create ArticleFiles",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Article Files"
                ],
                "summary": "Upload ArticleFiles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "file",
                        "description": "Upload file",
                        "name": "files",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Article ID",
                        "name": "articleId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/article-files/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one ArticleFiles",
                "tags": [
                    "Article Files"
                ],
                "summary": "Get one ArticleFiles",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "ArticleFiles ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update ArticleFiles",
                "tags": [
                    "Article Files"
                ],
                "summary": "Update ArticleFiles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.ArticleFilesUpdateRequest"
                        }
                    },
                    {
                        "type": "integer",
                        "description": "ArticleFiles ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete ArticleFiles",
                "tags": [
                    "Article Files"
                ],
                "summary": "Delete ArticleFiles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "ArticleFiles ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/articles": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all Articles",
                "tags": [
                    "Articles"
                ],
                "summary": "Get all Articles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Client-Key",
                        "name": "X-Client-Key",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "category",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "categoryId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "createdById",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "description",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "isBanner",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "isDraft",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "isPublish",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "statusId",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "tags",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "title",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "typeId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create Articles",
                "tags": [
                    "Articles"
                ],
                "summary": "Create Articles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header"
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.ArticlesCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/articles/banner/{id}": {
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for Update Banner Articles",
                "tags": [
                    "Articles"
                ],
                "summary": "Update Banner Articles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Articles ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "description": "Articles Banner Status",
                        "name": "isBanner",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/articles/old-id/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one Articles",
                "tags": [
                    "Articles"
                ],
                "summary": "Get one Articles",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Articles Old ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/articles/publish-scheduling": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for Publish Schedule of Article",
                "tags": [
                    "Articles"
                ],
                "summary": "PublishScheduling Articles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "article id",
                        "name": "id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "publish date",
                        "name": "date",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/articles/statistic/monthly": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for ArticleMonthlyStats of Article",
                "tags": [
                    "Articles"
                ],
                "summary": "ArticleMonthlyStats Articles",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "year",
                        "name": "year",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/articles/statistic/summary": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for Summary Stats of Article",
                "tags": [
                    "Articles"
                ],
                "summary": "SummaryStats Articles",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/articles/statistic/user-levels": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for ArticlePerUserLevelStats of Article",
                "tags": [
                    "Articles"
                ],
                "summary": "ArticlePerUserLevelStats Articles",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "string",
                        "description": "start date",
                        "name": "startDate",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "start date",
                        "name": "endDate",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/articles/thumbnail/viewer/{thumbnailName}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for View Thumbnail of Article",
                "tags": [
                    "Articles"
                ],
                "summary": "Viewer Articles Thumbnail",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Articles Thumbnail Name",
                        "name": "thumbnailName",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/articles/thumbnail/{id}": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for Save Thumbnail of Articles",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Articles"
                ],
                "summary": "Save Thumbnail Articles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "file",
                        "description": "Upload thumbnail",
                        "name": "files",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Articles ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/articles/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one Articles",
                "tags": [
                    "Articles"
                ],
                "summary": "Get one Articles",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Articles ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update Articles",
                "tags": [
                    "Articles"
                ],
                "summary": "Update Articles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.ArticlesUpdateRequest"
                        }
                    },
                    {
                        "type": "integer",
                        "description": "Articles ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete Articles",
                "tags": [
                    "Articles"
                ],
                "summary": "Delete Articles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Articles ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/chat/messages": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all messages in a specific chat session",
                "tags": [
                    "Chat"
                ],
                "summary": "Get all chat messages",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Chat Session ID",
                        "name": "chatSessionId",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for creating a new chat message",
                "tags": [
                    "Chat"
                ],
                "summary": "Create chat message",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.ChatMessageCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/chat/messages/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one chat message",
                "tags": [
                    "Chat"
                ],
                "summary": "Get one chat message",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Chat Message ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for updating chat message (only sender can update)",
                "tags": [
                    "Chat"
                ],
                "summary": "Update chat message",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Chat Message ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.ChatMessageUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for deleting chat message (only sender can delete)",
                "tags": [
                    "Chat"
                ],
                "summary": "Delete chat message",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Chat Message ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/chat/schedule-files": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting files for a specific chat schedule",
                "tags": [
                    "Chat Schedule File"
                ],
                "summary": "Get chat schedule files",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Chat Schedule ID",
                        "name": "chatScheduleId",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "File type filter",
                        "name": "fileType",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Required file filter",
                        "name": "isRequired",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/chat/schedule-files/viewer/{filename}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for viewing chat schedule file",
                "tags": [
                    "Chat Schedule File"
                ],
                "summary": "View chat schedule file",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "string",
                        "description": "Chat Schedule File Name",
                        "name": "filename",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "file"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/chat/schedule-files/{chatScheduleId}": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for uploading file for chat schedule",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Chat Schedule File"
                ],
                "summary": "Upload chat schedule file",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "file",
                        "description": "Upload file",
                        "name": "files",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Chat Schedule ID",
                        "name": "chatScheduleId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/chat/schedule-files/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one chat schedule file",
                "tags": [
                    "Chat Schedule File"
                ],
                "summary": "Get one chat schedule file",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Chat Schedule File ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for updating chat schedule file",
                "tags": [
                    "Chat Schedule File"
                ],
                "summary": "Update chat schedule file",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Chat Schedule File ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.ChatScheduleFileUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for deleting chat schedule file",
                "tags": [
                    "Chat Schedule File"
                ],
                "summary": "Delete chat schedule file",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Chat Schedule File ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/chat/schedules": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all chat schedules for authenticated user",
                "tags": [
                    "Chat Schedule"
                ],
                "summary": "Get all chat schedules",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "string",
                        "description": "Chat Session ID",
                        "name": "chatSessionId",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Schedule status (scheduled, ongoing, completed, cancelled)",
                        "name": "status",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Created by user ID",
                        "name": "createdBy",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Date from (YYYY-MM-DD)",
                        "name": "dateFrom",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Date to (YYYY-MM-DD)",
                        "name": "dateTo",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for creating a new chat schedule",
                "tags": [
                    "Chat Schedule"
                ],
                "summary": "Create chat schedule",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.ChatScheduleCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/chat/schedules/status/{status}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting chat schedules by status",
                "tags": [
                    "Chat Schedule"
                ],
                "summary": "Get schedules by status",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "string",
                        "description": "Schedule status (scheduled, ongoing, completed, cancelled)",
                        "name": "status",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/chat/schedules/upcoming": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting upcoming chat schedules for authenticated user",
                "tags": [
                    "Chat Schedule"
                ],
                "summary": "Get upcoming schedules",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "default": 10,
                        "description": "Limit number of results",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/chat/schedules/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one chat schedule",
                "tags": [
                    "Chat Schedule"
                ],
                "summary": "Get one chat schedule",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Chat Schedule ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for updating chat schedule (only creator can update)",
                "tags": [
                    "Chat Schedule"
                ],
                "summary": "Update chat schedule",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Chat Schedule ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.ChatScheduleUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for deleting chat schedule (only creator can delete)",
                "tags": [
                    "Chat Schedule"
                ],
                "summary": "Delete chat schedule",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Chat Schedule ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/chat/schedules/{id}/reminder": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for sending reminder for a chat schedule (only creator can send)",
                "tags": [
                    "Chat Schedule"
                ],
                "summary": "Send schedule reminder",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Chat Schedule ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/chat/sessions": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all chat sessions for authenticated user",
                "tags": [
                    "Chat"
                ],
                "summary": "Get all chat sessions",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "string",
                        "description": "Chat type (personal or group)",
                        "name": "type",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for creating a new chat session (personal or group)",
                "tags": [
                    "Chat"
                ],
                "summary": "Create chat session",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.ChatSessionCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/chat/sessions/{chatSessionId}/participants": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for adding a participant to a chat session (only creator can add)",
                "tags": [
                    "Chat"
                ],
                "summary": "Add participant to chat session",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Chat Session ID",
                        "name": "chatSessionId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Participant User ID",
                        "name": "participantUserId",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for removing a participant from a chat session (creator can remove anyone, user can remove themselves)",
                "tags": [
                    "Chat"
                ],
                "summary": "Remove participant from chat session",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Chat Session ID",
                        "name": "chatSessionId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Participant User ID",
                        "name": "participantUserId",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/chat/sessions/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one chat session",
                "tags": [
                    "Chat"
                ],
                "summary": "Get one chat session",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Chat Session ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for updating chat session (only creator can update)",
                "tags": [
                    "Chat"
                ],
                "summary": "Update chat session",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Chat Session ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.ChatSessionUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for deleting chat session (only creator can delete)",
                "tags": [
                    "Chat"
                ],
                "summary": "Delete chat session",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Chat Session ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/cities": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all Cities",
                "tags": [
                    "Untags"
                ],
                "summary": "Get all Cities",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create Cities",
                "tags": [
                    "Untags"
                ],
                "summary": "Create Cities",
                "parameters": [
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.CitiesCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/cities/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one Cities",
                "tags": [
                    "Untags"
                ],
                "summary": "Get one Cities",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Cities ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update Cities",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Untags"
                ],
                "summary": "Update Cities",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Cities ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.CitiesUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete Cities",
                "tags": [
                    "Untags"
                ],
                "summary": "Delete Cities",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Cities ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/custom-static-pages": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all CustomStaticPages",
                "tags": [
                    "CustomStaticPages"
                ],
                "summary": "Get all CustomStaticPages",
                "parameters": [
                    {
                        "type": "string",
                        "name": "description",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "htmlBody",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "slug",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "title",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create CustomStaticPages",
                "tags": [
                    "CustomStaticPages"
                ],
                "summary": "Create CustomStaticPages",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.CustomStaticPagesCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/custom-static-pages/slug/{slug}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one CustomStaticPages",
                "tags": [
                    "CustomStaticPages"
                ],
                "summary": "Get one CustomStaticPages",
                "parameters": [
                    {
                        "type": "string",
                        "description": "CustomStaticPages Slug",
                        "name": "slug",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/custom-static-pages/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one CustomStaticPages",
                "tags": [
                    "CustomStaticPages"
                ],
                "summary": "Get one CustomStaticPages",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "CustomStaticPages ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update CustomStaticPages",
                "tags": [
                    "CustomStaticPages"
                ],
                "summary": "update CustomStaticPages",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.CustomStaticPagesUpdateRequest"
                        }
                    },
                    {
                        "type": "integer",
                        "description": "CustomStaticPages ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete CustomStaticPages",
                "tags": [
                    "CustomStaticPages"
                ],
                "summary": "delete CustomStaticPages",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "CustomStaticPages ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/districts": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all Districts",
                "tags": [
                    "Untags"
                ],
                "summary": "Get all Districts",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create Districts",
                "tags": [
                    "Untags"
                ],
                "summary": "Create Districts",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/districts/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one Districts",
                "tags": [
                    "Untags"
                ],
                "summary": "Get one Districts",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Districts ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update Districts",
                "tags": [
                    "Untags"
                ],
                "summary": "Update Districts",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Districts ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete Districts",
                "tags": [
                    "Untags"
                ],
                "summary": "Delete Districts",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Districts ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/ebook-ratings": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all Ebook Ratings",
                "tags": [
                    "Ebook Ratings"
                ],
                "summary": "Get all Ebook Ratings",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Client-Key",
                        "name": "X-Client-Key",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "ebookId",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "isVerified",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "rating",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "statusId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "userId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for creating ebook rating",
                "tags": [
                    "Ebook Ratings"
                ],
                "summary": "Create ebook rating",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.EbookRatingsCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ebook-ratings/ebook/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting ratings by ebook ID",
                "tags": [
                    "Ebook Ratings"
                ],
                "summary": "Get ratings by ebook ID",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Client-Key",
                        "name": "X-Client-Key",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Ebook ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ebook-ratings/stats/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting ebook rating statistics",
                "tags": [
                    "Ebook Ratings"
                ],
                "summary": "Get ebook rating statistics",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Client-Key",
                        "name": "X-Client-Key",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Ebook ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ebook-ratings/summary/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting ebook rating summary with stats and recent reviews",
                "tags": [
                    "Ebook Ratings"
                ],
                "summary": "Get ebook rating summary",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Client-Key",
                        "name": "X-Client-Key",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Ebook ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ebook-ratings/user": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting user ratings",
                "tags": [
                    "Ebook Ratings"
                ],
                "summary": "Get user ratings",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Client-Key",
                        "name": "X-Client-Key",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ebook-ratings/{id}": {
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for updating ebook rating",
                "tags": [
                    "Ebook Ratings"
                ],
                "summary": "Update ebook rating",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.EbookRatingsUpdateRequest"
                        }
                    },
                    {
                        "type": "integer",
                        "description": "Rating ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for deleting ebook rating",
                "tags": [
                    "Ebook Ratings"
                ],
                "summary": "Delete ebook rating",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Rating ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ebooks": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all Ebooks",
                "tags": [
                    "Ebooks"
                ],
                "summary": "Get all Ebooks",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Client-Key",
                        "name": "X-Client-Key",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "authorId",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "category",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "description",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "isPublished",
                        "in": "query"
                    },
                    {
                        "type": "number",
                        "name": "maxPrice",
                        "in": "query"
                    },
                    {
                        "type": "number",
                        "name": "minPrice",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "statusId",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "tags",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "title",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create Ebook",
                "tags": [
                    "Ebooks"
                ],
                "summary": "Create Ebook",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header"
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.EbooksCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ebooks/download/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for Download PDF of Ebook",
                "tags": [
                    "Ebooks"
                ],
                "summary": "Download PDF Ebook",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Ebook ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ebooks/pdf/{id}": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for Save PDF File of Ebook",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Ebooks"
                ],
                "summary": "Save PDF File Ebook",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "file",
                        "description": "Upload PDF file",
                        "name": "file",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Ebook ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ebooks/purchase/{ebookId}": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for purchasing ebook",
                "tags": [
                    "Ebook Purchase"
                ],
                "summary": "Purchase ebook",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Ebook ID",
                        "name": "ebookId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Payment Method",
                        "name": "paymentMethod",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ebooks/purchases": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting user purchases",
                "tags": [
                    "Ebook Purchase"
                ],
                "summary": "Get user purchases",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Client-Key",
                        "name": "X-Client-Key",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ebooks/purchases/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting purchase by ID",
                "tags": [
                    "Ebook Purchase"
                ],
                "summary": "Get purchase by ID",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Purchase ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ebooks/purchases/{id}/confirm": {
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for confirming payment",
                "tags": [
                    "Ebook Purchase"
                ],
                "summary": "Confirm payment",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Purchase ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ebooks/purchases/{id}/payment": {
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for updating payment status",
                "tags": [
                    "Ebook Purchase"
                ],
                "summary": "Update payment status",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Purchase ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/controller.PaymentStatusUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ebooks/slug/{slug}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one Ebook by slug",
                "tags": [
                    "Ebooks"
                ],
                "summary": "Get one Ebook by slug",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Ebook Slug",
                        "name": "slug",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ebooks/statistic/summary": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for Summary Stats of Ebook",
                "tags": [
                    "Ebooks"
                ],
                "summary": "SummaryStats Ebook",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ebooks/thumbnail/{id}": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for Save Thumbnail of Ebook",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Ebooks"
                ],
                "summary": "Save Thumbnail Ebook",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "file",
                        "description": "Upload thumbnail",
                        "name": "files",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Ebook ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ebooks/wishlist": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting user wishlist",
                "tags": [
                    "Ebook Wishlist"
                ],
                "summary": "Get user wishlist",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Client-Key",
                        "name": "X-Client-Key",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ebooks/wishlist/check/{ebookId}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for checking if ebook is in wishlist",
                "tags": [
                    "Ebook Wishlist"
                ],
                "summary": "Check if ebook is in wishlist",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Ebook ID",
                        "name": "ebookId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ebooks/wishlist/{ebookId}": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for adding ebook to wishlist",
                "tags": [
                    "Ebook Wishlist"
                ],
                "summary": "Add ebook to wishlist",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Ebook ID",
                        "name": "ebookId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for removing ebook from wishlist",
                "tags": [
                    "Ebook Wishlist"
                ],
                "summary": "Remove ebook from wishlist",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Ebook ID",
                        "name": "ebookId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/ebooks/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one Ebook",
                "tags": [
                    "Ebooks"
                ],
                "summary": "Get one Ebook",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Ebook ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update Ebook",
                "tags": [
                    "Ebooks"
                ],
                "summary": "Update Ebook",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.EbooksUpdateRequest"
                        }
                    },
                    {
                        "type": "integer",
                        "description": "Ebook ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete Ebook",
                "tags": [
                    "Ebooks"
                ],
                "summary": "Delete Ebook",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Ebook ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/education-history": {
            "get": {
                "description": "API for getting all Education History for specific user",
                "tags": [
                    "Education History"
                ],
                "summary": "Get all Education History",
                "parameters": [
                    {
                        "type": "string",
                        "name": "educationLevel",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "graduationYear",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "major",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "schoolName",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "userId",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "description": "API for create Education History",
                "tags": [
                    "Education History"
                ],
                "summary": "Create Education History",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "User ID",
                        "name": "userId",
                        "in": "query",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.EducationHistoryCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/education-history/{id}": {
            "get": {
                "description": "API for getting one Education History",
                "tags": [
                    "Education History"
                ],
                "summary": "Get one Education History",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Education History ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "User ID",
                        "name": "userId",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "description": "API for update Education History",
                "tags": [
                    "Education History"
                ],
                "summary": "Update Education History",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Education History ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "User ID",
                        "name": "userId",
                        "in": "query",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.EducationHistoryUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "description": "API for delete Education History",
                "tags": [
                    "Education History"
                ],
                "summary": "Delete Education History",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Education History ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "User ID",
                        "name": "userId",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/education-history/{id}/certificate": {
            "post": {
                "description": "API for upload certificate image for Education History",
                "tags": [
                    "Education History"
                ],
                "summary": "Upload Certificate for Education History",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Education History ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "User ID",
                        "name": "userId",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "file",
                        "description": "Certificate image file",
                        "name": "certificate",
                        "in": "formData",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/feedbacks": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all Feedbacks",
                "tags": [
                    "Feedbacks"
                ],
                "summary": "Get all Feedbacks",
                "parameters": [
                    {
                        "type": "string",
                        "name": "commentFromEmail",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "commentFromName",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "endDate",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "message",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "startDate",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "statusId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create Feedbacks",
                "tags": [
                    "Feedbacks"
                ],
                "summary": "Create Feedbacks",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.FeedbacksCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/feedbacks/statistic/monthly": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for FeedbackMonthlyStats of Feedbacks",
                "tags": [
                    "Feedbacks"
                ],
                "summary": "FeedbackMonthlyStats Feedbacks",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "year",
                        "name": "year",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/feedbacks/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one Feedbacks",
                "tags": [
                    "Feedbacks"
                ],
                "summary": "Get one Feedbacks",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Feedbacks ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update Feedbacks",
                "tags": [
                    "Feedbacks"
                ],
                "summary": "update Feedbacks",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.FeedbacksUpdateRequest"
                        }
                    },
                    {
                        "type": "integer",
                        "description": "Feedbacks ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete Feedbacks",
                "tags": [
                    "Feedbacks"
                ],
                "summary": "delete Feedbacks",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Feedbacks ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/magazine-files": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all MagazineFiles",
                "tags": [
                    "Magazine Files"
                ],
                "summary": "Get all MagazineFiles",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/magazine-files/viewer/{filename}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create MagazineFiles",
                "tags": [
                    "Magazine Files"
                ],
                "summary": "Create MagazineFiles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Magazine File Name",
                        "name": "filename",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/magazine-files/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one MagazineFiles",
                "tags": [
                    "Magazine Files"
                ],
                "summary": "Get one MagazineFiles",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "MagazineFiles ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update MagazineFiles",
                "tags": [
                    "Magazine Files"
                ],
                "summary": "Update MagazineFiles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "MagazineFiles ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete MagazineFiles",
                "tags": [
                    "Magazine Files"
                ],
                "summary": "delete MagazineFiles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "MagazineFiles ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/magazine-files/{magazineId}": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create MagazineFiles",
                "tags": [
                    "Magazine Files"
                ],
                "summary": "Create MagazineFiles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "file",
                        "description": "Upload file",
                        "name": "files",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Magazine file title",
                        "name": "title",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Magazine file description",
                        "name": "description",
                        "in": "formData",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Magazine ID",
                        "name": "magazineId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/magazines": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all Magazines",
                "tags": [
                    "Magazines"
                ],
                "summary": "Get all Magazines",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "createdById",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "description",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "name": "isPublish",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "pageUrl",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "statusId",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "thumbnailPath",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "thumbnailUrl",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "title",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create Magazines",
                "tags": [
                    "Magazines"
                ],
                "summary": "Create Magazines",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.MagazinesCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/magazines/thumbnail/viewer/{thumbnailName}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for View Thumbnail of Magazines",
                "tags": [
                    "Magazines"
                ],
                "summary": "Viewer Magazines Thumbnail",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Magazines Thumbnail Name",
                        "name": "thumbnailName",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/magazines/thumbnail/{id}": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for Save Thumbnail of Magazines",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Magazines"
                ],
                "summary": "Save Thumbnail Magazines",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Magazine ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "file",
                        "description": "Upload thumbnail",
                        "name": "files",
                        "in": "formData",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/magazines/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one Magazines",
                "tags": [
                    "Magazines"
                ],
                "summary": "Get one Magazines",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Magazines ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update Magazines",
                "tags": [
                    "Magazines"
                ],
                "summary": "Update Magazines",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Magazines ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.MagazinesUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete Magazines",
                "tags": [
                    "Magazines"
                ],
                "summary": "Delete Magazines",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Magazines ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/master-menus": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all MasterMenus",
                "tags": [
                    "MasterMenus"
                ],
                "summary": "Get all MasterMenus",
                "parameters": [
                    {
                        "type": "string",
                        "name": "description",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "moduleId",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "name",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "parentMenuId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "statusId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create MasterMenus",
                "tags": [
                    "MasterMenus"
                ],
                "summary": "Create MasterMenus",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.MasterMenusCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/master-menus/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one MasterMenus",
                "tags": [
                    "MasterMenus"
                ],
                "summary": "Get one MasterMenus",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "MasterMenus ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update MasterMenus",
                "tags": [
                    "MasterMenus"
                ],
                "summary": "Update MasterMenus",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "MasterMenus ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete MasterMenus",
                "tags": [
                    "MasterMenus"
                ],
                "summary": "Delete MasterMenus",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "MasterMenus ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/master-modules": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all MasterModules",
                "tags": [
                    "MasterModules"
                ],
                "summary": "Get all MasterModules",
                "parameters": [
                    {
                        "type": "string",
                        "name": "description",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "name",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "statusId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create MasterModules",
                "tags": [
                    "MasterModules"
                ],
                "summary": "Create MasterModules",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.MasterModulesCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/master-modules/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one MasterModules",
                "tags": [
                    "MasterModules"
                ],
                "summary": "Get one MasterModules",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "MasterModules ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update MasterModules",
                "tags": [
                    "MasterModules"
                ],
                "summary": "Update MasterModules",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "MasterModules ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.MasterModulesUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete MasterModules",
                "tags": [
                    "MasterModules"
                ],
                "summary": "Delete MasterModules",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "MasterModules ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/master-statuses": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all MasterStatuses",
                "tags": [
                    "Untags"
                ],
                "summary": "Get all MasterStatuses",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create MasterStatuses",
                "tags": [
                    "Untags"
                ],
                "summary": "Create MasterStatuses",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/master-statuses/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one MasterStatuses",
                "tags": [
                    "Untags"
                ],
                "summary": "Get one MasterStatuses",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "MasterStatuses ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update MasterStatuses",
                "tags": [
                    "Untags"
                ],
                "summary": "Update MasterStatuses",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "MasterStatuses ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete MasterStatuses",
                "tags": [
                    "Untags"
                ],
                "summary": "Delete MasterStatuses",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "MasterStatuses ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/provinces": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all Provinces",
                "tags": [
                    "Untags"
                ],
                "summary": "Get all Provinces",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create Provinces",
                "tags": [
                    "Untags"
                ],
                "summary": "Create Provinces",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/provinces/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one Provinces",
                "tags": [
                    "Untags"
                ],
                "summary": "Get one Provinces",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Provinces ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update Provinces",
                "tags": [
                    "Untags"
                ],
                "summary": "Update Provinces",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Provinces ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete Provinces",
                "tags": [
                    "Untags"
                ],
                "summary": "Delete Provinces",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Provinces ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/research-journals": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all Research Journals for authenticated user",
                "tags": [
                    "Research Journals"
                ],
                "summary": "Get all Research Journals",
                "parameters": [
                    {
                        "type": "string",
                        "name": "journalTitle",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "publishedYear",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "publisher",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create Research Journal",
                "tags": [
                    "Research Journals"
                ],
                "summary": "Create Research Journal",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.ResearchJournalsCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/research-journals/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one Research Journal",
                "tags": [
                    "Research Journals"
                ],
                "summary": "Get one Research Journal",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Research Journal ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update Research Journal",
                "tags": [
                    "Research Journals"
                ],
                "summary": "Update Research Journal",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Research Journal ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.ResearchJournalsUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete Research Journal",
                "tags": [
                    "Research Journals"
                ],
                "summary": "Delete Research Journal",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Research Journal ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/subscription": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all Subscription",
                "tags": [
                    "Subscription"
                ],
                "summary": "Get all Subscription",
                "parameters": [
                    {
                        "type": "string",
                        "name": "email",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create Subscription",
                "tags": [
                    "Subscription"
                ],
                "summary": "Create Subscription",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.SubscriptionCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/subscription/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one Subscription",
                "tags": [
                    "Subscription"
                ],
                "summary": "Get one Subscription",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Subscription ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update Subscription",
                "tags": [
                    "Subscription"
                ],
                "summary": "update Subscription",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.SubscriptionUpdateRequest"
                        }
                    },
                    {
                        "type": "integer",
                        "description": "Subscription ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete Subscription",
                "tags": [
                    "Subscription"
                ],
                "summary": "delete Subscription",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Subscription ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/user-levels": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all UserLevels",
                "tags": [
                    "UserLevels"
                ],
                "summary": "Get all UserLevels",
                "parameters": [
                    {
                        "type": "integer",
                        "name": "levelNumber",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "name",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "parentLevelId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "provinceId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create UserLevels",
                "tags": [
                    "UserLevels"
                ],
                "summary": "Create UserLevels",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.UserLevelsCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/user-levels/alias/{alias}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one UserLevels",
                "tags": [
                    "UserLevels"
                ],
                "summary": "Get one UserLevels",
                "parameters": [
                    {
                        "type": "string",
                        "description": "UserLevels Alias",
                        "name": "alias",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/user-levels/enable-approval": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for Enable Approval of Article",
                "tags": [
                    "UserLevels"
                ],
                "summary": "EnableApproval Articles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.UserLevelsApprovalRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/user-levels/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one UserLevels",
                "tags": [
                    "UserLevels"
                ],
                "summary": "Get one UserLevels",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "UserLevels ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update UserLevels",
                "tags": [
                    "UserLevels"
                ],
                "summary": "update UserLevels",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.UserLevelsUpdateRequest"
                        }
                    },
                    {
                        "type": "integer",
                        "description": "UserLevels ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete UserLevels",
                "tags": [
                    "UserLevels"
                ],
                "summary": "delete UserLevels",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "UserLevels ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/user-role-accesses": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all UserRoleAccesses",
                "tags": [
                    "UserRoleAccesses"
                ],
                "summary": "Get all UserRoleAccesses",
                "parameters": [
                    {
                        "type": "boolean",
                        "name": "isActive",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "menuId",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "userRoleId",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create UserRoleAccesses",
                "tags": [
                    "UserRoleAccesses"
                ],
                "summary": "Create UserRoleAccesses",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.UserRoleAccessesCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/user-role-accesses/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one UserRoleAccesses",
                "tags": [
                    "UserRoleAccesses"
                ],
                "summary": "Get one UserRoleAccesses",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "UserRoleAccesses ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update UserRoleAccesses",
                "tags": [
                    "UserRoleAccesses"
                ],
                "summary": "update UserRoleAccesses",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.UserRoleAccessesUpdateRequest"
                        }
                    },
                    {
                        "type": "integer",
                        "description": "UserRoleAccesses ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete UserRoleAccesses",
                "tags": [
                    "UserRoleAccesses"
                ],
                "summary": "delete UserRoleAccesses",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "UserRoleAccesses ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/user-role-level-details": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all UserRoleLevelDetails",
                "tags": [
                    "Task"
                ],
                "summary": "Get all UserRoleLevelDetails",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create UserRoleLevelDetails",
                "tags": [
                    "Task"
                ],
                "summary": "Create UserRoleLevelDetails",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/user-role-level-details/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one UserRoleLevelDetails",
                "tags": [
                    "Task"
                ],
                "summary": "Get one UserRoleLevelDetails",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "UserRoleLevelDetails ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update UserRoleLevelDetails",
                "tags": [
                    "Task"
                ],
                "summary": "update UserRoleLevelDetails",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "UserRoleLevelDetails ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete UserRoleLevelDetails",
                "tags": [
                    "Task"
                ],
                "summary": "delete UserRoleLevelDetails",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "UserRoleLevelDetails ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "422": {
                        "description": "Unprocessable Entity",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    }
                }
            }
        },
        "/user-roles": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all UserRoles",
                "tags": [
                    "UserRoles"
                ],
                "summary": "Get all UserRoles",
                "parameters": [
                    {
                        "type": "string",
                        "name": "code",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "description",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "name",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "statusId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "userLevelId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create UserRoles",
                "tags": [
                    "UserRoles"
                ],
                "summary": "Create UserRoles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.UserRolesCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/user-roles/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one UserRoles",
                "tags": [
                    "UserRoles"
                ],
                "summary": "Get one UserRoles",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "UserRoles ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update UserRoles",
                "tags": [
                    "UserRoles"
                ],
                "summary": "update UserRoles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.UserRolesUpdateRequest"
                        }
                    },
                    {
                        "type": "integer",
                        "description": "UserRoles ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete UserRoles",
                "tags": [
                    "UserRoles"
                ],
                "summary": "delete UserRoles",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "UserRoles ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/users": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting all Users",
                "tags": [
                    "Users"
                ],
                "summary": "Get all Users",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "string",
                        "name": "degree",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "email",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "fullname",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "genderType",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "identityGroup",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "identityGroupNumber",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "identityNumber",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "identityType",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "phoneNumber",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "statusId",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "userRoleId",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "username",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "workType",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for create Users",
                "tags": [
                    "Users"
                ],
                "summary": "Create Users",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.UsersCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/users/detail/{id}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one Users",
                "tags": [
                    "Users"
                ],
                "summary": "Get one Users",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Users ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/users/email-validation": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for Email Validation Users",
                "tags": [
                    "Users"
                ],
                "summary": "EmailValidation Users",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.UserEmailValidationRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/users/forgot-password": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for ForgotPassword Users",
                "tags": [
                    "Users"
                ],
                "summary": "ForgotPassword Users",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.UserForgotPassword"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/users/info": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for ShowUserInfo",
                "tags": [
                    "Users"
                ],
                "summary": "ShowInfo Users",
                "parameters": [
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/users/login": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for Login Users",
                "tags": [
                    "Users"
                ],
                "summary": "Login Users",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.UserLogin"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/users/otp-request": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for OtpRequest Users",
                "tags": [
                    "Users"
                ],
                "summary": "OtpRequest Users",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.UserOtpRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/users/otp-validation": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for OtpValidation Users",
                "tags": [
                    "Users"
                ],
                "summary": "OtpValidation Users",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.UserOtpValidation"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/users/pareto-login": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for ParetoLogin Users",
                "tags": [
                    "Users"
                ],
                "summary": "ParetoLogin Users",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.UserLogin"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/users/reset-password": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for ResetPassword Users",
                "tags": [
                    "Users"
                ],
                "summary": "ResetPassword Users",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.UserResetPassword"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/users/save-password": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for SavePassword Users",
                "tags": [
                    "Users"
                ],
                "summary": "SavePassword Users",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.UserSavePassword"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/users/setup-email": {
            "post": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for Setup Email Users",
                "tags": [
                    "Users"
                ],
                "summary": "SetupEmail Users",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.UserEmailValidationRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/users/username/{username}": {
            "get": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for getting one Users",
                "tags": [
                    "Users"
                ],
                "summary": "Get one Users",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Username",
                        "name": "username",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/users/{id}": {
            "put": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for update Users",
                "tags": [
                    "Users"
                ],
                "summary": "update Users",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "string",
                        "default": "Bearer \u003cAdd access token here\u003e",
                        "description": "Insert your access token",
                        "name": "Authorization",
                        "in": "header"
                    },
                    {
                        "type": "integer",
                        "description": "Users ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.UsersUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "Bearer": []
                    }
                ],
                "description": "API for delete Users",
                "tags": [
                    "Users"
                ],
                "summary": "delete Users",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Users ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/response.UnauthorizedError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/work-history": {
            "get": {
                "description": "API for getting all Work History for specific user",
                "tags": [
                    "Work History"
                ],
                "summary": "Get all Work History",
                "parameters": [
                    {
                        "type": "string",
                        "name": "companyName",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "filter for current job (EndDate is null)",
                        "name": "isCurrent",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "jobTitle",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "userId",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "count",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "nextPage",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "page",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "previousPage",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sort",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "name": "sortBy",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "name": "totalPage",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "post": {
                "description": "API for create Work History",
                "tags": [
                    "Work History"
                ],
                "summary": "Create Work History",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "User ID",
                        "name": "userId",
                        "in": "query",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.WorkHistoryCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        },
        "/work-history/{id}": {
            "get": {
                "description": "API for getting one Work History",
                "tags": [
                    "Work History"
                ],
                "summary": "Get one Work History",
                "parameters": [
                    {
                        "type": "integer",
                        "description": "Work History ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "User ID",
                        "name": "userId",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "put": {
                "description": "API for update Work History",
                "tags": [
                    "Work History"
                ],
                "summary": "Update Work History",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Work History ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "User ID",
                        "name": "userId",
                        "in": "query",
                        "required": true
                    },
                    {
                        "description": "Required payload",
                        "name": "payload",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/request.WorkHistoryUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            },
            "delete": {
                "description": "API for delete Work History",
                "tags": [
                    "Work History"
                ],
                "summary": "Delete Work History",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Insert the X-Csrf-Token",
                        "name": "X-Csrf-Token",
                        "in": "header",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "Work History ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "description": "User ID",
                        "name": "userId",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/response.Response"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/response.BadRequestError"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/response.InternalServerError"
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "controller.PaymentStatusUpdateRequest": {
            "type": "object",
            "required": [
                "paymentStatus"
            ],
            "properties": {
                "paymentProof": {
                    "type": "string"
                },
                "paymentStatus": {
                    "type": "string"
                },
                "transactionId": {
                    "type": "string"
                }
            }
        },
        "paginator.Pagination": {
            "type": "object",
            "properties": {
                "count": {
                    "type": "integer"
                },
                "limit": {
                    "type": "integer"
                },
                "nextPage": {
                    "type": "integer"
                },
                "page": {
                    "type": "integer"
                },
                "previousPage": {
                    "type": "integer"
                },
                "sort": {
                    "type": "string"
                },
                "sortBy": {
                    "type": "string"
                },
                "totalPage": {
                    "type": "integer"
                }
            }
        },
        "request.AIChatMessagesCreateRequest": {
            "type": "object",
            "required": [
                "content",
                "messageType",
                "sessionId"
            ],
            "properties": {
                "content": {
                    "type": "string",
                    "minLength": 1
                },
                "messageType": {
                    "type": "string",
                    "enum": [
                        "user",
                        "assistant"
                    ]
                },
                "sessionId": {
                    "type": "string"
                }
            }
        },
        "request.AIChatMessagesUpdateRequest": {
            "type": "object",
            "required": [
                "content"
            ],
            "properties": {
                "content": {
                    "type": "string",
                    "minLength": 1
                }
            }
        },
        "request.AIChatSessionsCreateRequest": {
            "type": "object",
            "required": [
                "agentId",
                "sessionId",
                "title"
            ],
            "properties": {
                "agentId": {
                    "type": "string"
                },
                "sessionId": {
                    "type": "string"
                },
                "title": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 2
                }
            }
        },
        "request.AIChatSessionsUpdateRequest": {
            "type": "object",
            "required": [
                "title"
            ],
            "properties": {
                "isActive": {
                    "type": "boolean"
                },
                "title": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 2
                }
            }
        },
        "request.ActivityLogsCreateRequest": {
            "type": "object",
            "required": [
                "activityTypeId",
                "url"
            ],
            "properties": {
                "activityTypeId": {
                    "type": "integer"
                },
                "articleId": {
                    "type": "integer"
                },
                "url": {
                    "type": "string"
                },
                "userId": {
                    "type": "integer"
                },
                "visitorIp": {
                    "type": "string"
                }
            }
        },
        "request.ActivityLogsUpdateRequest": {
            "type": "object",
            "required": [
                "activityTypeId",
                "id",
                "url"
            ],
            "properties": {
                "activityTypeId": {
                    "type": "integer"
                },
                "articleId": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "url": {
                    "type": "string"
                },
                "userId": {
                    "type": "integer"
                }
            }
        },
        "request.AdvertisementCreateRequest": {
            "type": "object",
            "required": [
                "description",
                "placement",
                "redirectLink",
                "title"
            ],
            "properties": {
                "description": {
                    "type": "string"
                },
                "placement": {
                    "type": "string"
                },
                "redirectLink": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "request.AdvertisementUpdateRequest": {
            "type": "object",
            "required": [
                "description",
                "id",
                "placement",
                "redirectLink",
                "title"
            ],
            "properties": {
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "placement": {
                    "type": "string"
                },
                "redirectLink": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "request.AiChatFilesUpdateRequest": {
            "type": "object",
            "required": [
                "id",
                "isPublish",
                "messageId",
                "publishedAt",
                "statusId"
            ],
            "properties": {
                "fileAlt": {
                    "type": "string"
                },
                "fileName": {
                    "type": "string"
                },
                "filePath": {
                    "type": "string"
                },
                "fileThumbnail": {
                    "type": "string"
                },
                "fileUrl": {
                    "type": "string"
                },
                "heightPixel": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "isPublish": {
                    "type": "boolean"
                },
                "messageId": {
                    "type": "integer"
                },
                "publishedAt": {
                    "type": "string"
                },
                "size": {
                    "type": "string"
                },
                "statusId": {
                    "type": "integer"
                },
                "widthPixel": {
                    "type": "string"
                }
            }
        },
        "request.ArticleApprovalsCreateRequest": {
            "type": "object",
            "required": [
                "articleId",
                "message",
                "statusId"
            ],
            "properties": {
                "articleId": {
                    "type": "integer"
                },
                "message": {
                    "type": "string"
                },
                "statusId": {
                    "type": "integer"
                }
            }
        },
        "request.ArticleApprovalsUpdateRequest": {
            "type": "object",
            "required": [
                "articleId",
                "id",
                "message",
                "statusId"
            ],
            "properties": {
                "articleId": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "message": {
                    "type": "string"
                },
                "statusId": {
                    "type": "integer"
                }
            }
        },
        "request.ArticleCategoriesCreateRequest": {
            "type": "object",
            "required": [
                "description",
                "statusId",
                "title"
            ],
            "properties": {
                "createdById": {
                    "type": "integer"
                },
                "description": {
                    "type": "string"
                },
                "oldCategoryId": {
                    "type": "integer"
                },
                "parentId": {
                    "type": "integer"
                },
                "slug": {
                    "type": "string"
                },
                "statusId": {
                    "type": "integer"
                },
                "tags": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "request.ArticleCategoriesUpdateRequest": {
            "type": "object",
            "required": [
                "description",
                "id",
                "statusId",
                "title"
            ],
            "properties": {
                "createdById": {
                    "type": "integer"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "isPublish": {
                    "type": "boolean"
                },
                "parentId": {
                    "type": "integer"
                },
                "publishedAt": {
                    "type": "string"
                },
                "slug": {
                    "type": "string"
                },
                "statusId": {
                    "type": "integer"
                },
                "tags": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "request.ArticleCommentsApprovalRequest": {
            "type": "object",
            "required": [
                "id",
                "statusId"
            ],
            "properties": {
                "id": {
                    "type": "integer"
                },
                "statusId": {
                    "type": "integer"
                }
            }
        },
        "request.ArticleCommentsCreateRequest": {
            "type": "object",
            "required": [
                "articleId",
                "message"
            ],
            "properties": {
                "articleId": {
                    "type": "integer"
                },
                "isPublic": {
                    "type": "boolean"
                },
                "message": {
                    "type": "string"
                },
                "parentId": {
                    "type": "integer"
                }
            }
        },
        "request.ArticleCommentsUpdateRequest": {
            "type": "object",
            "required": [
                "articleId",
                "id",
                "message"
            ],
            "properties": {
                "articleId": {
                    "type": "integer"
                },
                "id": {
                    "type": "integer"
                },
                "isPublic": {
                    "type": "boolean"
                },
                "message": {
                    "type": "string"
                },
                "parentId": {
                    "type": "integer"
                }
            }
        },
        "request.ArticleFilesUpdateRequest": {
            "type": "object",
            "required": [
                "articleId",
                "id",
                "isPublish",
                "publishedAt",
                "statusId"
            ],
            "properties": {
                "articleId": {
                    "type": "integer"
                },
                "fileAlt": {
                    "type": "string"
                },
                "fileName": {
                    "type": "string"
                },
                "filePath": {
                    "type": "string"
                },
                "fileThumbnail": {
                    "type": "string"
                },
                "fileUrl": {
                    "type": "string"
                },
                "heightPixel": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "isPublish": {
                    "type": "boolean"
                },
                "publishedAt": {
                    "type": "string"
                },
                "size": {
                    "type": "string"
                },
                "statusId": {
                    "type": "integer"
                },
                "widthPixel": {
                    "type": "string"
                }
            }
        },
        "request.ArticlesCreateRequest": {
            "type": "object",
            "required": [
                "categoryIds",
                "description",
                "htmlDescription",
                "slug",
                "tags",
                "title",
                "typeId"
            ],
            "properties": {
                "aiArticleId": {
                    "type": "integer"
                },
                "categoryIds": {
                    "type": "string"
                },
                "createdAt": {
                    "type": "string"
                },
                "createdById": {
                    "type": "integer"
                },
                "description": {
                    "type": "string"
                },
                "htmlDescription": {
                    "type": "string"
                },
                "isDraft": {
                    "type": "boolean"
                },
                "isPublish": {
                    "type": "boolean"
                },
                "oldId": {
                    "type": "integer"
                },
                "slug": {
                    "type": "string"
                },
                "tags": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "typeId": {
                    "type": "integer"
                }
            }
        },
        "request.ArticlesUpdateRequest": {
            "type": "object",
            "required": [
                "categoryIds",
                "description",
                "htmlDescription",
                "slug",
                "tags",
                "title",
                "typeId"
            ],
            "properties": {
                "aiArticleId": {
                    "type": "integer"
                },
                "categoryIds": {
                    "type": "string"
                },
                "createdAt": {
                    "type": "string"
                },
                "createdById": {
                    "type": "integer"
                },
                "description": {
                    "type": "string"
                },
                "htmlDescription": {
                    "type": "string"
                },
                "isDraft": {
                    "type": "boolean"
                },
                "isPublish": {
                    "type": "boolean"
                },
                "slug": {
                    "type": "string"
                },
                "statusId": {
                    "type": "integer"
                },
                "tags": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "typeId": {
                    "type": "integer"
                }
            }
        },
        "request.ChatMessageCreateRequest": {
            "type": "object",
            "required": [
                "chatSessionId",
                "message"
            ],
            "properties": {
                "chatSessionId": {
                    "type": "integer"
                },
                "message": {
                    "type": "string",
                    "maxLength": 1000,
                    "minLength": 1
                },
                "messageType": {
                    "type": "string",
                    "enum": [
                        "text",
                        "image",
                        "file",
                        "user",
                        "assistant"
                    ]
                }
            }
        },
        "request.ChatMessageUpdateRequest": {
            "type": "object",
            "required": [
                "message"
            ],
            "properties": {
                "message": {
                    "type": "string",
                    "maxLength": 1000,
                    "minLength": 1
                }
            }
        },
        "request.ChatScheduleCreateRequest": {
            "type": "object",
            "required": [
                "scheduled_at",
                "title"
            ],
            "properties": {
                "chat_session_id": {
                    "description": "Optional - if empty, will create new chat session",
                    "type": "integer"
                },
                "description": {
                    "type": "string",
                    "maxLength": 1000
                },
                "duration": {
                    "description": "15 minutes to 8 hours",
                    "type": "integer",
                    "maximum": 480,
                    "minimum": 15
                },
                "file_ids": {
                    "description": "Array of file IDs to attach to schedule",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "scheduled_at": {
                    "type": "string"
                },
                "summary": {
                    "type": "string",
                    "maxLength": 2000
                },
                "title": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 3
                }
            }
        },
        "request.ChatScheduleFileUpdateRequest": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string",
                    "maxLength": 500
                },
                "file_name": {
                    "type": "string",
                    "maxLength": 255
                },
                "file_path": {
                    "type": "string",
                    "maxLength": 500
                },
                "file_size": {
                    "type": "integer",
                    "minimum": 0
                },
                "file_type": {
                    "type": "string",
                    "enum": [
                        "article",
                        "journal",
                        "video",
                        "audio",
                        "document",
                        "other"
                    ]
                },
                "is_required": {
                    "type": "boolean"
                },
                "mime_type": {
                    "type": "string",
                    "maxLength": 100
                },
                "original_name": {
                    "type": "string",
                    "maxLength": 255
                }
            }
        },
        "request.ChatScheduleUpdateRequest": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string",
                    "maxLength": 1000
                },
                "duration": {
                    "type": "integer",
                    "maximum": 480,
                    "minimum": 15
                },
                "file_ids": {
                    "description": "Array of file IDs to attach to schedule",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "scheduled_at": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "scheduled",
                        "ongoing",
                        "completed",
                        "cancelled"
                    ]
                },
                "summary": {
                    "type": "string",
                    "maxLength": 2000
                },
                "title": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 3
                }
            }
        },
        "request.ChatSessionCreateRequest": {
            "type": "object",
            "required": [
                "type",
                "userIds"
            ],
            "properties": {
                "name": {
                    "description": "null for personal chat",
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 2
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "personal",
                        "group"
                    ]
                },
                "userIds": {
                    "description": "participants (excluding creator)",
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "request.ChatSessionUpdateRequest": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 2
                }
            }
        },
        "request.CitiesCreateRequest": {
            "type": "object",
            "required": [
                "cityName",
                "provId"
            ],
            "properties": {
                "cityName": {
                    "type": "string"
                },
                "provId": {
                    "type": "integer"
                }
            }
        },
        "request.CitiesUpdateRequest": {
            "type": "object",
            "required": [
                "cityName",
                "id",
                "provId"
            ],
            "properties": {
                "cityName": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "provId": {
                    "type": "integer"
                }
            }
        },
        "request.CustomStaticPagesCreateRequest": {
            "type": "object",
            "required": [
                "htmlBody",
                "slug",
                "title"
            ],
            "properties": {
                "description": {
                    "type": "string"
                },
                "htmlBody": {
                    "type": "string"
                },
                "slug": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "request.CustomStaticPagesUpdateRequest": {
            "type": "object",
            "required": [
                "htmlBody",
                "id",
                "slug",
                "title"
            ],
            "properties": {
                "description": {
                    "type": "string"
                },
                "htmlBody": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "slug": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "updatedAt": {
                    "type": "string"
                }
            }
        },
        "request.EbookRatingsCreateRequest": {
            "type": "object",
            "required": [
                "ebookId",
                "purchaseId",
                "rating"
            ],
            "properties": {
                "ebookId": {
                    "type": "integer"
                },
                "isAnonymous": {
                    "type": "boolean"
                },
                "purchaseId": {
                    "type": "integer"
                },
                "rating": {
                    "type": "integer",
                    "maximum": 5,
                    "minimum": 1
                },
                "review": {
                    "type": "string"
                }
            }
        },
        "request.EbookRatingsUpdateRequest": {
            "type": "object",
            "required": [
                "rating"
            ],
            "properties": {
                "isAnonymous": {
                    "type": "boolean"
                },
                "rating": {
                    "type": "integer",
                    "maximum": 5,
                    "minimum": 1
                },
                "review": {
                    "type": "string"
                }
            }
        },
        "request.EbooksCreateRequest": {
            "type": "object",
            "required": [
                "description",
                "price",
                "slug",
                "title"
            ],
            "properties": {
                "category": {
                    "type": "string"
                },
                "createdAt": {
                    "type": "string"
                },
                "createdById": {
                    "type": "integer"
                },
                "description": {
                    "type": "string"
                },
                "isPublished": {
                    "type": "boolean"
                },
                "isbn": {
                    "type": "string"
                },
                "language": {
                    "type": "string"
                },
                "pageCount": {
                    "type": "integer"
                },
                "price": {
                    "type": "number",
                    "minimum": 0
                },
                "publishedYear": {
                    "type": "integer"
                },
                "publisher": {
                    "type": "string"
                },
                "slug": {
                    "type": "string"
                },
                "tags": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "request.EbooksUpdateRequest": {
            "type": "object",
            "required": [
                "description",
                "price",
                "slug",
                "title"
            ],
            "properties": {
                "category": {
                    "type": "string"
                },
                "createdAt": {
                    "type": "string"
                },
                "createdById": {
                    "type": "integer"
                },
                "description": {
                    "type": "string"
                },
                "isPublished": {
                    "type": "boolean"
                },
                "isbn": {
                    "type": "string"
                },
                "language": {
                    "type": "string"
                },
                "pageCount": {
                    "type": "integer"
                },
                "price": {
                    "type": "number",
                    "minimum": 0
                },
                "publishedYear": {
                    "type": "integer"
                },
                "publisher": {
                    "type": "string"
                },
                "slug": {
                    "type": "string"
                },
                "statusId": {
                    "type": "integer"
                },
                "tags": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "request.EducationHistoryCreateRequest": {
            "type": "object",
            "required": [
                "educationLevel",
                "graduationYear",
                "major",
                "schoolName"
            ],
            "properties": {
                "certificateImage": {
                    "type": "string"
                },
                "educationLevel": {
                    "type": "string",
                    "maxLength": 100,
                    "minLength": 2
                },
                "graduationYear": {
                    "type": "integer",
                    "maximum": 2030,
                    "minimum": 1950
                },
                "major": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 2
                },
                "schoolName": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 2
                }
            }
        },
        "request.EducationHistoryUpdateRequest": {
            "type": "object",
            "required": [
                "educationLevel",
                "graduationYear",
                "major",
                "schoolName"
            ],
            "properties": {
                "certificateImage": {
                    "type": "string"
                },
                "educationLevel": {
                    "type": "string",
                    "maxLength": 100,
                    "minLength": 2
                },
                "graduationYear": {
                    "type": "integer",
                    "maximum": 2030,
                    "minimum": 1950
                },
                "major": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 2
                },
                "schoolName": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 2
                }
            }
        },
        "request.FeedbacksCreateRequest": {
            "type": "object",
            "required": [
                "commentFromEmail",
                "commentFromName",
                "message"
            ],
            "properties": {
                "commentFromEmail": {
                    "type": "string"
                },
                "commentFromName": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "request.FeedbacksUpdateRequest": {
            "type": "object",
            "required": [
                "commentFromEmail",
                "commentFromName",
                "id",
                "message"
            ],
            "properties": {
                "commentFromEmail": {
                    "type": "string"
                },
                "commentFromName": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "request.MagazinesCreateRequest": {
            "type": "object",
            "required": [
                "description",
                "statusId",
                "title"
            ],
            "properties": {
                "createdById": {
                    "type": "integer"
                },
                "description": {
                    "type": "string"
                },
                "isPublish": {
                    "type": "boolean"
                },
                "pageUrl": {
                    "type": "string"
                },
                "publishedAt": {
                    "type": "string"
                },
                "statusId": {
                    "type": "integer"
                },
                "thumbnailPath": {
                    "type": "string"
                },
                "thumbnailUrl": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "request.MagazinesUpdateRequest": {
            "type": "object",
            "required": [
                "description",
                "id",
                "statusId",
                "title"
            ],
            "properties": {
                "createdById": {
                    "type": "integer"
                },
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "isPublish": {
                    "type": "boolean"
                },
                "pageUrl": {
                    "type": "string"
                },
                "publishedAt": {
                    "type": "string"
                },
                "statusId": {
                    "type": "integer"
                },
                "thumbnailPath": {
                    "type": "string"
                },
                "thumbnailUrl": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "request.MasterMenusCreateRequest": {
            "type": "object",
            "required": [
                "description",
                "group",
                "moduleId",
                "name",
                "statusId"
            ],
            "properties": {
                "description": {
                    "type": "string"
                },
                "group": {
                    "type": "string"
                },
                "icon": {
                    "type": "string"
                },
                "moduleId": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "parentMenuId": {
                    "type": "integer"
                },
                "statusId": {
                    "type": "integer"
                }
            }
        },
        "request.MasterModulesCreateRequest": {
            "type": "object",
            "required": [
                "description",
                "name",
                "pathUrl",
                "statusId"
            ],
            "properties": {
                "description": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "pathUrl": {
                    "type": "string"
                },
                "statusId": {
                    "type": "integer"
                }
            }
        },
        "request.MasterModulesUpdateRequest": {
            "type": "object",
            "required": [
                "description",
                "id",
                "name",
                "pathUrl",
                "statusId"
            ],
            "properties": {
                "description": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "pathUrl": {
                    "type": "string"
                },
                "statusId": {
                    "type": "integer"
                }
            }
        },
        "request.ResearchJournalsCreateRequest": {
            "type": "object",
            "required": [
                "journalTitle",
                "journalUrl",
                "publisher"
            ],
            "properties": {
                "journalTitle": {
                    "type": "string",
                    "maxLength": 500,
                    "minLength": 2
                },
                "journalUrl": {
                    "type": "string"
                },
                "publishedDate": {
                    "type": "string"
                },
                "publisher": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 2
                }
            }
        },
        "request.ResearchJournalsUpdateRequest": {
            "type": "object",
            "required": [
                "journalTitle",
                "journalUrl",
                "publisher"
            ],
            "properties": {
                "journalTitle": {
                    "type": "string",
                    "maxLength": 500,
                    "minLength": 2
                },
                "journalUrl": {
                    "type": "string"
                },
                "publishedDate": {
                    "type": "string"
                },
                "publisher": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 2
                }
            }
        },
        "request.SubscriptionCreateRequest": {
            "type": "object",
            "required": [
                "email"
            ],
            "properties": {
                "email": {
                    "type": "string"
                }
            }
        },
        "request.SubscriptionUpdateRequest": {
            "type": "object",
            "required": [
                "email",
                "id"
            ],
            "properties": {
                "email": {
                    "type": "string"
                },
                "id": {
                    "type": "integer"
                }
            }
        },
        "request.UserEmailValidationRequest": {
            "type": "object",
            "properties": {
                "newEmail": {
                    "type": "string"
                },
                "oldEmail": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                },
                "username": {
                    "type": "string"
                }
            }
        },
        "request.UserForgotPassword": {
            "type": "object",
            "properties": {
                "username": {
                    "type": "string"
                }
            }
        },
        "request.UserLevelsApprovalRequest": {
            "type": "object",
            "required": [
                "ids",
                "isApprovalActive"
            ],
            "properties": {
                "ids": {
                    "type": "string"
                },
                "isApprovalActive": {
                    "type": "boolean"
                }
            }
        },
        "request.UserLevelsCreateRequest": {
            "type": "object",
            "required": [
                "aliasName",
                "levelNumber",
                "name"
            ],
            "properties": {
                "aliasName": {
                    "type": "string"
                },
                "group": {
                    "type": "string"
                },
                "isActive": {
                    "type": "boolean"
                },
                "isApprovalActive": {
                    "type": "boolean"
                },
                "levelNumber": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "parentLevelId": {
                    "type": "integer"
                },
                "provinceId": {
                    "type": "integer"
                }
            }
        },
        "request.UserLevelsUpdateRequest": {
            "type": "object",
            "required": [
                "aliasName",
                "levelNumber",
                "name"
            ],
            "properties": {
                "aliasName": {
                    "type": "string"
                },
                "group": {
                    "type": "string"
                },
                "isApprovalActive": {
                    "type": "boolean"
                },
                "levelNumber": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "parentLevelId": {
                    "type": "integer"
                },
                "provinceId": {
                    "type": "integer"
                }
            }
        },
        "request.UserLogin": {
            "type": "object",
            "properties": {
                "password": {
                    "type": "string"
                },
                "refreshToken": {
                    "type": "string"
                },
                "username": {
                    "type": "string"
                }
            }
        },
        "request.UserOtpRequest": {
            "type": "object",
            "required": [
                "email"
            ],
            "properties": {
                "email": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "request.UserOtpValidation": {
            "type": "object",
            "properties": {
                "email": {
                    "type": "string"
                },
                "otpCode": {
                    "type": "string"
                },
                "username": {
                    "type": "string"
                }
            }
        },
        "request.UserResetPassword": {
            "type": "object",
            "properties": {
                "codeRequest": {
                    "type": "string"
                },
                "confirmPassword": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                },
                "userId": {
                    "type": "string"
                }
            }
        },
        "request.UserRoleAccessesCreateRequest": {
            "type": "object",
            "required": [
                "isAdminEnabled",
                "isApprovalEnabled",
                "isDeleteEnabled",
                "isInsertEnabled",
                "isUpdateEnabled",
                "isViewEnabled",
                "menuId"
            ],
            "properties": {
                "isAdminEnabled": {
                    "type": "boolean"
                },
                "isApprovalEnabled": {
                    "type": "boolean"
                },
                "isDeleteEnabled": {
                    "type": "boolean"
                },
                "isInsertEnabled": {
                    "type": "boolean"
                },
                "isUpdateEnabled": {
                    "type": "boolean"
                },
                "isViewEnabled": {
                    "type": "boolean"
                },
                "menuId": {
                    "type": "integer"
                }
            }
        },
        "request.UserRoleAccessesUpdateRequest": {
            "type": "object",
            "required": [
                "id",
                "isAdminEnabled",
                "isApprovalEnabled",
                "isDeleteEnabled",
                "isInsertEnabled",
                "isUpdateEnabled",
                "isViewEnabled",
                "menuId",
                "userRoleId"
            ],
            "properties": {
                "id": {
                    "type": "integer"
                },
                "isAdminEnabled": {
                    "type": "boolean"
                },
                "isApprovalEnabled": {
                    "type": "boolean"
                },
                "isDeleteEnabled": {
                    "type": "boolean"
                },
                "isInsertEnabled": {
                    "type": "boolean"
                },
                "isUpdateEnabled": {
                    "type": "boolean"
                },
                "isViewEnabled": {
                    "type": "boolean"
                },
                "menuId": {
                    "type": "integer"
                },
                "userRoleId": {
                    "type": "integer"
                }
            }
        },
        "request.UserRolesCreateRequest": {
            "type": "object",
            "required": [
                "code",
                "description",
                "name",
                "statusId",
                "userLevelIds",
                "userRoleAccess"
            ],
            "properties": {
                "code": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "statusId": {
                    "type": "integer"
                },
                "userLevelIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "userRoleAccess": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/request.UserRoleAccessesCreateRequest"
                    }
                }
            }
        },
        "request.UserRolesUpdateRequest": {
            "type": "object",
            "required": [
                "code",
                "description",
                "levelNumber",
                "name",
                "statusId",
                "userLevelIds"
            ],
            "properties": {
                "code": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "levelNumber": {
                    "type": "integer"
                },
                "name": {
                    "type": "string"
                },
                "statusId": {
                    "type": "integer"
                },
                "userLevelIds": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                }
            }
        },
        "request.UserSavePassword": {
            "type": "object",
            "properties": {
                "confirmPassword": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                }
            }
        },
        "request.UsersCreateRequest": {
            "type": "object",
            "required": [
                "email",
                "fullname",
                "password",
                "userLevelId",
                "userRoleId",
                "username"
            ],
            "properties": {
                "address": {
                    "type": "string"
                },
                "dateOfBirth": {
                    "type": "string"
                },
                "degree": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "fullname": {
                    "type": "string"
                },
                "genderType": {
                    "type": "string"
                },
                "identityGroup": {
                    "type": "string"
                },
                "identityGroupNumber": {
                    "type": "string"
                },
                "identityNumber": {
                    "type": "string"
                },
                "identityType": {
                    "type": "string"
                },
                "lastEducation": {
                    "type": "string"
                },
                "lastJobTitle": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                },
                "phoneNumber": {
                    "type": "string"
                },
                "userLevelId": {
                    "type": "integer"
                },
                "userRoleId": {
                    "type": "integer"
                },
                "username": {
                    "type": "string"
                },
                "whatsappNumber": {
                    "type": "string"
                },
                "workType": {
                    "type": "string"
                }
            }
        },
        "request.UsersUpdateRequest": {
            "type": "object",
            "required": [
                "email",
                "fullname",
                "userLevelId",
                "userRoleId",
                "username"
            ],
            "properties": {
                "address": {
                    "type": "string"
                },
                "dateOfBirth": {
                    "type": "string"
                },
                "degree": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "fullname": {
                    "type": "string"
                },
                "genderType": {
                    "type": "string"
                },
                "identityGroup": {
                    "type": "string"
                },
                "identityGroupNumber": {
                    "type": "string"
                },
                "identityNumber": {
                    "type": "string"
                },
                "identityType": {
                    "type": "string"
                },
                "lastEducation": {
                    "type": "string"
                },
                "lastJobTitle": {
                    "type": "string"
                },
                "phoneNumber": {
                    "type": "string"
                },
                "statusId": {
                    "type": "integer"
                },
                "userLevelId": {
                    "type": "integer"
                },
                "userRoleId": {
                    "type": "integer"
                },
                "username": {
                    "type": "string"
                },
                "whatsappNumber": {
                    "type": "string"
                },
                "workType": {
                    "type": "string"
                }
            }
        },
        "request.WorkHistoryCreateRequest": {
            "type": "object",
            "required": [
                "companyName",
                "jobTitle",
                "startDate"
            ],
            "properties": {
                "companyName": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 2
                },
                "endDate": {
                    "type": "string"
                },
                "jobTitle": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 2
                },
                "startDate": {
                    "type": "string"
                }
            }
        },
        "request.WorkHistoryUpdateRequest": {
            "type": "object",
            "required": [
                "companyName",
                "jobTitle",
                "startDate"
            ],
            "properties": {
                "companyName": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 2
                },
                "endDate": {
                    "type": "string"
                },
                "jobTitle": {
                    "type": "string",
                    "maxLength": 255,
                    "minLength": 2
                },
                "startDate": {
                    "type": "string"
                }
            }
        },
        "response.BadRequestError": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer",
                    "example": 400
                },
                "message": {
                    "type": "string",
                    "example": "bad request"
                },
                "success": {
                    "type": "boolean",
                    "example": false
                }
            }
        },
        "response.InternalServerError": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer",
                    "example": 500
                },
                "message": {
                    "type": "string",
                    "example": "internal server error"
                },
                "success": {
                    "type": "boolean",
                    "example": false
                }
            }
        },
        "response.Response": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer",
                    "example": 200
                },
                "data": {},
                "messages": {
                    "type": "array",
                    "items": {}
                },
                "meta": {},
                "success": {
                    "type": "boolean",
                    "example": true
                }
            }
        },
        "response.UnauthorizedError": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "integer",
                    "example": 401
                },
                "message": {
                    "type": "string",
                    "example": "unauthorized access"
                },
                "success": {
                    "type": "boolean",
                    "example": false
                }
            }
        }
    }
}