{ "openapi": "3.1.0", "info": { "title": "Fastapi CMS", "version": "0.1.0" }, "paths": { "/api/v1/login/access-token": { "post": { "tags": [ "login" ], "summary": "Login Access Token", "description": "OAuth2 compatible token login, get an access token for future requests", "operationId": "login-login_access_token", "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/Body_login-login_access_token" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Token" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/login/test-token": { "post": { "tags": [ "login" ], "summary": "Test Token", "description": "Test access token", "operationId": "login-test_token", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPublic" } } } } }, "security": [ { "OAuth2PasswordBearer": [] } ] } }, "/api/v1/password-recovery/{email}": { "post": { "tags": [ "login" ], "summary": "Recover Password", "description": "Password Recovery", "operationId": "login-recover_password", "parameters": [ { "name": "email", "in": "path", "required": true, "schema": { "type": "string", "title": "Email" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Message" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/reset-password/": { "post": { "tags": [ "login" ], "summary": "Reset Password", "description": "Reset password", "operationId": "login-reset_password", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NewPassword" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Message" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/password-recovery-html-content/{email}": { "post": { "tags": [ "login" ], "summary": "Recover Password Html Content", "description": "HTML Content for Password Recovery", "operationId": "login-recover_password_html_content", "security": [ { "OAuth2PasswordBearer": [] } ], "parameters": [ { "name": "email", "in": "path", "required": true, "schema": { "type": "string", "title": "Email" } } ], "responses": { "200": { "description": "Successful Response", "content": { "text/html": { "schema": { "type": "string" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/users/": { "get": { "tags": [ "users" ], "summary": "Read Users", "description": "Retrieve users.", "operationId": "users-read_users", "security": [ { "OAuth2PasswordBearer": [] } ], "parameters": [ { "name": "skip", "in": "query", "required": false, "schema": { "type": "integer", "default": 0, "title": "Skip" } }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "default": 100, "title": "Limit" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UsersPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "users" ], "summary": "Create User", "description": "Create new user.", "operationId": "users-create_user", "security": [ { "OAuth2PasswordBearer": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserCreate" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/users/me": { "get": { "tags": [ "users" ], "summary": "Read User Me", "description": "Get current user.", "operationId": "users-read_user_me", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPublic" } } } } }, "security": [ { "OAuth2PasswordBearer": [] } ] }, "delete": { "tags": [ "users" ], "summary": "Delete User Me", "description": "Delete own user.", "operationId": "users-delete_user_me", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Message" } } } } }, "security": [ { "OAuth2PasswordBearer": [] } ] }, "patch": { "tags": [ "users" ], "summary": "Update User Me", "description": "Update own user.", "operationId": "users-update_user_me", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserUpdateMe" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "OAuth2PasswordBearer": [] } ] } }, "/api/v1/users/me/password": { "patch": { "tags": [ "users" ], "summary": "Update Password Me", "description": "Update own password.", "operationId": "users-update_password_me", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdatePassword" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Message" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "OAuth2PasswordBearer": [] } ] } }, "/api/v1/users/signup": { "post": { "tags": [ "users" ], "summary": "Register User", "description": "Create new user without the need to be logged in.", "operationId": "users-register_user", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserRegister" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/users/{user_id}": { "get": { "tags": [ "users" ], "summary": "Read User By Id", "description": "Get a specific user by id.", "operationId": "users-read_user_by_id", "security": [ { "OAuth2PasswordBearer": [] } ], "parameters": [ { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "User Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "patch": { "tags": [ "users" ], "summary": "Update User", "description": "Update a user.", "operationId": "users-update_user", "security": [ { "OAuth2PasswordBearer": [] } ], "parameters": [ { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "User Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserUpdate" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "users" ], "summary": "Delete User", "description": "Delete a user.", "operationId": "users-delete_user", "security": [ { "OAuth2PasswordBearer": [] } ], "parameters": [ { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "User Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Message" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/utils/test-email/": { "post": { "tags": [ "utils" ], "summary": "Test Email", "description": "Test emails.", "operationId": "utils-test_email", "security": [ { "OAuth2PasswordBearer": [] } ], "parameters": [ { "name": "email_to", "in": "query", "required": true, "schema": { "type": "string", "format": "email", "title": "Email To" } } ], "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Message" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/items/": { "get": { "tags": [ "items" ], "summary": "Read Items", "description": "Retrieve items.", "operationId": "items-read_items", "security": [ { "OAuth2PasswordBearer": [] } ], "parameters": [ { "name": "skip", "in": "query", "required": false, "schema": { "type": "integer", "default": 0, "title": "Skip" } }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "default": 100, "title": "Limit" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ItemsPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "items" ], "summary": "Create Item", "description": "Create new item.", "operationId": "items-create_item", "security": [ { "OAuth2PasswordBearer": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ItemCreate" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ItemPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/items/items/{item_id}": { "get": { "tags": [ "items" ], "summary": "Agcd", "operationId": "items-agcd", "parameters": [ { "name": "item_id", "in": "path", "required": true, "schema": { "type": "integer", "title": "Item Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/items/{id}": { "get": { "tags": [ "items" ], "summary": "Read Item", "description": "Get item by ID.", "operationId": "items-read_item", "security": [ { "OAuth2PasswordBearer": [] } ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ItemPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "put": { "tags": [ "items" ], "summary": "Update Item", "description": "Update an item.", "operationId": "items-update_item", "security": [ { "OAuth2PasswordBearer": [] } ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ItemUpdate" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ItemPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "items" ], "summary": "Delete Item", "description": "Delete an item.", "operationId": "items-delete_item", "security": [ { "OAuth2PasswordBearer": [] } ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Message" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/messages/": { "post": { "tags": [ "messages" ], "summary": "Create Message", "description": "Create new message.", "operationId": "messages-create_message", "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessageCreate" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Message" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "get": { "tags": [ "messages" ], "summary": "Read Messages", "operationId": "messages-read_messages", "security": [ { "OAuth2PasswordBearer": [] } ], "parameters": [ { "name": "skip", "in": "query", "required": false, "schema": { "type": "integer", "default": 0, "title": "Skip" } }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "default": 100, "title": "Limit" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MessagesPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/messages/{id}": { "delete": { "tags": [ "messages" ], "summary": "Delete Item", "description": "Delete an item.", "operationId": "messages-delete_item", "security": [ { "OAuth2PasswordBearer": [] } ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Message" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/setting/": { "get": { "tags": [ "setting" ], "summary": "Read Setting", "description": "Retrieve users.", "operationId": "setting-read_setting", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Setting" } } } } }, "security": [ { "OAuth2PasswordBearer": [] } ] }, "put": { "tags": [ "setting" ], "summary": "Update Setting", "description": "Update an item.", "operationId": "setting-update_setting", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SettingBase" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SettingBase" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "OAuth2PasswordBearer": [] } ] } }, "/api/v1/aboutUs/": { "post": { "tags": [ "aboutUs" ], "summary": "Create Aboutus", "description": "Create new about us.", "operationId": "aboutUs-create_aboutUs", "security": [ { "OAuth2PasswordBearer": [] } ], "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_aboutUs-create_aboutUs" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AboutUsPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "get": { "tags": [ "aboutUs" ], "summary": "Read Aboutus List", "operationId": "aboutUs-read_aboutus_list", "parameters": [ { "name": "skip", "in": "query", "required": false, "schema": { "type": "integer", "default": 0, "title": "Skip" } }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "default": 100, "title": "Limit" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AboutsListPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/aboutUs/{id}": { "put": { "tags": [ "aboutUs" ], "summary": "Edit Aboutus", "operationId": "aboutUs-edit_aboutUs", "security": [ { "OAuth2PasswordBearer": [] } ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Id" } } ], "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_aboutUs-edit_aboutUs" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AboutUsPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "aboutUs" ], "summary": "Delete Aboutus", "description": "Delete an course.", "operationId": "aboutUs-delete_aboutus", "security": [ { "OAuth2PasswordBearer": [] } ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Message" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/course/": { "get": { "tags": [ "course" ], "summary": "Read Courses", "description": "Retrieve courses.", "operationId": "course-read_courses", "parameters": [ { "name": "skip", "in": "query", "required": false, "schema": { "type": "integer", "default": 0, "title": "Skip" } }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "default": 100, "title": "Limit" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CoursesPublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "course" ], "summary": "Create Item", "description": "Create new course.", "operationId": "course-create_item", "security": [ { "OAuth2PasswordBearer": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CourseCreate" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CoursePublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/course/{id}": { "get": { "tags": [ "course" ], "summary": "Read Course", "description": "Get item by ID.", "operationId": "course-read_course", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CoursePublicWithImages" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "put": { "tags": [ "course" ], "summary": "Update Course", "description": "Update an course.", "operationId": "course-update_course", "security": [ { "OAuth2PasswordBearer": [] } ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CourseUpdate" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CoursePublic" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "course" ], "summary": "Delete Course", "description": "Delete an course.", "operationId": "course-delete_course", "security": [ { "OAuth2PasswordBearer": [] } ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Message" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/image/": { "post": { "tags": [ "image" ], "summary": "Create Image", "description": "Create new image.", "operationId": "image-create_image", "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_image-create_image" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CoursePublicWithImages" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "OAuth2PasswordBearer": [] } ] } }, "/api/v1/image/{id}": { "put": { "tags": [ "image" ], "summary": "Edit Image", "operationId": "image-edit_image", "security": [ { "OAuth2PasswordBearer": [] } ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Id" } } ], "requestBody": { "required": true, "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/Body_image-edit_image" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CoursePublicWithImages" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "image" ], "summary": "Delete Image", "operationId": "image-delete_image", "security": [ { "OAuth2PasswordBearer": [] } ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CoursePublicWithImages" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/info_image/": { "post": { "tags": [ "info_image" ], "summary": "Create Info Image", "description": "Create new image.", "operationId": "info_image-create_info_image", "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_info_image-create_info_image" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CoursePublicWithImages" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "OAuth2PasswordBearer": [] } ] } }, "/api/v1/info_image/{id}": { "put": { "tags": [ "info_image" ], "summary": "Edit Info Image", "operationId": "info_image-edit_info_image", "security": [ { "OAuth2PasswordBearer": [] } ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Id" } } ], "requestBody": { "required": true, "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/Body_info_image-edit_info_image" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CoursePublicWithImages" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "info_image" ], "summary": "Delete Info Image", "operationId": "info_image-delete_info_image", "security": [ { "OAuth2PasswordBearer": [] } ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CoursePublicWithImages" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/sechedule/": { "post": { "tags": [ "sechedule" ], "summary": "Create Schedule", "operationId": "sechedule-create_schedule", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScheduleCreate" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CoursePublicWithImages" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "OAuth2PasswordBearer": [] } ] } }, "/api/v1/sechedule/{id}": { "put": { "tags": [ "sechedule" ], "summary": "Edit Schedule", "operationId": "sechedule-edit_schedule", "security": [ { "OAuth2PasswordBearer": [] } ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScheduleUpdate" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CoursePublicWithImages" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "sechedule" ], "summary": "Delete Schedule", "operationId": "sechedule-delete_schedule", "security": [ { "OAuth2PasswordBearer": [] } ], "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CoursePublicWithImages" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } } }, "components": { "schemas": { "AboutUsPublic": { "properties": { "description": { "type": "string", "maxLength": 1024, "title": "Description" }, "image": { "anyOf": [ { "type": "string", "maxLength": 255 }, { "type": "null" } ], "title": "Image" }, "index": { "type": "integer", "title": "Index" }, "id": { "type": "string", "format": "uuid", "title": "Id" } }, "type": "object", "required": [ "description", "index", "id" ], "title": "AboutUsPublic" }, "AboutsListPublic": { "properties": { "data": { "items": { "$ref": "#/components/schemas/AboutUsPublic" }, "type": "array", "title": "Data" }, "count": { "type": "integer", "title": "Count" } }, "type": "object", "required": [ "data", "count" ], "title": "AboutsListPublic" }, "Body_aboutUs-create_aboutUs": { "properties": { "description": { "type": "string", "title": "Description" }, "image": { "type": "string", "format": "binary", "title": "Image" }, "index": { "type": "integer", "title": "Index" } }, "type": "object", "required": [ "description", "image", "index" ], "title": "Body_aboutUs-create_aboutUs" }, "Body_aboutUs-edit_aboutUs": { "properties": { "description": { "type": "string", "title": "Description" }, "image": { "type": "string", "format": "binary", "title": "Image" }, "index": { "type": "integer", "title": "Index" } }, "type": "object", "required": [ "description", "index" ], "title": "Body_aboutUs-edit_aboutUs" }, "Body_image-create_image": { "properties": { "image": { "type": "string", "format": "binary", "title": "Image" }, "index": { "type": "integer", "title": "Index" }, "course_id": { "type": "string", "format": "uuid", "title": "Course Id" } }, "type": "object", "required": [ "image", "index", "course_id" ], "title": "Body_image-create_image" }, "Body_image-edit_image": { "properties": { "index": { "type": "integer", "title": "Index" } }, "type": "object", "required": [ "index" ], "title": "Body_image-edit_image" }, "Body_info_image-create_info_image": { "properties": { "image": { "type": "string", "format": "binary", "title": "Image" }, "index": { "type": "integer", "title": "Index" }, "course_id": { "type": "string", "format": "uuid", "title": "Course Id" } }, "type": "object", "required": [ "image", "index", "course_id" ], "title": "Body_info_image-create_info_image" }, "Body_info_image-edit_info_image": { "properties": { "index": { "type": "integer", "title": "Index" } }, "type": "object", "required": [ "index" ], "title": "Body_info_image-edit_info_image" }, "Body_login-login_access_token": { "properties": { "grant_type": { "anyOf": [ { "type": "string", "pattern": "password" }, { "type": "null" } ], "title": "Grant Type" }, "username": { "type": "string", "title": "Username" }, "password": { "type": "string", "title": "Password" }, "scope": { "type": "string", "title": "Scope", "default": "" }, "client_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Client Id" }, "client_secret": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Client Secret" } }, "type": "object", "required": [ "username", "password" ], "title": "Body_login-login_access_token" }, "CourseCreate": { "properties": { "title": { "type": "string", "maxLength": 255, "title": "Title" }, "sort_description": { "type": "string", "maxLength": 1024, "title": "Sort Description" }, "long_description": { "type": "string", "maxLength": 2048, "title": "Long Description" }, "information": { "type": "string", "maxLength": 1024, "title": "Information" }, "contant": { "type": "string", "maxLength": 1024, "title": "Contant" }, "remark": { "type": "string", "maxLength": 512, "title": "Remark" } }, "type": "object", "required": [ "title", "sort_description", "long_description", "information", "contant", "remark" ], "title": "CourseCreate" }, "CoursePublic": { "properties": { "title": { "type": "string", "title": "Title" }, "sort_description": { "type": "string", "maxLength": 1024, "title": "Sort Description" }, "long_description": { "type": "string", "maxLength": 2048, "title": "Long Description" }, "information": { "type": "string", "maxLength": 1024, "title": "Information" }, "contant": { "type": "string", "maxLength": 1024, "title": "Contant" }, "remark": { "type": "string", "maxLength": 512, "title": "Remark" }, "id": { "type": "string", "format": "uuid", "title": "Id" }, "created_at": { "type": "string", "format": "date-time", "title": "Created At" } }, "type": "object", "required": [ "title", "sort_description", "long_description", "information", "contant", "remark", "id", "created_at" ], "title": "CoursePublic" }, "CoursePublicWithImages": { "properties": { "title": { "type": "string", "title": "Title" }, "sort_description": { "type": "string", "maxLength": 1024, "title": "Sort Description" }, "long_description": { "type": "string", "maxLength": 2048, "title": "Long Description" }, "information": { "type": "string", "maxLength": 1024, "title": "Information" }, "contant": { "type": "string", "maxLength": 1024, "title": "Contant" }, "remark": { "type": "string", "maxLength": 512, "title": "Remark" }, "id": { "type": "string", "format": "uuid", "title": "Id" }, "created_at": { "type": "string", "format": "date-time", "title": "Created At" }, "images": { "items": { "$ref": "#/components/schemas/Image" }, "type": "array", "title": "Images", "default": [] }, "info_images": { "items": { "$ref": "#/components/schemas/Info_Image" }, "type": "array", "title": "Info Images", "default": [] }, "schedule": { "items": { "$ref": "#/components/schemas/Schedule" }, "type": "array", "title": "Schedule", "default": [] } }, "type": "object", "required": [ "title", "sort_description", "long_description", "information", "contant", "remark", "id", "created_at" ], "title": "CoursePublicWithImages" }, "CourseUpdate": { "properties": { "title": { "type": "string", "maxLength": 255, "title": "Title" }, "sort_description": { "type": "string", "maxLength": 1024, "title": "Sort Description" }, "long_description": { "type": "string", "maxLength": 2048, "title": "Long Description" }, "information": { "type": "string", "maxLength": 1024, "title": "Information" }, "contant": { "type": "string", "maxLength": 1024, "title": "Contant" }, "remark": { "type": "string", "maxLength": 512, "title": "Remark" } }, "type": "object", "required": [ "title", "sort_description", "long_description", "information", "contant", "remark" ], "title": "CourseUpdate" }, "CoursesPublic": { "properties": { "data": { "items": { "$ref": "#/components/schemas/CoursePublic" }, "type": "array", "title": "Data" }, "count": { "type": "integer", "title": "Count" } }, "type": "object", "required": [ "data", "count" ], "title": "CoursesPublic" }, "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" }, "Image": { "properties": { "image": { "type": "string", "maxLength": 255, "title": "Image" }, "index": { "type": "integer", "title": "Index" }, "id": { "type": "string", "format": "uuid", "title": "Id" }, "course_id": { "type": "string", "format": "uuid", "title": "Course Id" } }, "type": "object", "required": [ "image", "index", "course_id" ], "title": "Image" }, "Info_Image": { "properties": { "image": { "type": "string", "maxLength": 255, "title": "Image" }, "index": { "type": "integer", "title": "Index" }, "id": { "type": "string", "format": "uuid", "title": "Id" }, "course_id": { "type": "string", "format": "uuid", "title": "Course Id" } }, "type": "object", "required": [ "image", "index", "course_id" ], "title": "Info_Image" }, "ItemCreate": { "properties": { "title": { "type": "string", "maxLength": 255, "minLength": 1, "title": "Title" }, "description": { "anyOf": [ { "type": "string", "maxLength": 255 }, { "type": "null" } ], "title": "Description" } }, "type": "object", "required": [ "title" ], "title": "ItemCreate" }, "ItemPublic": { "properties": { "title": { "type": "string", "maxLength": 255, "minLength": 1, "title": "Title" }, "description": { "anyOf": [ { "type": "string", "maxLength": 255 }, { "type": "null" } ], "title": "Description" }, "id": { "type": "string", "format": "uuid", "title": "Id" }, "owner_id": { "type": "string", "format": "uuid", "title": "Owner Id" } }, "type": "object", "required": [ "title", "id", "owner_id" ], "title": "ItemPublic" }, "ItemUpdate": { "properties": { "title": { "anyOf": [ { "type": "string", "maxLength": 255, "minLength": 1 }, { "type": "null" } ], "title": "Title" }, "description": { "anyOf": [ { "type": "string", "maxLength": 255 }, { "type": "null" } ], "title": "Description" } }, "type": "object", "title": "ItemUpdate" }, "ItemsPublic": { "properties": { "data": { "items": { "$ref": "#/components/schemas/ItemPublic" }, "type": "array", "title": "Data" }, "count": { "type": "integer", "title": "Count" } }, "type": "object", "required": [ "data", "count" ], "title": "ItemsPublic" }, "Message": { "properties": { "name": { "type": "string", "maxLength": 255, "title": "Name" }, "phone": { "type": "string", "maxLength": 255, "title": "Phone" }, "email": { "type": "string", "maxLength": 255, "title": "Email" }, "message": { "type": "string", "maxLength": 1024, "title": "Message" }, "id": { "type": "string", "format": "uuid", "title": "Id" }, "created_at": { "type": "string", "format": "date-time", "title": "Created At" } }, "type": "object", "required": [ "name", "phone", "email", "message" ], "title": "Message" }, "MessageCreate": { "properties": { "name": { "type": "string", "maxLength": 255, "title": "Name" }, "phone": { "type": "string", "maxLength": 255, "title": "Phone" }, "email": { "type": "string", "maxLength": 255, "title": "Email" }, "message": { "type": "string", "maxLength": 1024, "title": "Message" } }, "type": "object", "required": [ "name", "phone", "email", "message" ], "title": "MessageCreate" }, "MessagesPublic": { "properties": { "data": { "items": { "$ref": "#/components/schemas/Message" }, "type": "array", "title": "Data" }, "count": { "type": "integer", "title": "Count" } }, "type": "object", "required": [ "data", "count" ], "title": "MessagesPublic" }, "NewPassword": { "properties": { "token": { "type": "string", "title": "Token" }, "new_password": { "type": "string", "maxLength": 40, "minLength": 8, "title": "New Password" } }, "type": "object", "required": [ "token", "new_password" ], "title": "NewPassword" }, "Schedule": { "properties": { "title": { "type": "string", "maxLength": 255, "title": "Title" }, "info1": { "type": "string", "maxLength": 255, "title": "Info1" }, "info2": { "type": "string", "maxLength": 255, "title": "Info2" }, "date": { "type": "string", "title": "Date" }, "id": { "type": "string", "format": "uuid", "title": "Id" }, "course_id": { "type": "string", "format": "uuid", "title": "Course Id" } }, "type": "object", "required": [ "title", "info1", "info2", "course_id" ], "title": "Schedule" }, "ScheduleCreate": { "properties": { "title": { "type": "string", "maxLength": 255, "title": "Title" }, "info1": { "type": "string", "maxLength": 255, "title": "Info1" }, "info2": { "type": "string", "maxLength": 255, "title": "Info2" }, "date": { "type": "string", "title": "Date" }, "course_id": { "type": "string", "format": "uuid", "title": "Course Id" } }, "type": "object", "required": [ "title", "info1", "info2", "course_id" ], "title": "ScheduleCreate" }, "ScheduleUpdate": { "properties": { "title": { "type": "string", "maxLength": 255, "title": "Title" }, "info1": { "type": "string", "maxLength": 255, "title": "Info1" }, "info2": { "type": "string", "maxLength": 255, "title": "Info2" }, "date": { "type": "string", "title": "Date" } }, "type": "object", "required": [ "title", "info1", "info2" ], "title": "ScheduleUpdate" }, "Setting": { "properties": { "address": { "type": "string", "maxLength": 255, "title": "Address" }, "google_map_api_key": { "type": "string", "maxLength": 255, "title": "Google Map Api Key" }, "latitude": { "type": "number", "title": "Latitude" }, "longitude": { "type": "number", "title": "Longitude" }, "phone": { "type": "string", "maxLength": 255, "title": "Phone" }, "email": { "type": "string", "maxLength": 255, "title": "Email" }, "facebook": { "type": "string", "maxLength": 255, "title": "Facebook" }, "instagram": { "type": "string", "maxLength": 255, "title": "Instagram" }, "youtube": { "type": "string", "maxLength": 255, "title": "Youtube" }, "youtube_link": { "type": "string", "maxLength": 255, "title": "Youtube Link" }, "whatsapp": { "type": "string", "maxLength": 255, "title": "Whatsapp" }, "id": { "type": "string", "format": "uuid", "title": "Id" } }, "type": "object", "required": [ "address", "google_map_api_key", "latitude", "longitude", "phone", "email", "facebook", "instagram", "youtube", "youtube_link", "whatsapp" ], "title": "Setting" }, "SettingBase": { "properties": { "address": { "type": "string", "maxLength": 255, "title": "Address" }, "google_map_api_key": { "type": "string", "maxLength": 255, "title": "Google Map Api Key" }, "latitude": { "type": "number", "title": "Latitude" }, "longitude": { "type": "number", "title": "Longitude" }, "phone": { "type": "string", "maxLength": 255, "title": "Phone" }, "email": { "type": "string", "maxLength": 255, "title": "Email" }, "facebook": { "type": "string", "maxLength": 255, "title": "Facebook" }, "instagram": { "type": "string", "maxLength": 255, "title": "Instagram" }, "youtube": { "type": "string", "maxLength": 255, "title": "Youtube" }, "youtube_link": { "type": "string", "maxLength": 255, "title": "Youtube Link" }, "whatsapp": { "type": "string", "maxLength": 255, "title": "Whatsapp" } }, "type": "object", "required": [ "address", "google_map_api_key", "latitude", "longitude", "phone", "email", "facebook", "instagram", "youtube", "youtube_link", "whatsapp" ], "title": "SettingBase" }, "Token": { "properties": { "access_token": { "type": "string", "title": "Access Token" }, "token_type": { "type": "string", "title": "Token Type", "default": "bearer" } }, "type": "object", "required": [ "access_token" ], "title": "Token" }, "UpdatePassword": { "properties": { "current_password": { "type": "string", "maxLength": 40, "minLength": 8, "title": "Current Password" }, "new_password": { "type": "string", "maxLength": 40, "minLength": 8, "title": "New Password" } }, "type": "object", "required": [ "current_password", "new_password" ], "title": "UpdatePassword" }, "UserCreate": { "properties": { "email": { "type": "string", "maxLength": 255, "format": "email", "title": "Email" }, "is_active": { "type": "boolean", "title": "Is Active", "default": true }, "is_superuser": { "type": "boolean", "title": "Is Superuser", "default": false }, "full_name": { "anyOf": [ { "type": "string", "maxLength": 255 }, { "type": "null" } ], "title": "Full Name" }, "password": { "type": "string", "maxLength": 40, "minLength": 8, "title": "Password" } }, "type": "object", "required": [ "email", "password" ], "title": "UserCreate" }, "UserPublic": { "properties": { "email": { "type": "string", "maxLength": 255, "format": "email", "title": "Email" }, "is_active": { "type": "boolean", "title": "Is Active", "default": true }, "is_superuser": { "type": "boolean", "title": "Is Superuser", "default": false }, "full_name": { "anyOf": [ { "type": "string", "maxLength": 255 }, { "type": "null" } ], "title": "Full Name" }, "id": { "type": "string", "format": "uuid", "title": "Id" } }, "type": "object", "required": [ "email", "id" ], "title": "UserPublic" }, "UserRegister": { "properties": { "email": { "type": "string", "maxLength": 255, "format": "email", "title": "Email" }, "password": { "type": "string", "maxLength": 40, "minLength": 8, "title": "Password" }, "full_name": { "anyOf": [ { "type": "string", "maxLength": 255 }, { "type": "null" } ], "title": "Full Name" } }, "type": "object", "required": [ "email", "password" ], "title": "UserRegister" }, "UserUpdate": { "properties": { "email": { "anyOf": [ { "type": "string", "maxLength": 255, "format": "email" }, { "type": "null" } ], "title": "Email" }, "is_active": { "type": "boolean", "title": "Is Active", "default": true }, "is_superuser": { "type": "boolean", "title": "Is Superuser", "default": false }, "full_name": { "anyOf": [ { "type": "string", "maxLength": 255 }, { "type": "null" } ], "title": "Full Name" }, "password": { "anyOf": [ { "type": "string", "maxLength": 40, "minLength": 8 }, { "type": "null" } ], "title": "Password" } }, "type": "object", "title": "UserUpdate" }, "UserUpdateMe": { "properties": { "full_name": { "anyOf": [ { "type": "string", "maxLength": 255 }, { "type": "null" } ], "title": "Full Name" }, "email": { "anyOf": [ { "type": "string", "maxLength": 255, "format": "email" }, { "type": "null" } ], "title": "Email" } }, "type": "object", "title": "UserUpdateMe" }, "UsersPublic": { "properties": { "data": { "items": { "$ref": "#/components/schemas/UserPublic" }, "type": "array", "title": "Data" }, "count": { "type": "integer", "title": "Count" } }, "type": "object", "required": [ "data", "count" ], "title": "UsersPublic" }, "ValidationError": { "properties": { "loc": { "items": { "anyOf": [ { "type": "string" }, { "type": "integer" } ] }, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" } }, "securitySchemes": { "OAuth2PasswordBearer": { "type": "oauth2", "flows": { "password": { "scopes": {}, "tokenUrl": "/api/v1/login/access-token" } } } } } }