{"openapi":"3.1.0","info":{"title":"flueetoons Education","description":"flueetoons - Advanced Education automation platform.","version":"2.0.0"},"paths":{"/api/auth/register/":{"post":{"tags":["Auth"],"summary":"User Register","description":"Register a new user with form-data or JSON.","operationId":"user_register_api_auth_register__post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_user_register_api_auth_register__post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/login/":{"post":{"tags":["Auth"],"summary":"Login User","description":"Login user with form-data or JSON.","operationId":"login_user_api_auth_login__post","parameters":[{"name":"extension","in":"query","required":false,"schema":{"type":"string","title":"Extension"}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_login_user_api_auth_login__post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshTokenRequest"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/admin/login/":{"post":{"tags":["Auth"],"summary":"Admin Login User","description":"Login user with form-data or JSON.","operationId":"admin_login_user_api_auth_admin_login__post","parameters":[{"name":"extension","in":"query","required":false,"schema":{"type":"string","title":"Extension"}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_admin_login_user_api_auth_admin_login__post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshTokenRequest"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/forgot-password/":{"post":{"tags":["Auth"],"summary":"Forgot Password","operationId":"forgot_password_api_auth_forgot_password__post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_forgot_password_api_auth_forgot_password__post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/verify-reset-token/":{"post":{"tags":["Auth"],"summary":"Verify Reset Token","operationId":"verify_reset_token_api_auth_verify_reset_token__post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_verify_reset_token_api_auth_verify_reset_token__post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/reset-password/":{"post":{"tags":["Auth"],"summary":"Reset Password With Token","operationId":"reset_password_with_token_api_auth_reset_password__post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_reset_password_with_token_api_auth_reset_password__post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/token/":{"post":{"tags":["Auth"],"summary":"Refresh Access Token","operationId":"refresh_access_token_api_auth_token__post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_refresh_access_token_api_auth_token__post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/verify-token/":{"post":{"tags":["Auth"],"summary":"Verify Access Token","description":"Verify access token with form-data","operationId":"verify_access_token_api_auth_verify_token__post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_verify_access_token_api_auth_verify_token__post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/logout/":{"post":{"tags":["Auth"],"summary":"Logout User","operationId":"logout_user_api_auth_logout__post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/auth/me":{"get":{"tags":["Auth"],"summary":"Get Current User","description":"Retrieve the current authenticated user's details.\nUses request.state.user set by AuthMiddleware.","operationId":"get_current_user_api_auth_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/auth/profile-update/":{"put":{"tags":["Auth"],"summary":"Update Profile","operationId":"update_profile_api_auth_profile_update__put","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_update_profile_api_auth_profile_update__put"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/change-password/":{"put":{"tags":["Auth"],"summary":"Change Password","operationId":"change_password_api_auth_change_password__put","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_change_password_api_auth_change_password__put"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/verify-email/":{"post":{"tags":["Auth"],"summary":"Send Verification Email","operationId":"send_verification_email_api_auth_verify_email__post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_send_verification_email_api_auth_verify_email__post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Auth"],"summary":"Verify Email","operationId":"verify_email_api_auth_verify_email__get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/user-list/":{"get":{"tags":["Auth"],"summary":"User List","operationId":"user_list_api_auth_user_list__get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":10,"title":"Page Size"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"email_verified","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Email Verified"}},{"name":"include_staff","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Staff"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPagination"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/user/":{"post":{"tags":["Auth"],"summary":"Create User","operationId":"create_user_api_auth_user__post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_create_user_api_auth_user__post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/user/{user_id}/":{"get":{"tags":["Auth"],"summary":"Get User","operationId":"get_user_api_auth_user__user_id___get","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/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Auth"],"summary":"Update User","operationId":"update_user_api_auth_user__user_id___put","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_update_user_api_auth_user__user_id___put"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Auth"],"summary":"Update User","operationId":"update_user_api_auth_user__user_id___patch","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_update_user_api_auth_user__user_id___patch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Auth"],"summary":"Delete User","operationId":"delete_user_api_auth_user__user_id___delete","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":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/languages":{"get":{"tags":["Courses","Languages"],"summary":"List Languages","operationId":"list_languages_api_courses_languages_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Courses","Languages"],"summary":"Create Language","operationId":"create_language_api_courses_languages_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LanguageCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LanguageOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/languages/{language_id}":{"get":{"tags":["Courses","Languages"],"summary":"Retrieve Language","operationId":"retrieve_language_api_courses_languages__language_id__get","parameters":[{"name":"language_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Language Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LanguageOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Courses","Languages"],"summary":"Update Language","operationId":"update_language_api_courses_languages__language_id__patch","parameters":[{"name":"language_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Language Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LanguageUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LanguageOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Courses","Languages"],"summary":"Delete Language","operationId":"delete_language_api_courses_languages__language_id__delete","parameters":[{"name":"language_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Language Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/languages/upload-image":{"post":{"tags":["Courses","Languages"],"summary":"Upload Language Image","description":"Returns a presigned PUT URL → upload file → save asset_path/path as `image` on the record.","operationId":"upload_language_image_api_courses_languages_upload_image_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/categories":{"get":{"tags":["Courses","Categories"],"summary":"List Categories","operationId":"list_categories_api_courses_categories_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Courses","Categories"],"summary":"Create Category","operationId":"create_category_api_courses_categories_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/categories/{category_id}":{"get":{"tags":["Courses","Categories"],"summary":"Retrieve Category","operationId":"retrieve_category_api_courses_categories__category_id__get","parameters":[{"name":"category_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Category Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Courses","Categories"],"summary":"Update Category","operationId":"update_category_api_courses_categories__category_id__patch","parameters":[{"name":"category_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Category Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Courses","Categories"],"summary":"Delete Category","operationId":"delete_category_api_courses_categories__category_id__delete","parameters":[{"name":"category_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Category Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/categories/upload-image":{"post":{"tags":["Courses","Categories"],"summary":"Upload Category Image","operationId":"upload_category_image_api_courses_categories_upload_image_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/subcategories":{"get":{"tags":["Courses","Subcategories"],"summary":"List Subcategories","operationId":"list_subcategories_api_courses_subcategories_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}},{"name":"category_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Category Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Courses","Subcategories"],"summary":"Create Subcategory","operationId":"create_subcategory_api_courses_subcategories_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubcategoryCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubcategoryOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/subcategories/{subcategory_id}":{"get":{"tags":["Courses","Subcategories"],"summary":"Retrieve Subcategory","operationId":"retrieve_subcategory_api_courses_subcategories__subcategory_id__get","parameters":[{"name":"subcategory_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Subcategory Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubcategoryOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Courses","Subcategories"],"summary":"Update Subcategory","operationId":"update_subcategory_api_courses_subcategories__subcategory_id__patch","parameters":[{"name":"subcategory_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Subcategory Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubcategoryUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubcategoryOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Courses","Subcategories"],"summary":"Delete Subcategory","operationId":"delete_subcategory_api_courses_subcategories__subcategory_id__delete","parameters":[{"name":"subcategory_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Subcategory Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/subcategories/upload-image":{"post":{"tags":["Courses","Subcategories"],"summary":"Upload Subcategory Image","operationId":"upload_subcategory_image_api_courses_subcategories_upload_image_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/grades":{"get":{"tags":["Courses","Grades"],"summary":"List Grades","operationId":"list_grades_api_courses_grades_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Courses","Grades"],"summary":"Create Grade","operationId":"create_grade_api_courses_grades_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GradeCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GradeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/grade-list/":{"get":{"tags":["Courses","Grades"],"summary":"Grade List","operationId":"grade_list_api_courses_grade_list__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/GradeBase"},"type":"array","title":"Response Grade List Api Courses Grade List  Get"}}}}}}},"/api/courses/grades/{grade_id}":{"get":{"tags":["Courses","Grades"],"summary":"Retrieve Grade","operationId":"retrieve_grade_api_courses_grades__grade_id__get","parameters":[{"name":"grade_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Grade Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GradeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Courses","Grades"],"summary":"Update Grade","operationId":"update_grade_api_courses_grades__grade_id__patch","parameters":[{"name":"grade_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Grade Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GradeUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GradeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Courses","Grades"],"summary":"Delete Grade","operationId":"delete_grade_api_courses_grades__grade_id__delete","parameters":[{"name":"grade_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Grade Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/grades/upload-image":{"post":{"tags":["Courses","Grades"],"summary":"Upload Grade Image","operationId":"upload_grade_image_api_courses_grades_upload_image_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/subjects":{"get":{"tags":["Courses","Subjects"],"summary":"List Subjects","operationId":"list_subjects_api_courses_subjects_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Courses","Subjects"],"summary":"Create Subject","operationId":"create_subject_api_courses_subjects_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubjectCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubjectOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/subjects/{subject_id}":{"get":{"tags":["Courses","Subjects"],"summary":"Retrieve Subject","operationId":"retrieve_subject_api_courses_subjects__subject_id__get","parameters":[{"name":"subject_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Subject Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubjectOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Courses","Subjects"],"summary":"Update Subject","operationId":"update_subject_api_courses_subjects__subject_id__patch","parameters":[{"name":"subject_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Subject Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubjectUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubjectOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Courses","Subjects"],"summary":"Delete Subject","operationId":"delete_subject_api_courses_subjects__subject_id__delete","parameters":[{"name":"subject_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Subject Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/subjects/upload-image":{"post":{"tags":["Courses","Subjects"],"summary":"Upload Subject Image","operationId":"upload_subject_image_api_courses_subjects_upload_image_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/competencies":{"get":{"tags":["Courses","Competencies"],"summary":"List Competencies","operationId":"list_competencies_api_courses_competencies_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}},{"name":"grade_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Grade Id"}},{"name":"subject_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Subject Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Courses","Competencies"],"summary":"Create Competency","operationId":"create_competency_api_courses_competencies_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetencyCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetencyOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/competencies/{competency_id}":{"get":{"tags":["Courses","Competencies"],"summary":"Retrieve Competency","operationId":"retrieve_competency_api_courses_competencies__competency_id__get","parameters":[{"name":"competency_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Competency Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetencyOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Courses","Competencies"],"summary":"Update Competency","operationId":"update_competency_api_courses_competencies__competency_id__patch","parameters":[{"name":"competency_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Competency Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetencyUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetencyOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Courses","Competencies"],"summary":"Delete Competency","operationId":"delete_competency_api_courses_competencies__competency_id__delete","parameters":[{"name":"competency_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Competency Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/competencies/upload-image":{"post":{"tags":["Courses","Competencies"],"summary":"Upload Competency Image","operationId":"upload_competency_image_api_courses_competencies_upload_image_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/playlists":{"get":{"tags":["Courses","Playlists"],"summary":"List Playlists","operationId":"list_playlists_api_courses_playlists_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Courses","Playlists"],"summary":"Create Playlist","operationId":"create_playlist_api_courses_playlists_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaylistCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaylistOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/playlists/{playlist_id}":{"get":{"tags":["Courses","Playlists"],"summary":"Retrieve Playlist","operationId":"retrieve_playlist_api_courses_playlists__playlist_id__get","parameters":[{"name":"playlist_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Playlist Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaylistOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Courses","Playlists"],"summary":"Update Playlist","operationId":"update_playlist_api_courses_playlists__playlist_id__patch","parameters":[{"name":"playlist_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Playlist Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaylistUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaylistOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Courses","Playlists"],"summary":"Delete Playlist","operationId":"delete_playlist_api_courses_playlists__playlist_id__delete","parameters":[{"name":"playlist_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Playlist Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/playlists/upload-image":{"post":{"tags":["Courses","Playlists"],"summary":"Upload Playlist Image","operationId":"upload_playlist_image_api_courses_playlists_upload_image_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/skillsets":{"get":{"tags":["Courses","SkillSets"],"summary":"List Skillsets","operationId":"list_skillsets_api_courses_skillsets_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}},{"name":"category_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Category Id"}},{"name":"subcategory_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Subcategory Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Courses","SkillSets"],"summary":"Create Skillset","operationId":"create_skillset_api_courses_skillsets_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillSetCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillSetOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/skillsets/{skillset_id}":{"get":{"tags":["Courses","SkillSets"],"summary":"Retrieve Skillset","operationId":"retrieve_skillset_api_courses_skillsets__skillset_id__get","parameters":[{"name":"skillset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Skillset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillSetOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Courses","SkillSets"],"summary":"Update Skillset","operationId":"update_skillset_api_courses_skillsets__skillset_id__patch","parameters":[{"name":"skillset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Skillset Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillSetUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillSetOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Courses","SkillSets"],"summary":"Delete Skillset","operationId":"delete_skillset_api_courses_skillsets__skillset_id__delete","parameters":[{"name":"skillset_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Skillset Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/skillsets/upload-image":{"post":{"tags":["Courses","SkillSets"],"summary":"Upload Skillset Image","operationId":"upload_skillset_image_api_courses_skillsets_upload_image_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/worksheets":{"get":{"tags":["Courses","WorkSheets"],"summary":"List Worksheets","operationId":"list_worksheets_api_courses_worksheets_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":120},{"type":"null"}],"title":"Search"}},{"name":"is_recommended","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Recommended"}},{"name":"is_new_added","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is New Added"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Courses","WorkSheets"],"summary":"Create Worksheet","operationId":"create_worksheet_api_courses_worksheets_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkSheetCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkSheetOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/worksheets/{worksheet_id}":{"get":{"tags":["Courses","WorkSheets"],"summary":"Retrieve Worksheet","operationId":"retrieve_worksheet_api_courses_worksheets__worksheet_id__get","parameters":[{"name":"worksheet_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Worksheet Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkSheetOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Courses","WorkSheets"],"summary":"Update Worksheet","operationId":"update_worksheet_api_courses_worksheets__worksheet_id__patch","parameters":[{"name":"worksheet_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Worksheet Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkSheetUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkSheetOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Courses","WorkSheets"],"summary":"Delete Worksheet","operationId":"delete_worksheet_api_courses_worksheets__worksheet_id__delete","parameters":[{"name":"worksheet_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Worksheet Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/worksheets/upload-file":{"post":{"tags":["Courses","WorkSheets"],"summary":"Upload Worksheet File","description":"Presigned URL for the worksheet `file` field.","operationId":"upload_worksheet_file_api_courses_worksheets_upload_file_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/moral-stories":{"get":{"tags":["Courses","MoralStories"],"summary":"List Moral Stories","operationId":"list_moral_stories_api_courses_moral_stories_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":120},{"type":"null"}],"title":"Search"}},{"name":"is_recommended","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Recommended"}},{"name":"is_new_added","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is New Added"}},{"name":"language_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Language Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Courses","MoralStories"],"summary":"Create Moral Story","operationId":"create_moral_story_api_courses_moral_stories_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoralStoryCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoralStoryOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/moral-stories/{moral_story_id}":{"get":{"tags":["Courses","MoralStories"],"summary":"Retrieve Moral Story","operationId":"retrieve_moral_story_api_courses_moral_stories__moral_story_id__get","parameters":[{"name":"moral_story_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Moral Story Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoralStoryOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Courses","MoralStories"],"summary":"Update Moral Story","operationId":"update_moral_story_api_courses_moral_stories__moral_story_id__patch","parameters":[{"name":"moral_story_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Moral Story Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoralStoryUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoralStoryOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Courses","MoralStories"],"summary":"Delete Moral Story","operationId":"delete_moral_story_api_courses_moral_stories__moral_story_id__delete","parameters":[{"name":"moral_story_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Moral Story Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/moral-stories/upload-image":{"post":{"tags":["Courses","MoralStories"],"summary":"Upload Moral Story Image","description":"Presigned URL for the moral story `image` field.","operationId":"upload_moral_story_image_api_courses_moral_stories_upload_image_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/content":{"get":{"tags":["Courses","ContentData"],"summary":"List Contentdata","operationId":"list_contentdata_api_courses_content_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":120},{"type":"null"}],"title":"Search"}},{"name":"language_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Language Id"}},{"name":"category_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Category Id"}},{"name":"subcategory_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Subcategory Id"}},{"name":"grade_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Grade Id"}},{"name":"subject_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Subject Id"}},{"name":"competency_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Competency Id"}},{"name":"playlist_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Playlist Id"}},{"name":"skill_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Skill Id"}},{"name":"is_recommended","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Recommended"}},{"name":"is_new_added","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is New Added"}},{"name":"is_most_played","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Most Played"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Courses","ContentData"],"summary":"Create Contentdata","operationId":"create_contentdata_api_courses_content_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentDataCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentDataOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/secure/references":{"get":{"tags":["Courses","Secure Content"],"summary":"Secure Course References","operationId":"secure_course_references_api_courses_secure_references_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecureCourseReferencesResponse"}}}}}}},"/api/courses/secure/content":{"get":{"tags":["Courses","Secure Content"],"summary":"List Secure Contentdata","operationId":"list_secure_contentdata_api_courses_secure_content_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":120},{"type":"null"}],"title":"Search"}},{"name":"language_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Language Id"}},{"name":"category_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Category Id"}},{"name":"subcategory_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Subcategory Id"}},{"name":"grade_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Grade Id"}},{"name":"subject_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Subject Id"}},{"name":"competency_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Competency Id"}},{"name":"playlist_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Playlist Id"}},{"name":"skill_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Skill Id"}},{"name":"is_recommended","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Recommended"}},{"name":"is_new_added","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is New Added"}},{"name":"is_most_played","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Most Played"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/secure/content/{content_id}":{"get":{"tags":["Courses","Secure Content"],"summary":"Retrieve Secure Contentdata","operationId":"retrieve_secure_contentdata_api_courses_secure_content__content_id__get","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Content Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentDataOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/secure/assets/{asset_kind}":{"get":{"tags":["Courses","Secure Content"],"summary":"Access Secure Asset","operationId":"access_secure_asset_api_courses_secure_assets__asset_kind__get","parameters":[{"name":"asset_kind","in":"path","required":true,"schema":{"type":"string","title":"Asset Kind"}},{"name":"ref","in":"query","required":true,"schema":{"type":"string","title":"Ref"}},{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/secure/worksheets":{"get":{"tags":["Courses","Secure WorkSheets"],"summary":"List Secure Worksheets","operationId":"list_secure_worksheets_api_courses_secure_worksheets_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":120},{"type":"null"}],"title":"Search"}},{"name":"is_recommended","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Recommended"}},{"name":"is_new_added","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is New Added"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/secure/worksheets/{worksheet_id}":{"get":{"tags":["Courses","Secure WorkSheets"],"summary":"Retrieve Secure Worksheet","operationId":"retrieve_secure_worksheet_api_courses_secure_worksheets__worksheet_id__get","parameters":[{"name":"worksheet_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Worksheet Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkSheetOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/secure/moral-stories":{"get":{"tags":["Courses","Secure MoralStories"],"summary":"List Secure Moral Stories","operationId":"list_secure_moral_stories_api_courses_secure_moral_stories_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":120},{"type":"null"}],"title":"Search"}},{"name":"is_recommended","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Recommended"}},{"name":"is_new_added","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is New Added"}},{"name":"language_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Language Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/secure/moral-stories/{moral_story_id}":{"get":{"tags":["Courses","Secure MoralStories"],"summary":"Retrieve Secure Moral Story","operationId":"retrieve_secure_moral_story_api_courses_secure_moral_stories__moral_story_id__get","parameters":[{"name":"moral_story_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Moral Story Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoralStoryOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/content/{content_id}":{"get":{"tags":["Courses","ContentData"],"summary":"Retrieve Contentdata","operationId":"retrieve_contentdata_api_courses_content__content_id__get","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Content Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentDataOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Courses","ContentData"],"summary":"Update Contentdata","operationId":"update_contentdata_api_courses_content__content_id__patch","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Content Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentDataUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentDataOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Courses","ContentData"],"summary":"Delete Contentdata","operationId":"delete_contentdata_api_courses_content__content_id__delete","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Content Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/content/upload-cover-image":{"post":{"tags":["Courses","ContentData"],"summary":"Upload Content Cover Image","description":"Presigned URL for the `cover_image` field.","operationId":"upload_content_cover_image_api_courses_content_upload_cover_image_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/content/upload-title-image":{"post":{"tags":["Courses","ContentData"],"summary":"Upload Content Title Image","description":"Presigned URL for the `title_image` field.","operationId":"upload_content_title_image_api_courses_content_upload_title_image_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/content/upload-tile-image":{"post":{"tags":["Courses","ContentData"],"summary":"Upload Content Tile Image","description":"Presigned URL for the `tile_image` field.","operationId":"upload_content_tile_image_api_courses_content_upload_tile_image_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/content/upload-file":{"post":{"tags":["Courses","ContentData"],"summary":"Upload Content File","description":"Presigned URL for the `file` field (video / audio / document).","operationId":"upload_content_file_api_courses_content_upload_file_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/uploads":{"post":{"tags":["Courses","ContentData"],"summary":"Upload Course Asset","description":"Generates a presigned DigitalOcean Spaces URL so the frontend can upload\ndirectly to object storage without proxying file bytes through the backend.","operationId":"upload_course_asset_api_courses_uploads_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourseAssetUploadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/uploads/complete":{"post":{"tags":["Courses","ContentData"],"summary":"Complete Course Asset Upload","operationId":"complete_course_asset_upload_api_courses_uploads_complete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompleteMultipartUploadRequest"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/courses/uploads/abort":{"post":{"tags":["Courses","ContentData"],"summary":"Abort Course Asset Upload","operationId":"abort_course_asset_upload_api_courses_uploads_abort_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AbortMultipartUploadRequest"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/login":{"get":{"summary":"Admin Login Page","operationId":"admin_login_page_admin_login_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/":{"get":{"summary":"Home","operationId":"home__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}}},"components":{"schemas":{"AbortMultipartUploadRequest":{"properties":{"path":{"type":"string","title":"Path"},"upload_id":{"type":"string","title":"Upload Id"}},"type":"object","required":["path","upload_id"],"title":"AbortMultipartUploadRequest"},"Body_admin_login_user_api_auth_admin_login__post":{"properties":{"email":{"type":"string","title":"Email"},"password":{"type":"string","title":"Password"},"remember_me":{"title":"Remember Me"}},"type":"object","title":"Body_admin_login_user_api_auth_admin_login__post"},"Body_change_password_api_auth_change_password__put":{"properties":{"current_password":{"type":"string","title":"Current Password"},"new_password":{"type":"string","title":"New Password"}},"type":"object","required":["current_password","new_password"],"title":"Body_change_password_api_auth_change_password__put"},"Body_create_user_api_auth_user__post":{"properties":{"email":{"type":"string","title":"Email"},"full_name":{"type":"string","title":"Full Name"},"password":{"type":"string","title":"Password"},"phone_number":{"type":"string","title":"Phone Number"},"timezone":{"type":"string","title":"Timezone"},"language":{"type":"string","title":"Language"},"avatar_url":{"type":"string","title":"Avatar Url"},"is_active":{"title":"Is Active"},"email_verified":{"title":"Email Verified"},"phone_verified":{"title":"Phone Verified"}},"type":"object","title":"Body_create_user_api_auth_user__post"},"Body_forgot_password_api_auth_forgot_password__post":{"properties":{"email":{"type":"string","title":"Email"}},"type":"object","required":["email"],"title":"Body_forgot_password_api_auth_forgot_password__post"},"Body_login_user_api_auth_login__post":{"properties":{"email":{"type":"string","title":"Email"},"password":{"type":"string","title":"Password"},"remember_me":{"title":"Remember Me"}},"type":"object","title":"Body_login_user_api_auth_login__post"},"Body_refresh_access_token_api_auth_token__post":{"properties":{"refresh_token":{"type":"string","title":"Refresh Token"}},"type":"object","required":["refresh_token"],"title":"Body_refresh_access_token_api_auth_token__post"},"Body_reset_password_with_token_api_auth_reset_password__post":{"properties":{"token":{"type":"string","title":"Token"},"new_password":{"type":"string","title":"New Password"},"confirm_password":{"type":"string","title":"Confirm Password"}},"type":"object","required":["token","new_password","confirm_password"],"title":"Body_reset_password_with_token_api_auth_reset_password__post"},"Body_send_verification_email_api_auth_verify_email__post":{"properties":{"email":{"type":"string","title":"Email"}},"type":"object","title":"Body_send_verification_email_api_auth_verify_email__post"},"Body_update_profile_api_auth_profile_update__put":{"properties":{"full_name":{"type":"string","title":"Full Name"},"email":{"type":"string","title":"Email"},"phone_number":{"type":"string","title":"Phone Number"},"timezone":{"type":"string","title":"Timezone"},"language":{"type":"string","title":"Language"},"avatar_url":{"type":"string","title":"Avatar Url"}},"type":"object","title":"Body_update_profile_api_auth_profile_update__put"},"Body_update_user_api_auth_user__user_id___patch":{"properties":{"email":{"type":"string","title":"Email"},"full_name":{"type":"string","title":"Full Name"},"password":{"type":"string","title":"Password"},"phone_number":{"type":"string","title":"Phone Number"},"timezone":{"type":"string","title":"Timezone"},"language":{"type":"string","title":"Language"},"avatar_url":{"type":"string","title":"Avatar Url"},"is_active":{"title":"Is Active"},"email_verified":{"title":"Email Verified"},"phone_verified":{"title":"Phone Verified"}},"type":"object","title":"Body_update_user_api_auth_user__user_id___patch"},"Body_update_user_api_auth_user__user_id___put":{"properties":{"email":{"type":"string","title":"Email"},"full_name":{"type":"string","title":"Full Name"},"password":{"type":"string","title":"Password"},"phone_number":{"type":"string","title":"Phone Number"},"timezone":{"type":"string","title":"Timezone"},"language":{"type":"string","title":"Language"},"avatar_url":{"type":"string","title":"Avatar Url"},"is_active":{"title":"Is Active"},"email_verified":{"title":"Email Verified"},"phone_verified":{"title":"Phone Verified"}},"type":"object","title":"Body_update_user_api_auth_user__user_id___put"},"Body_user_register_api_auth_register__post":{"properties":{"email":{"type":"string","title":"Email"},"password":{"type":"string","title":"Password"},"full_name":{"type":"string","title":"Full Name"},"phone_number":{"type":"string","title":"Phone Number"},"timezone":{"type":"string","title":"Timezone","default":"UTC"},"language":{"type":"string","title":"Language","default":"en"}},"type":"object","title":"Body_user_register_api_auth_register__post"},"Body_verify_access_token_api_auth_verify_token__post":{"properties":{"access_token":{"type":"string","title":"Access Token"}},"type":"object","required":["access_token"],"title":"Body_verify_access_token_api_auth_verify_token__post"},"Body_verify_reset_token_api_auth_verify_reset_token__post":{"properties":{"token":{"type":"string","title":"Token"}},"type":"object","required":["token"],"title":"Body_verify_reset_token_api_auth_verify_reset_token__post"},"CategoryCreate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"}},"type":"object","title":"CategoryCreate"},"CategoryOut":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"id":{"type":"string","format":"uuid","title":"Id"},"image_asset":{"anyOf":[{"$ref":"#/components/schemas/SecureAssetDescriptor"},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id"],"title":"CategoryOut"},"CategoryUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"}},"type":"object","title":"CategoryUpdate"},"CompetencyCreate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"grade_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Grade Id"},"subject_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Subject Id"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"}},"type":"object","title":"CompetencyCreate"},"CompetencyOut":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"grade_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Grade Id"},"subject_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Subject Id"},"id":{"type":"string","format":"uuid","title":"Id"},"grade":{"anyOf":[{"$ref":"#/components/schemas/GradeOut"},{"type":"null"}]},"subject":{"anyOf":[{"$ref":"#/components/schemas/SubjectOut"},{"type":"null"}]},"image_asset":{"anyOf":[{"$ref":"#/components/schemas/SecureAssetDescriptor"},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id"],"title":"CompetencyOut"},"CompetencyUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"grade_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Grade Id"},"subject_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Subject Id"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"}},"type":"object","title":"CompetencyUpdate"},"CompleteMultipartUploadRequest":{"properties":{"path":{"type":"string","title":"Path"},"upload_id":{"type":"string","title":"Upload Id"},"parts":{"items":{"$ref":"#/components/schemas/CompletedMultipartUploadPart"},"type":"array","title":"Parts"}},"type":"object","required":["path","upload_id","parts"],"title":"CompleteMultipartUploadRequest"},"CompletedMultipartUploadPart":{"properties":{"part_number":{"type":"integer","title":"Part Number"},"etag":{"type":"string","title":"Etag"}},"type":"object","required":["part_number","etag"],"title":"CompletedMultipartUploadPart"},"ContentDataCreate":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"other_desc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Other Desc"},"cover_image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover Image"},"title_image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title Image"},"tile_image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tile Image"},"file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"is_recommended":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Recommended"},"is_new_added":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is New Added"},"is_most_played":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Most Played"},"recommendation_expiry":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Recommendation Expiry"},"new_added_expiry":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"New Added Expiry"},"language_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Language Id"},"category_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Category Id"},"subcategory_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Subcategory Id"},"skill_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Skill Id"},"grade_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Grade Id"},"subject_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Subject Id"},"competency_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Competency Id"},"playlist_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Playlist Id"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"},"upload_for":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Upload For","default":"file"}},"type":"object","title":"ContentDataCreate"},"ContentDataOut":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"other_desc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Other Desc"},"cover_image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover Image"},"title_image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title Image"},"tile_image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tile Image"},"file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"is_recommended":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Recommended"},"is_new_added":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is New Added"},"is_most_played":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Most Played"},"recommendation_expiry":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Recommendation Expiry"},"new_added_expiry":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"New Added Expiry"},"language_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Language Id"},"category_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Category Id"},"subcategory_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Subcategory Id"},"skill_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Skill Id"},"grade_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Grade Id"},"subject_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Subject Id"},"competency_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Competency Id"},"playlist_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Playlist Id"},"id":{"type":"string","format":"uuid","title":"Id"},"cover_image_asset":{"anyOf":[{"$ref":"#/components/schemas/SecureAssetDescriptor"},{"type":"null"}]},"title_image_asset":{"anyOf":[{"$ref":"#/components/schemas/SecureAssetDescriptor"},{"type":"null"}]},"tile_image_asset":{"anyOf":[{"$ref":"#/components/schemas/SecureAssetDescriptor"},{"type":"null"}]},"file_asset":{"anyOf":[{"$ref":"#/components/schemas/SecureAssetDescriptor"},{"type":"null"}]},"url_asset":{"anyOf":[{"$ref":"#/components/schemas/SecureAssetDescriptor"},{"type":"null"}]},"language":{"anyOf":[{"$ref":"#/components/schemas/LanguageOut"},{"type":"null"}]},"category":{"anyOf":[{"$ref":"#/components/schemas/CategoryOut"},{"type":"null"}]},"subcategory":{"anyOf":[{"$ref":"#/components/schemas/SubcategoryOut"},{"type":"null"}]},"skill":{"anyOf":[{"$ref":"#/components/schemas/SkillSetOut"},{"type":"null"}]},"grade":{"anyOf":[{"$ref":"#/components/schemas/GradeOut"},{"type":"null"}]},"subject":{"anyOf":[{"$ref":"#/components/schemas/SubjectOut"},{"type":"null"}]},"competency":{"anyOf":[{"$ref":"#/components/schemas/CompetencyOut"},{"type":"null"}]},"playlist":{"anyOf":[{"$ref":"#/components/schemas/PlaylistOut"},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id"],"title":"ContentDataOut"},"ContentDataUpdate":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"other_desc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Other Desc"},"cover_image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover Image"},"title_image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title Image"},"tile_image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tile Image"},"file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"is_recommended":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Recommended"},"is_new_added":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is New Added"},"is_most_played":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Most Played"},"recommendation_expiry":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Recommendation Expiry"},"new_added_expiry":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"New Added Expiry"},"language_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Language Id"},"category_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Category Id"},"subcategory_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Subcategory Id"},"skill_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Skill Id"},"grade_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Grade Id"},"subject_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Subject Id"},"competency_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Competency Id"},"playlist_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Playlist Id"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"},"upload_for":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Upload For","default":"file"}},"type":"object","title":"ContentDataUpdate"},"CourseAssetUploadRequest":{"properties":{"file_name":{"type":"string","title":"File Name"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"},"file_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"File Size"},"purpose":{"type":"string","title":"Purpose"},"resource":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource"}},"type":"object","required":["file_name","purpose"],"title":"CourseAssetUploadRequest"},"GradeBase":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"}},"type":"object","title":"GradeBase"},"GradeCreate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"}},"type":"object","title":"GradeCreate"},"GradeOut":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"id":{"type":"string","format":"uuid","title":"Id"},"image_asset":{"anyOf":[{"$ref":"#/components/schemas/SecureAssetDescriptor"},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id"],"title":"GradeOut"},"GradeUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"}},"type":"object","title":"GradeUpdate"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"LanguageCreate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"}},"type":"object","title":"LanguageCreate"},"LanguageOut":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"id":{"type":"string","format":"uuid","title":"Id"},"image_asset":{"anyOf":[{"$ref":"#/components/schemas/SecureAssetDescriptor"},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id"],"title":"LanguageOut"},"LanguageUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"}},"type":"object","title":"LanguageUpdate"},"MoralStoryCreate":{"properties":{"sequence_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sequence Number"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"upload_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Upload Source"},"source_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Status"},"assigned_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assigned To"},"editing_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Editing Status"},"review_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review Status"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"},"video_link":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Video Link"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"is_recommended":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Recommended"},"is_new_added":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is New Added"},"language_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Language Id"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"}},"type":"object","title":"MoralStoryCreate"},"MoralStoryOut":{"properties":{"sequence_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sequence Number"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"upload_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Upload Source"},"source_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Status"},"assigned_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assigned To"},"editing_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Editing Status"},"review_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review Status"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"},"video_link":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Video Link"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"is_recommended":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Recommended"},"is_new_added":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is New Added"},"language_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Language Id"},"id":{"type":"string","format":"uuid","title":"Id"},"language":{"anyOf":[{"$ref":"#/components/schemas/LanguageOut"},{"type":"null"}]},"image_asset":{"anyOf":[{"$ref":"#/components/schemas/SecureAssetDescriptor"},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id"],"title":"MoralStoryOut"},"MoralStoryUpdate":{"properties":{"sequence_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sequence Number"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"upload_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Upload Source"},"source_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Status"},"assigned_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assigned To"},"editing_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Editing Status"},"review_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review Status"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"},"video_link":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Video Link"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"is_recommended":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Recommended"},"is_new_added":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is New Added"},"language_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Language Id"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"}},"type":"object","title":"MoralStoryUpdate"},"MultipartUploadPart":{"properties":{"part_number":{"type":"integer","title":"Part Number"},"presigned_url":{"type":"string","title":"Presigned Url"}},"type":"object","required":["part_number","presigned_url"],"title":"MultipartUploadPart"},"PaginatedResponse":{"properties":{"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"},"results":{"items":{},"type":"array","title":"Results"}},"type":"object","required":["total","page","page_size","results"],"title":"PaginatedResponse"},"Pagination":{"properties":{"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"},"total_pages":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Pages"}},"type":"object","required":["total","page","page_size"],"title":"Pagination"},"PlaylistCreate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"}},"type":"object","title":"PlaylistCreate"},"PlaylistOut":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"id":{"type":"string","format":"uuid","title":"Id"},"image_asset":{"anyOf":[{"$ref":"#/components/schemas/SecureAssetDescriptor"},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id"],"title":"PlaylistOut"},"PlaylistUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"}},"type":"object","title":"PlaylistUpdate"},"RefreshTokenRequest":{"properties":{"refresh_token":{"type":"string","title":"Refresh Token"}},"type":"object","required":["refresh_token"],"title":"RefreshTokenRequest"},"SecureAssetDescriptor":{"properties":{"kind":{"type":"string","title":"Kind"},"encrypted_reference":{"type":"string","title":"Encrypted Reference"},"access_token":{"type":"string","title":"Access Token"},"expires_at":{"type":"string","title":"Expires At"},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Type"},"filename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filename"}},"type":"object","required":["kind","encrypted_reference","access_token","expires_at"],"title":"SecureAssetDescriptor"},"SecureCourseReferencesResponse":{"properties":{"languages":{"items":{"$ref":"#/components/schemas/LanguageOut"},"type":"array","title":"Languages"},"categories":{"items":{"$ref":"#/components/schemas/CategoryOut"},"type":"array","title":"Categories"},"subcategories":{"items":{"$ref":"#/components/schemas/SubcategoryOut"},"type":"array","title":"Subcategories"},"grades":{"items":{"$ref":"#/components/schemas/GradeOut"},"type":"array","title":"Grades"},"subjects":{"items":{"$ref":"#/components/schemas/SubjectOut"},"type":"array","title":"Subjects"},"competencies":{"items":{"$ref":"#/components/schemas/CompetencyOut"},"type":"array","title":"Competencies"},"playlists":{"items":{"$ref":"#/components/schemas/PlaylistOut"},"type":"array","title":"Playlists"},"skillsets":{"items":{"$ref":"#/components/schemas/SkillSetOut"},"type":"array","title":"Skillsets"}},"type":"object","required":["languages","categories","subcategories","grades","subjects","competencies","playlists","skillsets"],"title":"SecureCourseReferencesResponse"},"SkillSetCreate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"category_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Category Id"},"subcategory_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Subcategory Id"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"}},"type":"object","title":"SkillSetCreate"},"SkillSetOut":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"category_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Category Id"},"subcategory_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Subcategory Id"},"id":{"type":"string","format":"uuid","title":"Id"},"category":{"anyOf":[{"$ref":"#/components/schemas/CategoryOut"},{"type":"null"}]},"subcategory":{"anyOf":[{"$ref":"#/components/schemas/SubcategoryOut"},{"type":"null"}]},"image_asset":{"anyOf":[{"$ref":"#/components/schemas/SecureAssetDescriptor"},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id"],"title":"SkillSetOut"},"SkillSetUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"category_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Category Id"},"subcategory_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Subcategory Id"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"}},"type":"object","title":"SkillSetUpdate"},"SubcategoryCreate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"category_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Category Id"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"}},"type":"object","title":"SubcategoryCreate"},"SubcategoryOut":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"category_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Category Id"},"id":{"type":"string","format":"uuid","title":"Id"},"category":{"anyOf":[{"$ref":"#/components/schemas/CategoryOut"},{"type":"null"}]},"image_asset":{"anyOf":[{"$ref":"#/components/schemas/SecureAssetDescriptor"},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id"],"title":"SubcategoryOut"},"SubcategoryUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"category_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Category Id"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"}},"type":"object","title":"SubcategoryUpdate"},"SubjectCreate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"}},"type":"object","title":"SubjectCreate"},"SubjectOut":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"id":{"type":"string","format":"uuid","title":"Id"},"image_asset":{"anyOf":[{"$ref":"#/components/schemas/SecureAssetDescriptor"},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id"],"title":"SubjectOut"},"SubjectUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"image":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"}},"type":"object","title":"SubjectUpdate"},"TokenResponse":{"properties":{"access_token":{"type":"string","title":"Access Token"},"refresh_token":{"type":"string","title":"Refresh Token"},"token_type":{"type":"string","title":"Token Type","default":"bearer"},"is_active":{"type":"boolean","title":"Is Active"}},"type":"object","required":["access_token","refresh_token","is_active"],"title":"TokenResponse"},"UploadRequest":{"properties":{"file_name":{"type":"string","title":"File Name"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"},"file_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"File Size"}},"type":"object","required":["file_name"],"title":"UploadRequest"},"UploadResponse":{"properties":{"upload_type":{"type":"string","title":"Upload Type","default":"single"},"presigned_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Presigned Url"},"asset_path":{"type":"string","title":"Asset Path"},"path":{"type":"string","title":"Path"},"public_url":{"type":"string","title":"Public Url"},"content_type":{"type":"string","title":"Content Type"},"headers":{"additionalProperties":{"type":"string"},"type":"object","title":"Headers"},"method":{"type":"string","title":"Method","default":"PUT"},"expires_in":{"type":"integer","title":"Expires In","default":3600},"max_file_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max File Size"},"upload_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Upload Id"},"part_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Part Size"},"parts":{"items":{"$ref":"#/components/schemas/MultipartUploadPart"},"type":"array","title":"Parts"}},"type":"object","required":["asset_path","path","public_url","content_type"],"title":"UploadResponse"},"UserCreateResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"type":"string","title":"Email"},"full_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"phone_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone Number"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"},"role":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Role"},"status":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Status"},"is_active":{"type":"boolean","title":"Is Active","default":true},"is_superuser":{"type":"boolean","title":"Is Superuser","default":false},"is_staffuser":{"type":"boolean","title":"Is Staffuser","default":false},"is_guest":{"type":"boolean","title":"Is Guest","default":false},"email_verified":{"type":"boolean","title":"Email Verified"},"phone_verified":{"type":"boolean","title":"Phone Verified"},"mfa_enabled":{"type":"boolean","title":"Mfa Enabled"},"last_login_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Login At"},"login_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Login Count"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"temporary_password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Temporary Password"}},"type":"object","required":["id","email","email_verified","phone_verified","mfa_enabled","created_at","updated_at"],"title":"UserCreateResponse"},"UserListResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"type":"string","title":"Email"},"full_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"phone_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone Number"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"},"role":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Role"},"status":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Status"},"is_active":{"type":"boolean","title":"Is Active","default":true},"is_superuser":{"type":"boolean","title":"Is Superuser","default":false},"is_staffuser":{"type":"boolean","title":"Is Staffuser","default":false},"is_guest":{"type":"boolean","title":"Is Guest","default":false},"email_verified":{"type":"boolean","title":"Email Verified"},"phone_verified":{"type":"boolean","title":"Phone Verified"},"last_login_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Login At"},"login_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Login Count"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","email","email_verified","phone_verified"],"title":"UserListResponse"},"UserPagination":{"properties":{"results":{"items":{"$ref":"#/components/schemas/UserListResponse"},"type":"array","title":"Results"},"pagination":{"$ref":"#/components/schemas/Pagination"}},"type":"object","required":["results","pagination"],"title":"UserPagination"},"UserResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"type":"string","title":"Email"},"full_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"phone_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone Number"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"},"role":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Role"},"status":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Status"},"is_active":{"type":"boolean","title":"Is Active","default":true},"is_superuser":{"type":"boolean","title":"Is Superuser","default":false},"is_staffuser":{"type":"boolean","title":"Is Staffuser","default":false},"is_guest":{"type":"boolean","title":"Is Guest","default":false},"email_verified":{"type":"boolean","title":"Email Verified"},"phone_verified":{"type":"boolean","title":"Phone Verified"},"mfa_enabled":{"type":"boolean","title":"Mfa Enabled"},"last_login_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Login At"},"login_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Login Count"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","email","email_verified","phone_verified","mfa_enabled","created_at","updated_at"],"title":"UserResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WorkSheetCreate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File"},"is_recommended":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Recommended"},"is_new_added":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is New Added"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"}},"type":"object","title":"WorkSheetCreate"},"WorkSheetOut":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File"},"is_recommended":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Recommended"},"is_new_added":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is New Added"},"id":{"type":"string","format":"uuid","title":"Id"},"file_asset":{"anyOf":[{"$ref":"#/components/schemas/SecureAssetDescriptor"},{"type":"null"}]},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id"],"title":"WorkSheetOut"},"WorkSheetUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"remark":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remark"},"file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File"},"is_recommended":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Recommended"},"is_new_added":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is New Added"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"}},"type":"object","title":"WorkSheetUpdate"}}}}