organizations.yaml 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. OrganizationTree:
  2. get:
  3. operationId: getOrganizationTree
  4. summary: 查询组织树
  5. description: 响应按请求者生效管理范围裁剪(契约1.33)——锚点管理员仅返回管理范围子树内机构(森林形式,根从锚点机构起,范围外机构与其祖先链不出现,keyword/status 过滤在裁剪后的集合内进行);全局管理员不受限,返回全部机构。
  6. parameters:
  7. - $ref: '../components/parameters.yaml#/XRequestId'
  8. - name: keyword
  9. in: query
  10. schema:
  11. type: string
  12. - name: status
  13. in: query
  14. description: 按状态过滤;不传时返回全部机构(含停用,契约1.29),停用节点仍保留其祖先链以便展示树形层级。
  15. schema:
  16. $ref: '../components/schemas.yaml#/EnabledStatus'
  17. responses:
  18. '200':
  19. description: 组织树
  20. content:
  21. application/json:
  22. schema:
  23. $ref: '../components/schemas.yaml#/OrganizationTreeResponse'
  24. '400':
  25. $ref: '../components/responses.yaml#/InvalidArgument'
  26. '401':
  27. $ref: '../components/responses.yaml#/AuthenticationError'
  28. '403':
  29. $ref: '../components/responses.yaml#/Forbidden'
  30. '500':
  31. $ref: '../components/responses.yaml#/InternalError'
  32. Organizations:
  33. post:
  34. operationId: createOrganization
  35. summary: 创建机构
  36. parameters:
  37. - $ref: '../components/parameters.yaml#/XRequestId'
  38. requestBody:
  39. required: true
  40. content:
  41. application/json:
  42. schema:
  43. $ref: '../components/schemas.yaml#/CreateOrganizationRequest'
  44. responses:
  45. '201':
  46. description: 创建成功
  47. content:
  48. application/json:
  49. schema:
  50. $ref: '../components/schemas.yaml#/OrganizationResponse'
  51. '400':
  52. $ref: '../components/responses.yaml#/InvalidArgument'
  53. '401':
  54. $ref: '../components/responses.yaml#/AuthenticationError'
  55. '403':
  56. $ref: '../components/responses.yaml#/Forbidden'
  57. '409':
  58. $ref: '../components/responses.yaml#/Conflict'
  59. '500':
  60. $ref: '../components/responses.yaml#/InternalError'
  61. OrganizationsReorder:
  62. put:
  63. operationId: reorderOrganizations
  64. summary: 管理员拖动重排同级机构(契约1.27)
  65. description: parentId为null表示顶层机构排序,否则为该父机构直接子级排序;orderedIds为拖动后的目标顺序,被提交机构按原槽位次序互换(未提交机构相对次序不变),同级按步长10重编号sort_no。
  66. parameters:
  67. - $ref: '../components/parameters.yaml#/XRequestId'
  68. requestBody:
  69. required: true
  70. content:
  71. application/json:
  72. schema:
  73. $ref: '../components/schemas.yaml#/ReorderOrganizationsRequest'
  74. responses:
  75. '200':
  76. description: 重排结果
  77. content:
  78. application/json:
  79. schema:
  80. $ref: '../components/schemas.yaml#/ReorderResultResponse'
  81. '400':
  82. $ref: '../components/responses.yaml#/InvalidArgument'
  83. '401':
  84. $ref: '../components/responses.yaml#/AuthenticationError'
  85. '403':
  86. $ref: '../components/responses.yaml#/Forbidden'
  87. '404':
  88. $ref: '../components/responses.yaml#/NotFound'
  89. '409':
  90. $ref: '../components/responses.yaml#/Conflict'
  91. '500':
  92. $ref: '../components/responses.yaml#/InternalError'
  93. Organization:
  94. parameters:
  95. - name: id
  96. in: path
  97. required: true
  98. schema:
  99. $ref: '../components/schemas.yaml#/StringId'
  100. put:
  101. operationId: updateOrganization
  102. summary: 编辑机构
  103. requestBody:
  104. required: true
  105. content:
  106. application/json:
  107. schema:
  108. $ref: '../components/schemas.yaml#/UpdateOrganizationRequest'
  109. responses:
  110. '200':
  111. description: 编辑成功
  112. content:
  113. application/json:
  114. schema:
  115. $ref: '../components/schemas.yaml#/OrganizationResponse'
  116. '400':
  117. $ref: '../components/responses.yaml#/InvalidArgument'
  118. '401':
  119. $ref: '../components/responses.yaml#/AuthenticationError'
  120. '403':
  121. $ref: '../components/responses.yaml#/Forbidden'
  122. '404':
  123. $ref: '../components/responses.yaml#/NotFound'
  124. '409':
  125. $ref: '../components/responses.yaml#/Conflict'
  126. '500':
  127. $ref: '../components/responses.yaml#/InternalError'
  128. delete:
  129. operationId: deleteOrganization
  130. summary: 逻辑删除机构
  131. parameters:
  132. - name: rowVersion
  133. in: query
  134. required: true
  135. schema: {type: integer, minimum: 0}
  136. responses:
  137. '200':
  138. description: 删除成功
  139. content:
  140. application/json:
  141. schema:
  142. $ref: '../components/schemas.yaml#/DeleteOrganizationResponse'
  143. '400':
  144. $ref: '../components/responses.yaml#/InvalidArgument'
  145. '401':
  146. $ref: '../components/responses.yaml#/AuthenticationError'
  147. '403':
  148. $ref: '../components/responses.yaml#/Forbidden'
  149. '404':
  150. $ref: '../components/responses.yaml#/NotFound'
  151. '409':
  152. $ref: '../components/responses.yaml#/Conflict'
  153. '500':
  154. $ref: '../components/responses.yaml#/InternalError'
  155. OrganizationIpAssignments:
  156. parameters:
  157. - name: id
  158. in: path
  159. required: true
  160. schema:
  161. $ref: '../components/schemas.yaml#/StringId'
  162. get:
  163. operationId: listOrganizationIpAssignments
  164. summary: 查询部门可登录IP条目ID列表(空列表表示不限制)
  165. parameters:
  166. - $ref: '../components/parameters.yaml#/XRequestId'
  167. responses:
  168. '200':
  169. description: IP条目ID列表
  170. content:
  171. application/json:
  172. schema:
  173. $ref: '../components/schemas.yaml#/OrgIpAssignmentListResponse'
  174. '401':
  175. $ref: '../components/responses.yaml#/AuthenticationError'
  176. '403':
  177. $ref: '../components/responses.yaml#/Forbidden'
  178. '404':
  179. $ref: '../components/responses.yaml#/NotFound'
  180. '500':
  181. $ref: '../components/responses.yaml#/InternalError'
  182. put:
  183. operationId: updateOrganizationIpAssignments
  184. summary: 整存部门可登录IP列表(空数组=清空=不限制)
  185. parameters:
  186. - $ref: '../components/parameters.yaml#/XRequestId'
  187. requestBody:
  188. required: true
  189. content:
  190. application/json:
  191. schema:
  192. $ref: '../components/schemas.yaml#/UpdateOrgIpAssignmentsRequest'
  193. responses:
  194. '200':
  195. description: 保存成功
  196. content:
  197. application/json:
  198. schema:
  199. $ref: '../components/schemas.yaml#/OrgIpAssignmentsResponse'
  200. '400':
  201. $ref: '../components/responses.yaml#/InvalidArgument'
  202. '401':
  203. $ref: '../components/responses.yaml#/AuthenticationError'
  204. '403':
  205. $ref: '../components/responses.yaml#/Forbidden'
  206. '404':
  207. $ref: '../components/responses.yaml#/NotFound'
  208. '409':
  209. $ref: '../components/responses.yaml#/Conflict'
  210. '500':
  211. $ref: '../components/responses.yaml#/InternalError'