-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathopenapi.json
More file actions
1 lines (1 loc) · 19.9 KB
/
openapi.json
File metadata and controls
1 lines (1 loc) · 19.9 KB
1
{"openapi":"3.1.0","info":{"title":"ATOU API","description":"ATOU 后端API系统","version":"0.1.0"},"paths":{"/{path}":{"options":{"summary":"Options Handler","operationId":"options_handler__path__options","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/test":{"get":{"summary":"Test Route","operationId":"test_route_test_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/direct-docs":{"get":{"summary":"Direct Docs","operationId":"direct_docs_direct_docs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/auth/login":{"post":{"tags":["认证"],"summary":"Login","description":"用户登录 - 使用邮箱和密码获取访问令牌","operationId":"login_api_v1_auth_login_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_login_api_v1_auth_login_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponseDTO"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/users/me":{"get":{"tags":["用户管理"],"summary":"Read Users Me","description":"获取当前登录用户的信息","operationId":"read_users_me_api_v1_users_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponseDTO"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/v1/users/{user_id}":{"get":{"tags":["用户管理"],"summary":"Get User","description":"查询特定用户信息 (需要管理员或经理权限)","operationId":"get_user_api_v1_users__user_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponseDTO"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["用户管理"],"summary":"Update User","description":"更新用户信息 (需要管理员权限)","operationId":"update_user_api_v1_users__user_id__put","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserUpdateDTO"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponseDTO"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["用户管理"],"summary":"Delete User","description":"删除用户 (需要管理员权限)","operationId":"delete_user_api_v1_users__user_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","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/v1/users/":{"get":{"tags":["用户管理"],"summary":"List Users","description":"获取用户列表 (需要管理员或经理权限)","operationId":"list_users_api_v1_users__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserResponseDTO"},"title":"Response List Users Api V1 Users Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["用户管理"],"summary":"Create User","description":"创建新用户 (需要管理员权限)","operationId":"create_user_api_v1_users__post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreateDTO"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponseDTO"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/search/character":{"get":{"tags":["搜索服务"],"summary":"Search Character","description":"根据关键词搜索角色信息","operationId":"search_character_api_v1_search_character_get","parameters":[{"name":"keywords","in":"query","required":true,"schema":{"type":"string","description":"搜索关键词","title":"Keywords"},"description":"搜索关键词"},{"name":"page_index","in":"query","required":false,"schema":{"type":"integer","description":"页码, 从0开始","default":0,"title":"Page Index"},"description":"页码, 从0开始"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","description":"每页数量","default":20,"title":"Page Size"},"description":"每页数量"},{"name":"x_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"认证令牌,可选","title":"X Token"},"description":"认证令牌,可选"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/search/element":{"get":{"tags":["搜索服务"],"summary":"Search Element","description":"根据关键词搜索元素信息","operationId":"search_element_api_v1_search_element_get","parameters":[{"name":"keywords","in":"query","required":true,"schema":{"type":"string","description":"搜索关键词","title":"Keywords"},"description":"搜索关键词"},{"name":"page_index","in":"query","required":false,"schema":{"type":"integer","description":"页码, 从0开始","default":0,"title":"Page Index"},"description":"页码, 从0开始"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","description":"每页数量","default":20,"title":"Page Size"},"description":"每页数量"},{"name":"x_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"认证令牌,可选","title":"X Token"},"description":"认证令牌,可选"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tasks/":{"post":{"tags":["任务管理"],"summary":"Create Task","description":"创建新任务\n\n- **task_name**: 任务名称\n- **tags**: 标签列表\n- **variables**: 变量字典\n- **settings**: 任务设置","operationId":"create_task_api_v1_tasks__post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["任务管理"],"summary":"List Tasks","description":"获取任务列表\n\n- 支持按状态过滤\n- 支持按用户名过滤\n- 支持分页\n- 不需要认证","operationId":"list_tasks_api_v1_tasks__get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"任务状态过滤","title":"Status"},"description":"任务状态过滤"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"页码","default":1,"title":"Page"},"description":"页码"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"每页大小","default":10,"title":"Page Size"},"description":"每页大小"},{"name":"username","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"用户名过滤","title":"Username"},"description":"用户名过滤"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tasks/{task_id}":{"get":{"tags":["任务管理"],"summary":"Get Task","description":"获取任务详情\n\n- 返回任务的完整信息,包括结果\n- 不需要认证","operationId":"get_task_api_v1_tasks__task_id__get","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","description":"任务ID","title":"Task Id"},"description":"任务ID"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["任务管理"],"summary":"Delete Task","description":"删除任务\n\n- 只能删除自己的任务","operationId":"delete_task_api_v1_tasks__task_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","description":"任务ID","title":"Task Id"},"description":"任务ID"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tasks/{task_id}/cancel":{"post":{"tags":["任务管理"],"summary":"Cancel Task","description":"取消任务\n\n- 只能取消自己的任务\n- 只有等待中和处理中的任务可以取消","operationId":"cancel_task_api_v1_tasks__task_id__cancel_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","description":"任务ID","title":"Task Id"},"description":"任务ID"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tasks/{task_id}/concurrency":{"post":{"tags":["任务管理"],"summary":"Update Concurrency","description":"更新任务并发数\n\n- 只能更新自己的任务\n- 并发数范围为1-5\n- 只有等待中和处理中的任务可以更新并发数","operationId":"update_concurrency_api_v1_tasks__task_id__concurrency_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","description":"任务ID","title":"Task Id"},"description":"任务ID"},{"name":"concurrency","in":"query","required":true,"schema":{"type":"integer","maximum":5,"minimum":1,"description":"并发数(1-5)","title":"Concurrency"},"description":"并发数(1-5)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_login_api_v1_auth_login_post":{"properties":{"grant_type":{"anyOf":[{"type":"string","pattern":"^password$"},{"type":"null"}],"title":"Grant Type"},"username":{"type":"string","title":"Username"},"password":{"type":"string","title":"Password"},"scope":{"type":"string","title":"Scope","default":""},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Id"},"client_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Secret"}},"type":"object","required":["username","password"],"title":"Body_login_api_v1_auth_login_post"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"Role":{"type":"string","enum":["admin","manager","user","guest"],"title":"Role","description":"用户角色枚举"},"TaskCreate":{"properties":{"task_name":{"type":"string","title":"Task Name","description":"任务名称"},"username":{"type":"string","title":"Username","description":"用户名"},"tags":{"items":{"type":"object"},"type":"array","title":"Tags","description":"标签列表"},"variables":{"additionalProperties":{"items":{"type":"object"},"type":"array"},"type":"object","title":"Variables","description":"变量字典","default":{}},"settings":{"type":"object","title":"Settings","description":"任务设置","default":{}}},"type":"object","required":["task_name","username","tags"],"title":"TaskCreate","description":"创建任务的请求模型"},"TaskDetailResponse":{"properties":{"id":{"type":"string","title":"Id","description":"任务ID"},"task_name":{"type":"string","title":"Task Name","description":"任务名称"},"username":{"type":"string","title":"Username","description":"用户名"},"status":{"$ref":"#/components/schemas/TaskStatus","description":"任务状态"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"创建时间"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At","description":"更新时间"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At","description":"完成时间"},"total_images":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Images","description":"总图片数"},"processed_images":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Processed Images","description":"已处理图片数"},"progress":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Progress","description":"进度百分比"},"concurrency":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Concurrency","description":"并发数"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error","description":"错误信息"},"tags":{"items":{"type":"object"},"type":"array","title":"Tags","description":"标签列表"},"variables":{"additionalProperties":{"items":{"type":"object"},"type":"array"},"type":"object","title":"Variables","description":"变量字典"},"settings":{"type":"object","title":"Settings","description":"任务设置"},"results":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Results","description":"任务结果"}},"type":"object","required":["id","task_name","username","status","created_at","tags","variables","settings"],"title":"TaskDetailResponse","description":"任务详情响应模型"},"TaskListResponse":{"properties":{"tasks":{"items":{"$ref":"#/components/schemas/TaskResponse"},"type":"array","title":"Tasks","description":"任务列表"},"total":{"type":"integer","title":"Total","description":"总任务数"},"page":{"type":"integer","title":"Page","description":"当前页码"},"page_size":{"type":"integer","title":"Page Size","description":"每页大小"}},"type":"object","required":["tasks","total","page","page_size"],"title":"TaskListResponse","description":"任务列表响应模型"},"TaskResponse":{"properties":{"id":{"type":"string","title":"Id","description":"任务ID"},"task_name":{"type":"string","title":"Task Name","description":"任务名称"},"username":{"type":"string","title":"Username","description":"用户名"},"status":{"$ref":"#/components/schemas/TaskStatus","description":"任务状态"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"创建时间"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At","description":"更新时间"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At","description":"完成时间"},"total_images":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Images","description":"总图片数"},"processed_images":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Processed Images","description":"已处理图片数"},"progress":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Progress","description":"进度百分比"},"concurrency":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Concurrency","description":"并发数"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error","description":"错误信息"}},"type":"object","required":["id","task_name","username","status","created_at"],"title":"TaskResponse","description":"任务响应模型"},"TaskStatus":{"type":"string","enum":["pending","processing","completed","failed","cancelled"],"title":"TaskStatus","description":"任务状态枚举"},"TokenResponseDTO":{"properties":{"access_token":{"type":"string","title":"Access Token"},"token_type":{"type":"string","title":"Token Type","default":"bearer"}},"type":"object","required":["access_token"],"title":"TokenResponseDTO","description":"令牌响应DTO"},"UserCreateDTO":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","title":"Password"},"fullname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fullname"},"roles":{"items":{"$ref":"#/components/schemas/Role"},"type":"array","title":"Roles","default":["user"]}},"type":"object","required":["email","password"],"title":"UserCreateDTO","description":"用户创建DTO"},"UserResponseDTO":{"properties":{"_id":{"type":"string","title":"Id"},"email":{"type":"string","format":"email","title":"Email"},"fullname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fullname"},"roles":{"items":{"$ref":"#/components/schemas/Role"},"type":"array","title":"Roles"},"is_active":{"type":"boolean","title":"Is Active"},"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","roles","is_active","created_at","updated_at"],"title":"UserResponseDTO","description":"用户响应DTO"},"UserUpdateDTO":{"properties":{"fullname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fullname"},"roles":{"anyOf":[{"items":{"$ref":"#/components/schemas/Role"},"type":"array"},{"type":"null"}],"title":"Roles"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"UserUpdateDTO","description":"用户更新DTO"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"/api/v1/auth/token"}}}}},"tags":[{"name":"tasks","description":"任务管理API,包括创建、查询、取消和删除任务等操作"},{"name":"users","description":"用户管理API,包括用户注册、登录、信息查询等操作"}]}