{"components":{"schemas":{"Base":{"properties":{"id":{"type":"integer"},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"updatedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"deletedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"}},"type":"object"},"BaseFilter":{"properties":{"pageSize":{"minimum":1,"type":"integer"},"pageIndex":{"minimum":1,"type":"integer"},"keywords":{"type":"string"}},"type":"object"},"UserFilter":{"properties":{"email":{"format":"email","type":"string"},"mobilePhone":{"format":"mobile-phone","type":"string"},"name":{"type":"string"},"gender":{"enum":["Female","Male","Other",0,1,2],"type":"string"},"pageSize":{"minimum":1,"type":"integer"},"pageIndex":{"minimum":1,"type":"integer"},"keywords":{"type":"string"}},"type":"object"},"UserListChunk":{"properties":{"count":{"minimum":0,"type":"integer"},"list":{"items":{"$ref":"#/components/schemas/User"},"type":"array"}},"type":"object","required":["count","list"]},"SignInData":{"properties":{"email":{"format":"email","type":"string"},"password":{"type":"string"}},"type":"object","required":["email","password"]},"OAuthSignInData":{"properties":{"accessToken":{"type":"string"}},"type":"object","required":["accessToken"]},"User":{"properties":{"name":{"type":"string"},"gender":{"enum":["Female","Male","Other",0,1,2],"type":"string"},"birthday":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"avatar":{"format":"url","type":"string"},"email":{"format":"email","type":"string"},"mobilePhone":{"format":"mobile-phone","type":"string"},"password":{"type":"string"},"roles":{"items":{"enum":["Admin","Worker","Client","Robot",0,1,2,3],"type":"string"},"type":"array"},"token":{"type":"string"},"id":{"type":"integer"},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"updatedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"deletedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"}},"type":"object","required":["name"]},"UserBase":{"properties":{"createdBy":{"$ref":"#/components/schemas/User"},"updatedBy":{"$ref":"#/components/schemas/User"},"deletedBy":{"$ref":"#/components/schemas/User"},"id":{"type":"integer"},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"updatedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"deletedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"}},"type":"object"},"UserBaseFilter":{"properties":{"createdBy":{"minimum":1,"type":"integer"},"updatedBy":{"minimum":1,"type":"integer"},"pageSize":{"minimum":1,"type":"integer"},"pageIndex":{"minimum":1,"type":"integer"},"keywords":{"type":"string"}},"type":"object"},"Project":{"properties":{"status":{"enum":["Open","Evaluated","ContractGenerated","InDevelopment","InTesting","Maintenance",0,1,2,3,4,5],"type":"string"},"name":{"type":"string"},"clientLanguage":{"type":"string"},"requirementText":{"type":"string"},"larkDataLink":{"format":"url","type":"string"},"larkDocumentLink":{"format":"url","type":"string"},"confirmedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"confirmedBy":{"$ref":"#/components/schemas/User"},"id":{"type":"integer"},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"updatedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"deletedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"createdBy":{"$ref":"#/components/schemas/User"},"updatedBy":{"$ref":"#/components/schemas/User"},"deletedBy":{"$ref":"#/components/schemas/User"}},"type":"object","required":["name"]},"ProjectFilter":{"properties":{"status":{"enum":["Open","Evaluated","ContractGenerated","InDevelopment","InTesting","Maintenance",0,1,2,3,4,5],"type":"string"},"pageSize":{"minimum":1,"type":"integer"},"pageIndex":{"minimum":1,"type":"integer"},"keywords":{"type":"string"},"createdBy":{"minimum":1,"type":"integer"},"updatedBy":{"minimum":1,"type":"integer"}},"type":"object"},"ProjectListChunk":{"properties":{"count":{"minimum":0,"type":"integer"},"list":{"items":{"$ref":"#/components/schemas/Project"},"type":"array"}},"type":"object","required":["count","list"]},"ProjectBase":{"properties":{"project":{"$ref":"#/components/schemas/Project"},"id":{"type":"integer"},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"updatedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"deletedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"createdBy":{"$ref":"#/components/schemas/User"},"updatedBy":{"$ref":"#/components/schemas/User"},"deletedBy":{"$ref":"#/components/schemas/User"}},"type":"object"},"PrototypeVersion":{"properties":{"type":{"enum":["desktop","mobile"],"type":"string"},"version":{"minimum":0,"type":"integer"},"status":{"enum":["pending","processing","completed","failed"],"type":"string"},"evaluationMessage":{"$ref":"#/components/schemas/ConsultMessage"},"requirementText":{"type":"string"},"gitRepository":{"format":"url","type":"string"},"gitIssueNumber":{"minimum":1,"type":"integer"},"gitBranch":{"type":"string"},"gitPullRequestNumber":{"minimum":1,"type":"integer"},"gitCommentLink":{"format":"url","type":"string"},"gitWorkflowLink":{"format":"url","type":"string"},"gitLogsLink":{"format":"url","type":"string"},"cloudflareDeployLink":{"format":"url","type":"string"},"previewLink":{"format":"url","type":"string"},"errorMessage":{"type":"string"},"id":{"type":"integer"},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"updatedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"deletedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"createdBy":{"$ref":"#/components/schemas/User"},"updatedBy":{"$ref":"#/components/schemas/User"},"deletedBy":{"$ref":"#/components/schemas/User"},"project":{"$ref":"#/components/schemas/Project"}},"type":"object","required":["status","evaluationMessage"]},"PrototypeVersionListChunk":{"properties":{"count":{"minimum":0,"type":"integer"},"list":{"items":{"$ref":"#/components/schemas/PrototypeVersion"},"type":"array"}},"type":"object","required":["count","list"]},"CreatePrototypeVersionInput":{"properties":{"requirementText":{"type":"string"}},"type":"object","required":["requirementText"]},"RequirementSource":{"properties":{"title":{"type":"string"},"description":{"type":"string"},"files":{"items":{"format":"url","type":"string"},"type":"array"},"models":{"items":{"type":"string"},"type":"array"},"scopes":{"items":{"enum":["Prototype","Design","Desktop","Mobile","Service",0,1,2,3,4],"type":"string"},"type":"array"},"developerCount":{"type":"integer"},"factor":{"type":"number"},"price":{"enum":["Low","Medium","High",600,800,1000],"type":"string"},"id":{"type":"integer"},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"updatedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"deletedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"createdBy":{"$ref":"#/components/schemas/User"},"updatedBy":{"$ref":"#/components/schemas/User"},"deletedBy":{"$ref":"#/components/schemas/User"}},"type":"object","required":["title"]},"RequirementEvaluation":{"properties":{"designerCount":{"minimum":0,"type":"integer"},"workload":{"type":"number"},"monthPeriod":{"type":"number"},"budget":{"type":"number"},"id":{"type":"integer"},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"updatedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"deletedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"createdBy":{"$ref":"#/components/schemas/User"},"updatedBy":{"$ref":"#/components/schemas/User"},"deletedBy":{"$ref":"#/components/schemas/User"},"title":{"type":"string"},"description":{"type":"string"},"files":{"items":{"format":"url","type":"string"},"type":"array"},"models":{"items":{"type":"string"},"type":"array"},"scopes":{"items":{"enum":["Prototype","Design","Desktop","Mobile","Service",0,1,2,3,4],"type":"string"},"type":"array"},"developerCount":{"type":"integer"},"factor":{"type":"number"},"price":{"enum":["Low","Medium","High",600,800,1000],"type":"string"}},"type":"object","required":["designerCount","workload","monthPeriod","budget","title"]},"RequirementEvaluationListChunk":{"properties":{"count":{"minimum":0,"type":"integer"},"list":{"items":{"$ref":"#/components/schemas/RequirementEvaluation"},"type":"array"}},"type":"object","required":["count","list"]},"ConsultMessage":{"properties":{"content":{"type":"string"},"evaluation":{"$ref":"#/components/schemas/RequirementEvaluation"},"prototypes":{"items":{"$ref":"#/components/schemas/PrototypeVersion"},"type":"array"},"id":{"type":"integer"},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"updatedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"deletedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"createdBy":{"$ref":"#/components/schemas/User"},"updatedBy":{"$ref":"#/components/schemas/User"},"deletedBy":{"$ref":"#/components/schemas/User"},"project":{"$ref":"#/components/schemas/Project"}},"type":"object","required":["content"]},"ConsultMessageListChunk":{"properties":{"count":{"minimum":0,"type":"integer"},"list":{"items":{"$ref":"#/components/schemas/ConsultMessage"},"type":"array"}},"type":"object","required":["count","list"]},"WebAuthnChallenge":{"properties":{"string":{"type":"string"}},"type":"object","required":["string"]},"WebAuthnUser":{"properties":{"id":{"type":"string"},"name":{"type":"string"},"displayName":{"type":"string"}},"type":"object","required":["name"]},"WebAuthnBase":{"properties":{"type":{"enum":["public-key"],"type":"string"},"id":{"type":"string"},"rawId":{"type":"string"},"authenticatorAttachment":{"enum":["platform","cross-platform"],"type":"string"},"clientExtensionResults":{"type":"object"},"challenge":{"type":"string"}},"type":"object","required":["type","id","rawId","clientExtensionResults","challenge"]},"WebAuthnRegistration":{"properties":{"response":{"type":"object"},"user":{"$ref":"#/components/schemas/WebAuthnUser"},"type":{"enum":["public-key"],"type":"string"},"id":{"type":"string"},"rawId":{"type":"string"},"authenticatorAttachment":{"enum":["platform","cross-platform"],"type":"string"},"clientExtensionResults":{"type":"object"},"challenge":{"type":"string"}},"type":"object","required":["response","user","type","id","rawId","clientExtensionResults","challenge"]},"WebAuthnAuthentication":{"properties":{"response":{"type":"object"},"type":{"enum":["public-key"],"type":"string"},"id":{"type":"string"},"rawId":{"type":"string"},"authenticatorAttachment":{"enum":["platform","cross-platform"],"type":"string"},"clientExtensionResults":{"type":"object"},"challenge":{"type":"string"}},"type":"object","required":["response","type","id","rawId","clientExtensionResults","challenge"]},"WebAuthnAuthenticator":{"properties":{"aaguid":{"type":"string"},"name":{"type":"string"},"icon_light":{"type":"string"},"icon_dark":{"type":"string"},"counter":{"type":"number"}},"type":"object","required":["aaguid","name","icon_light","icon_dark","counter"]},"UserCredential":{"properties":{"uuid":{"type":"string"},"publicKey":{"type":"string"},"algorithm":{"enum":["RS256","ES256","EdDSA"],"type":"string"},"transports":{"items":{"enum":["ble","hybrid","internal","nfc","usb","smart-card"],"type":"string"},"type":"array"},"authenticator":{"$ref":"#/components/schemas/WebAuthnAuthenticator"},"synced":{"type":"boolean"},"userVerified":{"type":"boolean"},"id":{"type":"integer"},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"updatedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"deletedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"createdBy":{"$ref":"#/components/schemas/User"},"updatedBy":{"$ref":"#/components/schemas/User"},"deletedBy":{"$ref":"#/components/schemas/User"}},"type":"object","required":["uuid","publicKey","algorithm","transports","authenticator","synced","userVerified"]},"ActivityLog":{"properties":{"operation":{"enum":["create","update","delete"],"type":"string"},"tableName":{"enum":["User","UserCredential","RequirementEvaluation","Project","ConsultMessage","PrototypeVersion"],"type":"string"},"recordId":{"minimum":1,"type":"integer"},"record":{"type":"object"},"id":{"type":"integer"},"createdAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"updatedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"deletedAt":{"pattern":"\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d.\\d+Z?","type":"string"},"createdBy":{"$ref":"#/components/schemas/User"},"updatedBy":{"$ref":"#/components/schemas/User"},"deletedBy":{"$ref":"#/components/schemas/User"}},"type":"object","required":["operation","tableName","recordId"]},"ActivityLogFilter":{"properties":{"operation":{"enum":["create","update","delete"],"type":"string"},"pageSize":{"minimum":1,"type":"integer"},"pageIndex":{"minimum":1,"type":"integer"},"keywords":{"type":"string"}},"type":"object"},"ActivityLogListChunk":{"properties":{"count":{"minimum":0,"type":"integer"},"list":{"items":{"$ref":"#/components/schemas/ActivityLog"},"type":"array"}},"type":"object","required":["count","list"]},"UserRank":{"properties":{"userId":{"minimum":1,"type":"integer"},"user":{"$ref":"#/components/schemas/User"},"rank":{"minimum":1,"type":"integer"}},"type":"object","required":["userId","user","rank"]},"UserRankListChunk":{"properties":{"count":{"minimum":0,"type":"integer"},"list":{"items":{"$ref":"#/components/schemas/UserRank"},"type":"array"}},"type":"object","required":["count","list"]},"SignedLink":{"properties":{"putLink":{"format":"url","type":"string"},"getLink":{"format":"url","type":"string"}},"type":"object","required":["putLink","getLink"]},"WechatCryptedData":{"properties":{"encryptedData":{"format":"base64","type":"string"},"iv":{"format":"base64","type":"string"}},"type":"object","required":["encryptedData","iv"]}}},"info":{"title":"","version":"1.0.0"},"openapi":"3.0.0","paths":{"/activity-log/user-rank":{"get":{"operationId":"ActivityLogController.getUserRankList","parameters":[{"in":"query","name":"pageSize","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"pageIndex","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"keywords","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRankListChunk"}}},"description":""}},"summary":"Get user rank list","tags":["Activity Log"]}},"/activity-log/user/{id}":{"get":{"operationId":"ActivityLogController.getUserList","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"number"}},{"in":"query","name":"operation","schema":{"enum":["create","update","delete"],"type":"string"}},{"in":"query","name":"pageSize","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"pageIndex","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"keywords","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityLogListChunk"}}},"description":""}},"summary":"Get user list","tags":["Activity Log"]}},"/activity-log/{table}/{id}":{"get":{"operationId":"ActivityLogController.getList","parameters":[{"in":"path","name":"table","required":true,"schema":{}},{"in":"path","name":"id","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"number"}},{"in":"query","name":"operation","schema":{"enum":["create","update","delete"],"type":"string"}},{"in":"query","name":"pageSize","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"pageIndex","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"keywords","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityLogListChunk"}}},"description":""}},"summary":"Get list","tags":["Activity Log"]}},"/user/session/email/{email}/OTP":{"post":{"operationId":"SessionController.sendEmailOTP","parameters":[{"in":"path","name":"email","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Send email otp","tags":["Session"]}},"/user/session/GitHub":{"post":{"operationId":"SessionController.signInWithGithub","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthSignInData"}}},"description":"OAuthSignInData","required":false},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}},"description":""}},"summary":"Sign in with github","tags":["Session"]}},"/user/session":{"get":{"operationId":"SessionController.getSession","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}},"description":""}},"summary":"Get session","tags":["Session"]},"post":{"operationId":"SessionController.signIn","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignInData"}}},"description":"SignInData","required":false},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}},"description":""}},"summary":"Sign in","tags":["Session"]}},"/user":{"post":{"operationId":"UserController.signUp","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignInData"}}},"description":"SignInData","required":false},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}},"description":""}},"summary":"Sign up","tags":["User"]},"get":{"operationId":"UserController.getList","parameters":[{"in":"query","name":"email","schema":{"format":"email","type":"string"}},{"in":"query","name":"mobilePhone","schema":{"format":"mobile-phone","type":"string"}},{"in":"query","name":"name","schema":{"type":"string"}},{"in":"query","name":"gender","schema":{"enum":["Female","Male","Other",0,1,2],"type":"string"}},{"in":"query","name":"pageSize","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"pageIndex","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"keywords","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserListChunk"}}},"description":""}},"summary":"Get list","tags":["User"]}},"/user/{id}":{"get":{"operationId":"UserController.getOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"number"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}},"description":""}},"summary":"Get one","tags":["User"]},"put":{"operationId":"UserController.updateOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"number"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}},"description":"User","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}},"description":""}},"summary":"Update one","tags":["User"]}},"/user/WebAuthn/challenge":{"post":{"operationId":"WebAuthnController.createChallenge","responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebAuthnChallenge"}}},"description":""}},"summary":"Create challenge","tags":["Web Authn"]}},"/user/WebAuthn/registration":{"post":{"operationId":"WebAuthnController.signUp","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebAuthnRegistration"}}},"description":"WebAuthnRegistration","required":false},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}},"description":""}},"summary":"Sign up","tags":["Web Authn"]}},"/user/WebAuthn/authentication":{"post":{"operationId":"WebAuthnController.signIn","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebAuthnAuthentication"}}},"description":"WebAuthnAuthentication","required":false},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}},"description":""}},"summary":"Sign in","tags":["Web Authn"]}},"/_health":{"get":{"operationId":"BaseController.getHealthStatus","responses":{"200":{"content":{"text/html; charset=utf-8":{}},"description":"Successful response"}},"summary":"Get health status","tags":["Base"]}},"":{"get":{"operationId":"BaseController.getIndex","parameters":[{"in":"header","name":"host","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"text/html; charset=utf-8":{}},"description":"Successful response"}},"summary":"Get index","tags":["Base"]}},"/project/{pid}/consult-message":{"post":{"operationId":"ConsultMessageController.createOne","parameters":[{"in":"path","name":"pid","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"number"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsultMessage"}}},"description":"ConsultMessage","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsultMessage"}}},"description":""}},"summary":"Create one","tags":["Consult Message"]},"get":{"operationId":"ConsultMessageController.getByProject","parameters":[{"in":"path","name":"pid","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"number"}},{"in":"query","name":"pageSize","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"pageIndex","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"keywords","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsultMessageListChunk"}}},"description":""}},"summary":"Get by project","tags":["Consult Message"]}},"/project/{pid}/consult-message/{id}":{"get":{"operationId":"ConsultMessageController.getOne","parameters":[{"in":"path","name":"pid","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"number"}},{"in":"path","name":"id","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"number"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsultMessage"}}},"description":""}},"summary":"Get one","tags":["Consult Message"]}},"/project/{pid}/consult-message/evaluation":{"post":{"operationId":"ConsultMessageController.createEvaluation","parameters":[{"in":"path","name":"pid","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"number"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsultMessage"}}},"description":""}},"summary":"Create evaluation","tags":["Consult Message"]}},"/file/signed-link/{path}":{"post":{"operationId":"FileController.createSignedLink","parameters":[{"in":"path","name":"path","required":true,"schema":{"pattern":".+","type":"string"}}],"responses":{"201":{"content":{"text/html; charset=utf-8":{"schema":{"$ref":"#/components/schemas/SignedLink"}}},"description":""}},"summary":"Create signed link","tags":["File"]}},"/file/{path}":{"delete":{"operationId":"FileController.deleteFile","parameters":[{"in":"path","name":"path","required":true,"schema":{"pattern":".+","type":"string"}}],"responses":{"200":{"content":{"text/html; charset=utf-8":{}},"description":"Successful response"}},"summary":"Delete file","tags":["File"]}},"/file/document/text":{"put":{"operationId":"FileController.extractText","requestBody":{"content":{"multipart/form-data":{"schema":{"properties":{"data":{"type":"string","format":"binary"}},"required":[],"type":"object"}}}},"responses":{"200":{"content":{"text/html; charset=utf-8":{}},"description":"Successful response"}},"summary":"Extract text","tags":["File"]}},"/project":{"get":{"operationId":"ProjectController.getProjectList","parameters":[{"in":"query","name":"status","schema":{"enum":["Open","Evaluated","ContractGenerated","InDevelopment","InTesting","Maintenance",0,1,2,3,4,5],"type":"string"}},{"in":"query","name":"pageSize","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"pageIndex","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"keywords","schema":{"type":"string"}},{"in":"query","name":"createdBy","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"updatedBy","schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectListChunk"}}},"description":""}},"summary":"Get project list","tags":["Project"]},"post":{"operationId":"ProjectController.createOne","parameters":[{"in":"header","name":"Accept-Language","required":false,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}},"description":"Project","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}},"description":""}},"summary":"Create one","tags":["Project"]}},"/project/{id}":{"get":{"operationId":"ProjectController.getOne","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"number"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}},"description":""}},"summary":"Get one","tags":["Project"]},"put":{"operationId":"ProjectController.editProfile","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"number"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}},"description":"Project","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}},"description":""}},"summary":"Edit profile","tags":["Project"]}},"/project/{id}/status/{status}":{"patch":{"operationId":"ProjectController.setProjectStatus","parameters":[{"in":"path","name":"id","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"number"}},{"in":"path","name":"status","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"number"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}},"description":""}},"summary":"Set project status","tags":["Project"]}},"/project/{pid}/prototype/{type}/version":{"post":{"operationId":"PrototypeVersionController.createOne","parameters":[{"in":"path","name":"pid","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"number"}},{"in":"path","name":"type","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrototypeVersion"}}},"description":"PrototypeVersion","required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrototypeVersion"}}},"description":""}},"summary":"Create one","tags":["Prototype Version"]},"get":{"operationId":"PrototypeVersionController.getList","parameters":[{"in":"path","name":"pid","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"number"}},{"in":"path","name":"type","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}},{"in":"query","name":"createdBy","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"updatedBy","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"pageSize","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"pageIndex","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"keywords","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrototypeVersionListChunk"}}},"description":""}},"summary":"Get list","tags":["Prototype Version"]}},"/project/{pid}/prototype/{type}/version/{version}":{"get":{"operationId":"PrototypeVersionController.getOne","parameters":[{"in":"path","name":"pid","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"number"}},{"in":"path","name":"type","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}},{"in":"path","name":"version","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"number"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrototypeVersion"}}},"description":""}},"summary":"Get one","tags":["Prototype Version"]}},"/project/{pid}/prototype/{type}/version/{version}/log":{"get":{"operationId":"PrototypeVersionController.getVersionLogs","parameters":[{"in":"path","name":"pid","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"number"}},{"in":"path","name":"type","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}},{"in":"path","name":"version","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"number"}}],"responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Get version logs","tags":["Prototype Version"]}},"/repository/{owner}/{name}/statistic":{"get":{"operationId":"RepositoryController.getSingleStatistic","parameters":[{"in":"path","name":"owner","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}},{"in":"path","name":"name","required":true,"schema":{"pattern":"[^\\/#\\?]+?","type":"string"}},{"in":"query","name":"startedAt","required":true,"schema":{"type":"string"}},{"in":"query","name":"endedAt","required":false,"schema":{"type":"string"}},{"in":"query","name":"users","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{}},"description":"Successful response"}},"summary":"Get single statistic","tags":["Repository"]}}}}