meeglesdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/README.md +191 -0
  2. package/dist/client.d.ts +186 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +197 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/core/base-service.d.ts +156 -0
  7. package/dist/core/base-service.d.ts.map +1 -0
  8. package/dist/core/base-service.js +240 -0
  9. package/dist/core/base-service.js.map +1 -0
  10. package/dist/core/errors.d.ts +181 -0
  11. package/dist/core/errors.d.ts.map +1 -0
  12. package/dist/core/errors.js +250 -0
  13. package/dist/core/errors.js.map +1 -0
  14. package/dist/core/rate-limiter.d.ts +72 -0
  15. package/dist/core/rate-limiter.d.ts.map +1 -0
  16. package/dist/core/rate-limiter.js +269 -0
  17. package/dist/core/rate-limiter.js.map +1 -0
  18. package/dist/core/request.d.ts +270 -0
  19. package/dist/core/request.d.ts.map +1 -0
  20. package/dist/core/request.js +842 -0
  21. package/dist/core/request.js.map +1 -0
  22. package/dist/core/token-manager.d.ts +134 -0
  23. package/dist/core/token-manager.d.ts.map +1 -0
  24. package/dist/core/token-manager.js +412 -0
  25. package/dist/core/token-manager.js.map +1 -0
  26. package/dist/helpers/auth.d.ts +7 -0
  27. package/dist/helpers/auth.d.ts.map +1 -0
  28. package/dist/helpers/auth.js +19 -0
  29. package/dist/helpers/auth.js.map +1 -0
  30. package/dist/index.d.ts +72 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +61 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/service/auth/index.d.ts +96 -0
  35. package/dist/service/auth/index.d.ts.map +1 -0
  36. package/dist/service/auth/index.js +163 -0
  37. package/dist/service/auth/index.js.map +1 -0
  38. package/dist/service/config/basic.d.ts +37 -0
  39. package/dist/service/config/basic.d.ts.map +1 -0
  40. package/dist/service/config/basic.js +54 -0
  41. package/dist/service/config/basic.js.map +1 -0
  42. package/dist/service/config/config.d.ts +27 -0
  43. package/dist/service/config/config.d.ts.map +1 -0
  44. package/dist/service/config/config.js +34 -0
  45. package/dist/service/config/config.js.map +1 -0
  46. package/dist/service/config/field.d.ts +50 -0
  47. package/dist/service/config/field.d.ts.map +1 -0
  48. package/dist/service/config/field.js +74 -0
  49. package/dist/service/config/field.js.map +1 -0
  50. package/dist/service/config/relation.d.ts +53 -0
  51. package/dist/service/config/relation.d.ts.map +1 -0
  52. package/dist/service/config/relation.js +66 -0
  53. package/dist/service/config/relation.js.map +1 -0
  54. package/dist/service/config/resource.d.ts +59 -0
  55. package/dist/service/config/resource.d.ts.map +1 -0
  56. package/dist/service/config/resource.js +75 -0
  57. package/dist/service/config/resource.js.map +1 -0
  58. package/dist/service/config/role.d.ts +55 -0
  59. package/dist/service/config/role.d.ts.map +1 -0
  60. package/dist/service/config/role.js +90 -0
  61. package/dist/service/config/role.js.map +1 -0
  62. package/dist/service/config/template.d.ts +65 -0
  63. package/dist/service/config/template.d.ts.map +1 -0
  64. package/dist/service/config/template.js +95 -0
  65. package/dist/service/config/template.js.map +1 -0
  66. package/dist/service/measure/index.d.ts +26 -0
  67. package/dist/service/measure/index.d.ts.map +1 -0
  68. package/dist/service/measure/index.js +36 -0
  69. package/dist/service/measure/index.js.map +1 -0
  70. package/dist/service/measure/query.d.ts +56 -0
  71. package/dist/service/measure/query.d.ts.map +1 -0
  72. package/dist/service/measure/query.js +86 -0
  73. package/dist/service/measure/query.js.map +1 -0
  74. package/dist/service/space/relation.d.ts +63 -0
  75. package/dist/service/space/relation.d.ts.map +1 -0
  76. package/dist/service/space/relation.js +102 -0
  77. package/dist/service/space/relation.js.map +1 -0
  78. package/dist/service/space/space.d.ts +81 -0
  79. package/dist/service/space/space.d.ts.map +1 -0
  80. package/dist/service/space/space.js +110 -0
  81. package/dist/service/space/space.js.map +1 -0
  82. package/dist/service/tenant/tenant.d.ts +52 -0
  83. package/dist/service/tenant/tenant.d.ts.map +1 -0
  84. package/dist/service/tenant/tenant.js +75 -0
  85. package/dist/service/tenant/tenant.js.map +1 -0
  86. package/dist/service/user/group.d.ts +47 -0
  87. package/dist/service/user/group.d.ts.map +1 -0
  88. package/dist/service/user/group.js +70 -0
  89. package/dist/service/user/group.js.map +1 -0
  90. package/dist/service/user/query.d.ts +25 -0
  91. package/dist/service/user/query.d.ts.map +1 -0
  92. package/dist/service/user/query.js +26 -0
  93. package/dist/service/user/query.js.map +1 -0
  94. package/dist/service/user/search.d.ts +25 -0
  95. package/dist/service/user/search.d.ts.map +1 -0
  96. package/dist/service/user/search.js +26 -0
  97. package/dist/service/user/search.js.map +1 -0
  98. package/dist/service/user/user.d.ts +37 -0
  99. package/dist/service/user/user.d.ts.map +1 -0
  100. package/dist/service/user/user.js +46 -0
  101. package/dist/service/user/user.js.map +1 -0
  102. package/dist/service/view/query.d.ts +52 -0
  103. package/dist/service/view/query.d.ts.map +1 -0
  104. package/dist/service/view/query.js +76 -0
  105. package/dist/service/view/query.js.map +1 -0
  106. package/dist/service/view/view.d.ts +76 -0
  107. package/dist/service/view/view.d.ts.map +1 -0
  108. package/dist/service/view/view.js +108 -0
  109. package/dist/service/view/view.js.map +1 -0
  110. package/dist/service/workitem/attachment.d.ts +143 -0
  111. package/dist/service/workitem/attachment.d.ts.map +1 -0
  112. package/dist/service/workitem/attachment.js +231 -0
  113. package/dist/service/workitem/attachment.js.map +1 -0
  114. package/dist/service/workitem/batch.d.ts +135 -0
  115. package/dist/service/workitem/batch.d.ts.map +1 -0
  116. package/dist/service/workitem/batch.js +146 -0
  117. package/dist/service/workitem/batch.js.map +1 -0
  118. package/dist/service/workitem/chat.d.ts +42 -0
  119. package/dist/service/workitem/chat.d.ts.map +1 -0
  120. package/dist/service/workitem/chat.js +50 -0
  121. package/dist/service/workitem/chat.js.map +1 -0
  122. package/dist/service/workitem/comment.d.ts +139 -0
  123. package/dist/service/workitem/comment.d.ts.map +1 -0
  124. package/dist/service/workitem/comment.js +180 -0
  125. package/dist/service/workitem/comment.js.map +1 -0
  126. package/dist/service/workitem/review.d.ts +44 -0
  127. package/dist/service/workitem/review.d.ts.map +1 -0
  128. package/dist/service/workitem/review.js +49 -0
  129. package/dist/service/workitem/review.js.map +1 -0
  130. package/dist/service/workitem/search.d.ts +213 -0
  131. package/dist/service/workitem/search.d.ts.map +1 -0
  132. package/dist/service/workitem/search.js +242 -0
  133. package/dist/service/workitem/search.js.map +1 -0
  134. package/dist/service/workitem/subtask.d.ts +193 -0
  135. package/dist/service/workitem/subtask.d.ts.map +1 -0
  136. package/dist/service/workitem/subtask.js +247 -0
  137. package/dist/service/workitem/subtask.js.map +1 -0
  138. package/dist/service/workitem/workItem.d.ts +225 -0
  139. package/dist/service/workitem/workItem.d.ts.map +1 -0
  140. package/dist/service/workitem/workItem.js +310 -0
  141. package/dist/service/workitem/workItem.js.map +1 -0
  142. package/dist/service/workitem/workflow.d.ts +214 -0
  143. package/dist/service/workitem/workflow.d.ts.map +1 -0
  144. package/dist/service/workitem/workflow.js +281 -0
  145. package/dist/service/workitem/workflow.js.map +1 -0
  146. package/dist/service/workitem/workhour.d.ts +63 -0
  147. package/dist/service/workitem/workhour.d.ts.map +1 -0
  148. package/dist/service/workitem/workhour.js +93 -0
  149. package/dist/service/workitem/workhour.js.map +1 -0
  150. package/dist/types/auth.d.ts +115 -0
  151. package/dist/types/auth.d.ts.map +1 -0
  152. package/dist/types/auth.js +6 -0
  153. package/dist/types/auth.js.map +1 -0
  154. package/dist/types/common.d.ts +354 -0
  155. package/dist/types/common.d.ts.map +1 -0
  156. package/dist/types/common.js +14 -0
  157. package/dist/types/common.js.map +1 -0
  158. package/dist/types/config.d.ts +305 -0
  159. package/dist/types/config.d.ts.map +1 -0
  160. package/dist/types/config.js +6 -0
  161. package/dist/types/config.js.map +1 -0
  162. package/dist/types/index.d.ts +13 -0
  163. package/dist/types/index.d.ts.map +1 -0
  164. package/dist/types/index.js +13 -0
  165. package/dist/types/index.js.map +1 -0
  166. package/dist/types/measure.d.ts +55 -0
  167. package/dist/types/measure.d.ts.map +1 -0
  168. package/dist/types/measure.js +6 -0
  169. package/dist/types/measure.js.map +1 -0
  170. package/dist/types/space.d.ts +164 -0
  171. package/dist/types/space.d.ts.map +1 -0
  172. package/dist/types/space.js +6 -0
  173. package/dist/types/space.js.map +1 -0
  174. package/dist/types/tenant.d.ts +106 -0
  175. package/dist/types/tenant.d.ts.map +1 -0
  176. package/dist/types/tenant.js +6 -0
  177. package/dist/types/tenant.js.map +1 -0
  178. package/dist/types/user.d.ts +110 -0
  179. package/dist/types/user.d.ts.map +1 -0
  180. package/dist/types/user.js +6 -0
  181. package/dist/types/user.js.map +1 -0
  182. package/dist/types/view.d.ts +162 -0
  183. package/dist/types/view.d.ts.map +1 -0
  184. package/dist/types/view.js +6 -0
  185. package/dist/types/view.js.map +1 -0
  186. package/dist/types/workitem.d.ts +1523 -0
  187. package/dist/types/workitem.d.ts.map +1 -0
  188. package/dist/types/workitem.js +6 -0
  189. package/dist/types/workitem.js.map +1 -0
  190. package/package.json +43 -0
@@ -0,0 +1,180 @@
1
+ /**
2
+ * 评论服务
3
+ * 100% 参考 Meego API 文档
4
+ *
5
+ * 提供工作项评论的创建、查询、更新、删除功能
6
+ */
7
+ import { BaseService } from '../../core/base-service.js';
8
+ /** API 路径 */
9
+ export const API_PATHS = {
10
+ /** 添加评论 */
11
+ CREATE: '/open_api/:project_key/work_item/:work_item_type_key/:work_item_id/comment/create',
12
+ /** 查询评论 */
13
+ LIST: '/open_api/:project_key/work_item/:work_item_type_key/:work_item_id/comments',
14
+ /** 更新评论 */
15
+ UPDATE: '/open_api/:project_key/work_item/:work_item_type_key/:work_item_id/comment/:comment_id',
16
+ /** 删除评论 */
17
+ DELETE: '/open_api/:project_key/work_item/:work_item_type_key/:work_item_id/comment/:comment_id',
18
+ };
19
+ /**
20
+ * 评论服务
21
+ *
22
+ * 提供工作项评论的创建、查询、更新、删除功能
23
+ */
24
+ export class CommentService extends BaseService {
25
+ /**
26
+ * 添加评论
27
+ *
28
+ * 在指定工作项下添加一条评论,添加的评论内容会出现在工作项详情页评论/备注 tab 页中
29
+ *
30
+ * @param projectKey 空间 ID 或域名
31
+ * @param workItemTypeKey 工作项类型
32
+ * @param workItemId 工作项 ID
33
+ * @param request 创建请求(content 或 rich_text 二选一,都有值时 rich_text 优先)
34
+ * @param options 请求选项
35
+ * @returns 新建的评论 ID(字符串格式,避免大整数精度丢失)
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * // 添加纯文本评论
40
+ * const commentId = await client.workItem.comment.create('my-project', 'story', 123456, {
41
+ * content: '这是一条测试评论',
42
+ * });
43
+ * console.log(commentId); // "7587846609728458752"
44
+ *
45
+ * // 添加富文本评论
46
+ * const commentId = await client.workItem.comment.create('my-project', 'story', 123456, {
47
+ * rich_text: [
48
+ * {
49
+ * type: 'paragraph',
50
+ * content: [
51
+ * { type: 'text', text: '加粗文字', attrs: { fontColor: 'green', fontSize: 'h1' } }
52
+ * ]
53
+ * }
54
+ * ]
55
+ * });
56
+ * ```
57
+ */
58
+ async create(projectKey, workItemTypeKey, workItemId, request, options) {
59
+ return this.post(API_PATHS.CREATE, request, {
60
+ ...options,
61
+ pathParams: {
62
+ project_key: projectKey,
63
+ work_item_type_key: workItemTypeKey,
64
+ work_item_id: String(workItemId),
65
+ ...options?.pathParams,
66
+ },
67
+ });
68
+ }
69
+ /**
70
+ * 查询评论列表
71
+ *
72
+ * 获取指定工作项下的所有评论信息,按照创建时间升序返回
73
+ *
74
+ * @param projectKey 空间 ID 或域名
75
+ * @param workItemTypeKey 工作项类型
76
+ * @param workItemId 工作项 ID
77
+ * @param query 分页参数
78
+ * @param options 请求选项
79
+ * @returns 分页的评论列表
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * // 获取所有评论
84
+ * const result = await client.workItem.comment.list('my-project', 'story', 123456);
85
+ * console.log(result.pagination.total); // 评论总数
86
+ * console.log(result.data); // 评论列表
87
+ *
88
+ * // 分页获取评论
89
+ * const result = await client.workItem.comment.list('my-project', 'story', 123456, {
90
+ * page_size: 20,
91
+ * page_num: 1,
92
+ * });
93
+ * ```
94
+ */
95
+ async list(projectKey, workItemTypeKey, workItemId, query, options) {
96
+ return this.getPaginated(API_PATHS.LIST, {
97
+ ...options,
98
+ pathParams: {
99
+ project_key: projectKey,
100
+ work_item_type_key: workItemTypeKey,
101
+ work_item_id: String(workItemId),
102
+ ...options?.pathParams,
103
+ },
104
+ query: query ? { ...query } : undefined,
105
+ });
106
+ }
107
+ /**
108
+ * 更新评论
109
+ *
110
+ * 更新指定评论的内容,仅评论创建人可以更新该评论
111
+ *
112
+ * @param projectKey 空间 ID 或域名
113
+ * @param workItemTypeKey 工作项类型
114
+ * @param workItemId 工作项 ID
115
+ * @param commentId 评论 ID(字符串格式)
116
+ * @param request 更新请求(content 或 rich_text 二选一,都有值时 rich_text 优先)
117
+ * @param options 请求选项
118
+ *
119
+ * @example
120
+ * ```typescript
121
+ * // 更新为纯文本评论
122
+ * await client.workItem.comment.update('my-project', 'story', 123456, '7587846609728458752', {
123
+ * content: '更新后的评论内容',
124
+ * });
125
+ *
126
+ * // 更新为富文本评论
127
+ * await client.workItem.comment.update('my-project', 'story', 123456, commentId, {
128
+ * rich_text: [
129
+ * {
130
+ * type: 'paragraph',
131
+ * content: [
132
+ * { type: 'text', text: '更新后的富文本', attrs: { fontColor: 'red' } }
133
+ * ]
134
+ * }
135
+ * ]
136
+ * });
137
+ * ```
138
+ */
139
+ async update(projectKey, workItemTypeKey, workItemId, commentId, request, options) {
140
+ await this.put(API_PATHS.UPDATE, request, {
141
+ ...options,
142
+ pathParams: {
143
+ project_key: projectKey,
144
+ work_item_type_key: workItemTypeKey,
145
+ work_item_id: String(workItemId),
146
+ comment_id: commentId,
147
+ ...options?.pathParams,
148
+ },
149
+ });
150
+ }
151
+ /**
152
+ * 删除评论
153
+ *
154
+ * 删除工作项下一条指定的评论信息,仅评论创建人可以删除评论
155
+ *
156
+ * @param projectKey 空间 ID 或域名
157
+ * @param workItemTypeKey 工作项类型
158
+ * @param workItemId 工作项 ID
159
+ * @param commentId 评论 ID(字符串格式)
160
+ * @param options 请求选项
161
+ *
162
+ * @example
163
+ * ```typescript
164
+ * await client.workItem.comment.remove('my-project', 'story', 123456, '7587846609728458752');
165
+ * ```
166
+ */
167
+ async remove(projectKey, workItemTypeKey, workItemId, commentId, options) {
168
+ await this.delete(API_PATHS.DELETE, {
169
+ ...options,
170
+ pathParams: {
171
+ project_key: projectKey,
172
+ work_item_type_key: workItemTypeKey,
173
+ work_item_id: String(workItemId),
174
+ comment_id: commentId,
175
+ ...options?.pathParams,
176
+ },
177
+ });
178
+ }
179
+ }
180
+ //# sourceMappingURL=comment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comment.js","sourceRoot":"","sources":["../../../src/service/workitem/comment.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAA8B,MAAM,4BAA4B,CAAC;AASrF,aAAa;AACb,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,WAAW;IACX,MAAM,EAAE,mFAAmF;IAC3F,WAAW;IACX,IAAI,EAAE,6EAA6E;IACnF,WAAW;IACX,MAAM,EAAE,wFAAwF;IAChG,WAAW;IACX,MAAM,EAAE,wFAAwF;CACjG,CAAC;AAEF;;;;GAIG;AACH,MAAM,OAAO,cAAe,SAAQ,WAAW;IAC7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,KAAK,CAAC,MAAM,CACV,UAAkB,EAClB,eAAuB,EACvB,UAAkB,EAClB,OAA6B,EAC7B,OAAuC;QAEvC,OAAO,IAAI,CAAC,IAAI,CACd,SAAS,CAAC,MAAM,EAChB,OAAO,EACP;YACE,GAAG,OAAO;YACV,UAAU,EAAE;gBACV,WAAW,EAAE,UAAU;gBACvB,kBAAkB,EAAE,eAAe;gBACnC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC;gBAChC,GAAG,OAAO,EAAE,UAAU;aACvB;SACF,CACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAK,CAAC,IAAI,CACR,UAAkB,EAClB,eAAuB,EACvB,UAAkB,EAClB,KAAyB,EACzB,OAAwC;QAExC,OAAO,IAAI,CAAC,YAAY,CACtB,SAAS,CAAC,IAAI,EACd;YACE,GAAG,OAAO;YACV,UAAU,EAAE;gBACV,WAAW,EAAE,UAAU;gBACvB,kBAAkB,EAAE,eAAe;gBACnC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC;gBAChC,GAAG,OAAO,EAAE,UAAU;aACvB;YACD,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS;SACxC,CACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,KAAK,CAAC,MAAM,CACV,UAAkB,EAClB,eAAuB,EACvB,UAAkB,EAClB,SAAiB,EACjB,OAA6B,EAC7B,OAAqC;QAErC,MAAM,IAAI,CAAC,GAAG,CACZ,SAAS,CAAC,MAAM,EAChB,OAAO,EACP;YACE,GAAG,OAAO;YACV,UAAU,EAAE;gBACV,WAAW,EAAE,UAAU;gBACvB,kBAAkB,EAAE,eAAe;gBACnC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC;gBAChC,UAAU,EAAE,SAAS;gBACrB,GAAG,OAAO,EAAE,UAAU;aACvB;SACF,CACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,MAAM,CACV,UAAkB,EAClB,eAAuB,EACvB,UAAkB,EAClB,SAAiB,EACjB,OAAqC;QAErC,MAAM,IAAI,CAAC,MAAM,CACf,SAAS,CAAC,MAAM,EAChB;YACE,GAAG,OAAO;YACV,UAAU,EAAE;gBACV,WAAW,EAAE,UAAU;gBACvB,kBAAkB,EAAE,eAAe;gBACnC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC;gBAChC,UAAU,EAAE,SAAS;gBACrB,GAAG,OAAO,EAAE,UAAU;aACvB;SACF,CACF,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * 评审服务
3
+ * 100% 参考 Meego API 文档
4
+ */
5
+ import { BaseService, type ServiceRequestOptions } from '../../core/base-service.js';
6
+ import type { UpdateReviewRequest, ReviewBatchQueryRequest, ReviewBatchQueryResponse, ReviewConclusionOptionRequest, ReviewConclusionOption } from '../../types/workitem.js';
7
+ /** API 路径 */
8
+ export declare const API_PATHS: {
9
+ /** 修改评审结论和评审意见 */
10
+ UPDATE_REVIEW: string;
11
+ /** 批量查询评审意见、评审结论 */
12
+ BATCH_QUERY_REVIEW: string;
13
+ /** 评审结论标签值查询 */
14
+ QUERY_CONCLUSION_OPTION: string;
15
+ };
16
+ /**
17
+ * 评审服务
18
+ */
19
+ export declare class ReviewService extends BaseService {
20
+ /**
21
+ * 修改评审结论和评审意见
22
+ *
23
+ * @param request 更新请求
24
+ * @param options 请求选项
25
+ */
26
+ update(request: UpdateReviewRequest, options?: ServiceRequestOptions<void>): Promise<void>;
27
+ /**
28
+ * 批量查询评审意见、评审结论
29
+ *
30
+ * @param request 查询请求
31
+ * @param options 请求选项
32
+ * @returns 评审信息
33
+ */
34
+ batchQuery(request: ReviewBatchQueryRequest, options?: ServiceRequestOptions<ReviewBatchQueryResponse>): Promise<ReviewBatchQueryResponse>;
35
+ /**
36
+ * 评审结论标签值查询
37
+ *
38
+ * @param request 查询请求
39
+ * @param options 请求选项
40
+ * @returns 评审结论标签列表
41
+ */
42
+ queryConclusionOptions(request: ReviewConclusionOptionRequest, options?: ServiceRequestOptions<ReviewConclusionOption[]>): Promise<ReviewConclusionOption[]>;
43
+ }
44
+ //# sourceMappingURL=review.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/service/workitem/review.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,KAAK,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,EAC7B,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AAEjC,aAAa;AACb,eAAO,MAAM,SAAS;IACpB,kBAAkB;;IAElB,oBAAoB;;IAEpB,gBAAgB;;CAEjB,CAAC;AAEF;;GAEG;AACH,qBAAa,aAAc,SAAQ,WAAW;IAC5C;;;;;OAKG;IACG,MAAM,CACV,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,qBAAqB,CAAC,IAAI,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;;OAMG;IACG,UAAU,CACd,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE,qBAAqB,CAAC,wBAAwB,CAAC,GACxD,OAAO,CAAC,wBAAwB,CAAC;IAIpC;;;;;;OAMG;IACG,sBAAsB,CAC1B,OAAO,EAAE,6BAA6B,EACtC,OAAO,CAAC,EAAE,qBAAqB,CAAC,sBAAsB,EAAE,CAAC,GACxD,OAAO,CAAC,sBAAsB,EAAE,CAAC;CAGrC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * 评审服务
3
+ * 100% 参考 Meego API 文档
4
+ */
5
+ import { BaseService } from '../../core/base-service.js';
6
+ /** API 路径 */
7
+ export const API_PATHS = {
8
+ /** 修改评审结论和评审意见 */
9
+ UPDATE_REVIEW: '/open_api/work_item/finished/update',
10
+ /** 批量查询评审意见、评审结论 */
11
+ BATCH_QUERY_REVIEW: '/open_api/work_item/finished/batch_query',
12
+ /** 评审结论标签值查询 */
13
+ QUERY_CONCLUSION_OPTION: '/open_api/work_item/finished/query_conclusion_option',
14
+ };
15
+ /**
16
+ * 评审服务
17
+ */
18
+ export class ReviewService extends BaseService {
19
+ /**
20
+ * 修改评审结论和评审意见
21
+ *
22
+ * @param request 更新请求
23
+ * @param options 请求选项
24
+ */
25
+ async update(request, options) {
26
+ await this.post(API_PATHS.UPDATE_REVIEW, request, options);
27
+ }
28
+ /**
29
+ * 批量查询评审意见、评审结论
30
+ *
31
+ * @param request 查询请求
32
+ * @param options 请求选项
33
+ * @returns 评审信息
34
+ */
35
+ async batchQuery(request, options) {
36
+ return this.post(API_PATHS.BATCH_QUERY_REVIEW, request, options);
37
+ }
38
+ /**
39
+ * 评审结论标签值查询
40
+ *
41
+ * @param request 查询请求
42
+ * @param options 请求选项
43
+ * @returns 评审结论标签列表
44
+ */
45
+ async queryConclusionOptions(request, options) {
46
+ return this.post(API_PATHS.QUERY_CONCLUSION_OPTION, request, options);
47
+ }
48
+ }
49
+ //# sourceMappingURL=review.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/service/workitem/review.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAA8B,MAAM,4BAA4B,CAAC;AASrF,aAAa;AACb,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,kBAAkB;IAClB,aAAa,EAAE,qCAAqC;IACpD,oBAAoB;IACpB,kBAAkB,EAAE,0CAA0C;IAC9D,gBAAgB;IAChB,uBAAuB,EAAE,sDAAsD;CAChF,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC5C;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACV,OAA4B,EAC5B,OAAqC;QAErC,MAAM,IAAI,CAAC,IAAI,CAAO,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CACd,OAAgC,EAChC,OAAyD;QAEzD,OAAO,IAAI,CAAC,IAAI,CAA2B,SAAS,CAAC,kBAAkB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7F,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,sBAAsB,CAC1B,OAAsC,EACtC,OAAyD;QAEzD,OAAO,IAAI,CAAC,IAAI,CAA2B,SAAS,CAAC,uBAAuB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAClG,CAAC;CACF"}
@@ -0,0 +1,213 @@
1
+ /**
2
+ * 搜索服务
3
+ * 100% 参考 Meego API 文档
4
+ *
5
+ * 提供工作项的多种搜索方式:
6
+ * - 筛选(单空间/跨空间)
7
+ * - 复杂条件搜索
8
+ * - 关联工作项搜索
9
+ * - 全局搜索
10
+ */
11
+ import { BaseService, type ServiceRequestOptions } from '../../core/base-service.js';
12
+ import type { PaginatedResult } from '../../types/common.js';
13
+ import type { WorkItem, FilterWorkItemsRequest, FilterWorkItemsAcrossProjectRequest, SearchWorkItemsByParamsRequest, SearchByRelationRequest, CompositiveSearchRequest, CompositiveSearchItem } from '../../types/workitem.js';
14
+ /** API 路径 */
15
+ export declare const API_PATHS: {
16
+ /** 筛选工作项(单空间) */
17
+ FILTER: string;
18
+ /** 筛选工作项(跨空间) */
19
+ FILTER_ACROSS_PROJECT: string;
20
+ /** 复杂条件搜索(单空间) */
21
+ SEARCH_BY_PARAMS: string;
22
+ /** 关联工作项搜索(单空间) */
23
+ SEARCH_BY_RELATION: string;
24
+ /** 全局搜索 */
25
+ COMPOSITIVE_SEARCH: string;
26
+ };
27
+ /**
28
+ * 搜索服务
29
+ *
30
+ * 提供工作项的多种搜索能力
31
+ */
32
+ export declare class SearchService extends BaseService {
33
+ /**
34
+ * 筛选工作项(单空间)
35
+ *
36
+ * 在指定空间内,根据工作项名称、用户、ID、时间、状态等条件筛选工作项
37
+ *
38
+ * @param projectKey 空间 ID 或域名
39
+ * @param request 筛选请求
40
+ * @param options 请求选项
41
+ * @returns 分页的工作项列表(最多 5000 条)
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * // 按工作项类型和名称筛选
46
+ * const result = await client.workItem.search.filter('my-project', {
47
+ * work_item_type_keys: ['story'],
48
+ * work_item_name: '需求',
49
+ * page_size: 20,
50
+ * });
51
+ *
52
+ * // 按工作项 ID 列表精确查询
53
+ * const result = await client.workItem.search.filter('my-project', {
54
+ * work_item_type_keys: ['story', 'bug'],
55
+ * work_item_ids: [123, 456, 789],
56
+ * });
57
+ *
58
+ * // 按时间范围筛选
59
+ * const result = await client.workItem.search.filter('my-project', {
60
+ * work_item_type_keys: ['story'],
61
+ * created_at: {
62
+ * start: Date.now() - 7 * 24 * 60 * 60 * 1000, // 7天前
63
+ * end: Date.now(),
64
+ * },
65
+ * });
66
+ * ```
67
+ */
68
+ filter(projectKey: string, request: FilterWorkItemsRequest, options?: ServiceRequestOptions<WorkItem>): Promise<PaginatedResult<WorkItem>>;
69
+ /**
70
+ * 筛选工作项(跨空间)
71
+ *
72
+ * 跨多个空间搜索符合条件的工作项
73
+ *
74
+ * @param request 筛选请求
75
+ * @param options 请求选项
76
+ * @returns 分页的工作项列表(最多 5000 条)
77
+ *
78
+ * @example
79
+ * ```typescript
80
+ * // 跨空间筛选需求
81
+ * const result = await client.workItem.search.filterAcrossProject({
82
+ * work_item_type_key: 'story',
83
+ * project_keys: ['project1', 'project2'],
84
+ * work_item_name: '需求',
85
+ * });
86
+ *
87
+ * // 按用户筛选
88
+ * const result = await client.workItem.search.filterAcrossProject({
89
+ * work_item_type_key: 'story',
90
+ * search_user: {
91
+ * user_keys: ['user123'],
92
+ * field_key: 'created_by',
93
+ * },
94
+ * });
95
+ * ```
96
+ */
97
+ filterAcrossProject(request: FilterWorkItemsAcrossProjectRequest, options?: ServiceRequestOptions<WorkItem>): Promise<PaginatedResult<WorkItem>>;
98
+ /**
99
+ * 复杂条件搜索(单空间)
100
+ *
101
+ * 使用复杂的搜索条件组合搜索工作项,支持多种操作符和嵌套条件
102
+ *
103
+ * @param projectKey 空间 ID 或域名
104
+ * @param workItemTypeKey 工作项类型
105
+ * @param request 搜索请求
106
+ * @param options 请求选项
107
+ * @returns 分页的工作项列表(最多 5000 条)
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * // 搜索指定 ID 的工作项
112
+ * const result = await client.workItem.search.searchByParams('my-project', 'story', {
113
+ * search_group: {
114
+ * conjunction: 'AND',
115
+ * search_params: [
116
+ * {
117
+ * param_key: 'work_item_id',
118
+ * value: [123456],
119
+ * operator: 'HAS ANY OF',
120
+ * },
121
+ * ],
122
+ * },
123
+ * });
124
+ *
125
+ * // 组合条件搜索
126
+ * const result = await client.workItem.search.searchByParams('my-project', 'story', {
127
+ * search_group: {
128
+ * conjunction: 'AND',
129
+ * search_params: [
130
+ * { param_key: 'priority', value: ['P0', 'P1'], operator: 'HAS ANY OF' },
131
+ * { param_key: 'created_at', value: 1700000000000, operator: '>=' },
132
+ * ],
133
+ * },
134
+ * expand: { need_workflow: true },
135
+ * });
136
+ * ```
137
+ */
138
+ searchByParams(projectKey: string, workItemTypeKey: string, request: SearchWorkItemsByParamsRequest, options?: ServiceRequestOptions<WorkItem>): Promise<PaginatedResult<WorkItem>>;
139
+ /**
140
+ * 搜索关联工作项
141
+ *
142
+ * 获取与指定工作项存在关联关系的工作项列表
143
+ *
144
+ * @param projectKey 空间 ID 或域名
145
+ * @param workItemTypeKey 工作项类型
146
+ * @param workItemId 工作项 ID
147
+ * @param request 搜索请求
148
+ * @param options 请求选项
149
+ * @returns 分页的关联工作项列表(最多 2000 条)
150
+ *
151
+ * @example
152
+ * ```typescript
153
+ * // 获取需求关联的缺陷列表
154
+ * const result = await client.workItem.search.searchByRelation(
155
+ * 'my-project',
156
+ * 'story',
157
+ * 123456,
158
+ * {
159
+ * relation_work_item_type_key: 'issue',
160
+ * relation_key: '_field_linked_story',
161
+ * }
162
+ * );
163
+ *
164
+ * // 使用对接标识查询
165
+ * const result = await client.workItem.search.searchByRelation(
166
+ * 'my-project',
167
+ * 'story',
168
+ * 123456,
169
+ * {
170
+ * relation_work_item_type_key: 'bug',
171
+ * relation_key: 'my_relation_alias',
172
+ * relation_type: 1, // 使用对接标识
173
+ * }
174
+ * );
175
+ * ```
176
+ */
177
+ searchByRelation(projectKey: string, workItemTypeKey: string, workItemId: number, request: SearchByRelationRequest, options?: ServiceRequestOptions<WorkItem>): Promise<PaginatedResult<WorkItem>>;
178
+ /**
179
+ * 全局搜索
180
+ *
181
+ * 按照标题、描述、人员等多字段跨空间搜索工作项或视图
182
+ *
183
+ * @param request 搜索请求
184
+ * @param options 请求选项
185
+ * @returns 分页的搜索结果(最多 200 条)
186
+ *
187
+ * @example
188
+ * ```typescript
189
+ * // 搜索工作项
190
+ * const result = await client.workItem.search.compositiveSearch({
191
+ * query_type: 'workitem',
192
+ * query: '测试需求',
193
+ * query_sub_type: ['story'],
194
+ * page_size: 20,
195
+ * });
196
+ *
197
+ * // 搜索视图
198
+ * const result = await client.workItem.search.compositiveSearch({
199
+ * query_type: 'view',
200
+ * query: '我的视图',
201
+ * });
202
+ *
203
+ * // 限定空间范围搜索
204
+ * const result = await client.workItem.search.compositiveSearch({
205
+ * query_type: 'workitem',
206
+ * query: '紧急',
207
+ * project_keys: ['project1', 'project2'],
208
+ * });
209
+ * ```
210
+ */
211
+ compositiveSearch(request: CompositiveSearchRequest, options?: ServiceRequestOptions<CompositiveSearchItem>): Promise<PaginatedResult<CompositiveSearchItem>>;
212
+ }
213
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/service/workitem/search.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,KAAK,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EACV,QAAQ,EACR,sBAAsB,EACtB,mCAAmC,EACnC,8BAA8B,EAC9B,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AAEjC,aAAa;AACb,eAAO,MAAM,SAAS;IACpB,iBAAiB;;IAEjB,iBAAiB;;IAEjB,kBAAkB;;IAElB,mBAAmB;;IAGnB,WAAW;;CAEZ,CAAC;AAEF;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,WAAW;IAC5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,MAAM,CACV,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,sBAAsB,EAC/B,OAAO,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GACxC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAUrC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,mBAAmB,CACvB,OAAO,EAAE,mCAAmC,EAC5C,OAAO,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GACxC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAIrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACG,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,8BAA8B,EACvC,OAAO,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GACxC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAWrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,GACxC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAYrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACG,iBAAiB,CACrB,OAAO,EAAE,wBAAwB,EACjC,OAAO,CAAC,EAAE,qBAAqB,CAAC,qBAAqB,CAAC,GACrD,OAAO,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC;CAOnD"}