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 @@
1
+ {"version":3,"file":"subtask.js","sourceRoot":"","sources":["../../../src/service/workitem/subtask.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,225 @@
1
+ /**
2
+ * 工作项服务
3
+ * 100% 参考 Meego API 文档
4
+ *
5
+ * 提供工作项相关的所有功能:
6
+ * - 工作项 CRUD 操作
7
+ * - 搜索与筛选 (search)
8
+ * - 批量操作 (batch)
9
+ * - 评论管理 (comment)
10
+ * - 子任务管理 (subtask)
11
+ * - 附件管理 (attachment)
12
+ * - 群聊管理 (chat)
13
+ * - 工作流操作 (workflow)
14
+ * - 工时登记 (workHour)
15
+ * - 评审管理 (review)
16
+ */
17
+ import type { RequestHandler } from '../../core/request.js';
18
+ import { BaseService, type ServiceRequestOptions } from '../../core/base-service.js';
19
+ import type { WorkItem, QueryWorkItemRequest, CreateWorkItemRequest, UpdateWorkItemRequest, GetWorkItemMetaResponse, GetOperationRecordsRequest, GetOperationRecordsResponse, UpdateCompoundFieldRequest } from '../../types/workitem.js';
20
+ import { SearchService } from './search.js';
21
+ import { BatchService } from './batch.js';
22
+ import { CommentService } from './comment.js';
23
+ import { SubtaskService } from './subtask.js';
24
+ import { AttachmentService } from './attachment.js';
25
+ import { ChatService } from './chat.js';
26
+ import { WorkflowService } from './workflow.js';
27
+ import { WorkHourService } from './workhour.js';
28
+ import { ReviewService } from './review.js';
29
+ /** API 路径 */
30
+ export declare const API_PATHS: {
31
+ /** 创建工作项 */
32
+ CREATE: string;
33
+ /** 获取创建工作项元数据 */
34
+ GET_META: string;
35
+ /** 获取工作项详情 */
36
+ QUERY: string;
37
+ /** 更新工作项 */
38
+ UPDATE: string;
39
+ /** 删除工作项 */
40
+ DELETE: string;
41
+ /** 冻结/解冻工作项 */
42
+ FREEZE: string;
43
+ /** 终止/恢复工作项 */
44
+ ABORT: string;
45
+ /** 获取工作项操作记录 */
46
+ OPERATION_RECORD: string;
47
+ /** 按组更新复合字段值 */
48
+ UPDATE_COMPOUND_FIELD: string;
49
+ };
50
+ /**
51
+ * 工作项服务
52
+ *
53
+ * 提供工作项的增删改查功能,以及相关子服务:
54
+ * - search: 搜索与筛选服务
55
+ * - batch: 批量操作服务
56
+ * - comment: 评论服务
57
+ * - subtask: 子任务服务
58
+ * - attachment: 附件服务
59
+ * - chat: 群聊服务
60
+ * - workflow: 工作流服务
61
+ */
62
+ export declare class WorkItemService extends BaseService {
63
+ /** 搜索服务 */
64
+ readonly search: SearchService;
65
+ /** 批量操作服务 */
66
+ readonly batch: BatchService;
67
+ /** 评论服务 */
68
+ readonly comment: CommentService;
69
+ /** 子任务服务 */
70
+ readonly subtask: SubtaskService;
71
+ /** 附件服务 */
72
+ readonly attachment: AttachmentService;
73
+ /** 群聊服务 */
74
+ readonly chat: ChatService;
75
+ /** 工作流服务 */
76
+ readonly workflow: WorkflowService;
77
+ /** 工时登记服务 */
78
+ readonly workHour: WorkHourService;
79
+ /** 评审服务 */
80
+ readonly review: ReviewService;
81
+ constructor(requestHandler: RequestHandler);
82
+ /**
83
+ * 获取工作项详情
84
+ *
85
+ * @param projectKey 空间 ID 或域名
86
+ * @param workItemTypeKey 工作项类型 key
87
+ * @param request 查询请求
88
+ * @param options 请求选项
89
+ * @returns 工作项列表
90
+ *
91
+ * @example
92
+ * ```typescript
93
+ * const workItems = await client.workItem.query('my-project', 'story', {
94
+ * work_item_ids: [123456],
95
+ * expand: { need_workflow: true }
96
+ * });
97
+ * ```
98
+ */
99
+ query(projectKey: string, workItemTypeKey: string, request: QueryWorkItemRequest, options?: ServiceRequestOptions<WorkItem[]>): Promise<WorkItem[]>;
100
+ /**
101
+ * 创建工作项
102
+ *
103
+ * @param projectKey 空间 ID 或域名
104
+ * @param request 创建请求
105
+ * @param options 请求选项
106
+ * @returns 新创建的工作项 ID
107
+ *
108
+ * @example
109
+ * ```typescript
110
+ * const workItemId = await client.workItem.create('my-project', {
111
+ * work_item_type_key: 'story',
112
+ * name: '新需求',
113
+ * field_value_pairs: [
114
+ * { field_key: 'description', field_value: '需求描述' }
115
+ * ]
116
+ * });
117
+ * ```
118
+ */
119
+ create(projectKey: string, request: CreateWorkItemRequest, options?: ServiceRequestOptions<number>): Promise<number>;
120
+ /**
121
+ * 更新工作项
122
+ *
123
+ * @param projectKey 空间 ID 或域名
124
+ * @param workItemTypeKey 工作项类型 key
125
+ * @param workItemId 工作项 ID
126
+ * @param request 更新请求
127
+ * @param options 请求选项
128
+ */
129
+ update(projectKey: string, workItemTypeKey: string, workItemId: number, request: UpdateWorkItemRequest, options?: ServiceRequestOptions<void>): Promise<void>;
130
+ /**
131
+ * 删除工作项
132
+ *
133
+ * @param projectKey 空间 ID 或域名
134
+ * @param workItemTypeKey 工作项类型 key
135
+ * @param workItemId 工作项 ID
136
+ * @param options 请求选项
137
+ */
138
+ remove(projectKey: string, workItemTypeKey: string, workItemId: number, options?: ServiceRequestOptions<void>): Promise<void>;
139
+ /**
140
+ * 获取创建工作项元数据
141
+ *
142
+ * @param projectKey 空间 ID 或域名
143
+ * @param workItemTypeKey 工作项类型 key
144
+ * @param options 请求选项
145
+ * @returns 元数据(字段列表、模板信息等)
146
+ */
147
+ getMeta(projectKey: string, workItemTypeKey: string, options?: ServiceRequestOptions<GetWorkItemMetaResponse>): Promise<GetWorkItemMetaResponse>;
148
+ /**
149
+ * 冻结/解冻工作项
150
+ *
151
+ * @param workItemIds 工作项 ID 列表
152
+ * @param freeze true: 冻结, false: 解冻
153
+ * @param options 请求选项
154
+ */
155
+ freeze(workItemIds: number[], freeze: boolean, options?: ServiceRequestOptions<void>): Promise<void>;
156
+ /**
157
+ * 终止工作项
158
+ *
159
+ * @param projectKey 空间 ID 或域名
160
+ * @param workItemTypeKey 工作项类型 key
161
+ * @param workItemId 工作项 ID
162
+ * @param reason 终止原因
163
+ * @param options 请求选项
164
+ */
165
+ abort(projectKey: string, workItemTypeKey: string, workItemId: number, reason: string, options?: ServiceRequestOptions<void>): Promise<void>;
166
+ /**
167
+ * 恢复工作项
168
+ *
169
+ * @param projectKey 空间 ID 或域名
170
+ * @param workItemTypeKey 工作项类型 key
171
+ * @param workItemId 工作项 ID
172
+ * @param reason 恢复原因
173
+ * @param options 请求选项
174
+ */
175
+ restore(projectKey: string, workItemTypeKey: string, workItemId: number, reason: string, options?: ServiceRequestOptions<void>): Promise<void>;
176
+ /**
177
+ * 获取工作项操作记录
178
+ *
179
+ * @param request 请求参数
180
+ * @param options 请求选项
181
+ * @returns 操作记录响应
182
+ *
183
+ * @example
184
+ * ```typescript
185
+ * const records = await client.workItem.getOperationRecords({
186
+ * project_key: 'my-project',
187
+ * work_item_ids: [123456],
188
+ * operation_type: ['modify'],
189
+ * page_size: 50,
190
+ * });
191
+ * ```
192
+ */
193
+ getOperationRecords(request: GetOperationRecordsRequest, options?: ServiceRequestOptions<GetOperationRecordsResponse>): Promise<GetOperationRecordsResponse>;
194
+ /**
195
+ * 按组更新复合字段值
196
+ *
197
+ * @param request 请求参数
198
+ * @param options 请求选项
199
+ *
200
+ * @example
201
+ * ```typescript
202
+ * // 添加一组复合字段数据
203
+ * await client.workItem.updateCompoundField({
204
+ * project_key: 'my-project',
205
+ * work_item_id: 123456,
206
+ * field_key: 'field_xxx',
207
+ * action: 'add',
208
+ * fields: [[
209
+ * { field_key: 'sub_field_1', field_value: 'value1' }
210
+ * ]]
211
+ * });
212
+ *
213
+ * // 删除一组复合字段数据
214
+ * await client.workItem.updateCompoundField({
215
+ * project_key: 'my-project',
216
+ * work_item_id: 123456,
217
+ * field_key: 'field_xxx',
218
+ * group_uuid: 'InDBOBCF',
219
+ * action: 'delete',
220
+ * });
221
+ * ```
222
+ */
223
+ updateCompoundField(request: UpdateCompoundFieldRequest, options?: ServiceRequestOptions<void>): Promise<void>;
224
+ }
225
+ //# sourceMappingURL=workItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workItem.d.ts","sourceRoot":"","sources":["../../../src/service/workitem/workItem.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,KAAK,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,KAAK,EACV,QAAQ,EACR,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,0BAA0B,EAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,aAAa;AACb,eAAO,MAAM,SAAS;IACpB,YAAY;;IAEZ,iBAAiB;;IAEjB,cAAc;;IAEd,YAAY;;IAEZ,YAAY;;IAEZ,eAAe;;IAEf,eAAe;;IAEf,gBAAgB;;IAEhB,gBAAgB;;CAEjB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,WAAW;IACX,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAE/B,aAAa;IACb,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAE7B,WAAW;IACX,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAEjC,YAAY;IACZ,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAEjC,WAAW;IACX,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IAEvC,WAAW;IACX,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B,YAAY;IACZ,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IAEnC,aAAa;IACb,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IAEnC,WAAW;IACX,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;gBAEnB,cAAc,EAAE,cAAc;IAe1C;;;;;;;;;;;;;;;;OAgBG;IACG,KAAK,CACT,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,oBAAoB,EAC7B,OAAO,CAAC,EAAE,qBAAqB,CAAC,QAAQ,EAAE,CAAC,GAC1C,OAAO,CAAC,QAAQ,EAAE,CAAC;IAWtB;;;;;;;;;;;;;;;;;;OAkBG;IACG,MAAM,CACV,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,GACtC,OAAO,CAAC,MAAM,CAAC;IAUlB;;;;;;;;OAQG;IACG,MAAM,CACV,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE,qBAAqB,CAAC,IAAI,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;;;OAOG;IACG,MAAM,CACV,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,qBAAqB,CAAC,IAAI,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;;;OAOG;IACG,OAAO,CACX,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,qBAAqB,CAAC,uBAAuB,CAAC,GACvD,OAAO,CAAC,uBAAuB,CAAC;IAWnC;;;;;;OAMG;IACG,MAAM,CACV,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,qBAAqB,CAAC,IAAI,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;IAWhB;;;;;;;;OAQG;IACG,KAAK,CACT,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,qBAAqB,CAAC,IAAI,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;IAgBhB;;;;;;;;OAQG;IACG,OAAO,CACX,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,qBAAqB,CAAC,IAAI,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;IAgBhB;;;;;;;;;;;;;;;;OAgBG;IACG,mBAAmB,CACvB,OAAO,EAAE,0BAA0B,EACnC,OAAO,CAAC,EAAE,qBAAqB,CAAC,2BAA2B,CAAC,GAC3D,OAAO,CAAC,2BAA2B,CAAC;IAIvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,mBAAmB,CACvB,OAAO,EAAE,0BAA0B,EACnC,OAAO,CAAC,EAAE,qBAAqB,CAAC,IAAI,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;CAIjB"}
@@ -0,0 +1,310 @@
1
+ /**
2
+ * 工作项服务
3
+ * 100% 参考 Meego API 文档
4
+ *
5
+ * 提供工作项相关的所有功能:
6
+ * - 工作项 CRUD 操作
7
+ * - 搜索与筛选 (search)
8
+ * - 批量操作 (batch)
9
+ * - 评论管理 (comment)
10
+ * - 子任务管理 (subtask)
11
+ * - 附件管理 (attachment)
12
+ * - 群聊管理 (chat)
13
+ * - 工作流操作 (workflow)
14
+ * - 工时登记 (workHour)
15
+ * - 评审管理 (review)
16
+ */
17
+ import { BaseService } from '../../core/base-service.js';
18
+ import { SearchService } from './search.js';
19
+ import { BatchService } from './batch.js';
20
+ import { CommentService } from './comment.js';
21
+ import { SubtaskService } from './subtask.js';
22
+ import { AttachmentService } from './attachment.js';
23
+ import { ChatService } from './chat.js';
24
+ import { WorkflowService } from './workflow.js';
25
+ import { WorkHourService } from './workhour.js';
26
+ import { ReviewService } from './review.js';
27
+ /** API 路径 */
28
+ export const API_PATHS = {
29
+ /** 创建工作项 */
30
+ CREATE: '/open_api/:project_key/work_item/create',
31
+ /** 获取创建工作项元数据 */
32
+ GET_META: '/open_api/:project_key/work_item/:work_item_type_key/meta',
33
+ /** 获取工作项详情 */
34
+ QUERY: '/open_api/:project_key/work_item/:work_item_type_key/query',
35
+ /** 更新工作项 */
36
+ UPDATE: '/open_api/:project_key/work_item/:work_item_type_key/:work_item_id',
37
+ /** 删除工作项 */
38
+ DELETE: '/open_api/:project_key/work_item/:work_item_type_key/:work_item_id',
39
+ /** 冻结/解冻工作项 */
40
+ FREEZE: '/open_api/work_item/freeze',
41
+ /** 终止/恢复工作项 */
42
+ ABORT: '/open_api/:project_key/work_item/:work_item_type_key/:work_item_id/abort',
43
+ /** 获取工作项操作记录 */
44
+ OPERATION_RECORD: '/open_api/op_record/work_item/list',
45
+ /** 按组更新复合字段值 */
46
+ UPDATE_COMPOUND_FIELD: '/open_api/work_item/field_value/update_compound_field',
47
+ };
48
+ /**
49
+ * 工作项服务
50
+ *
51
+ * 提供工作项的增删改查功能,以及相关子服务:
52
+ * - search: 搜索与筛选服务
53
+ * - batch: 批量操作服务
54
+ * - comment: 评论服务
55
+ * - subtask: 子任务服务
56
+ * - attachment: 附件服务
57
+ * - chat: 群聊服务
58
+ * - workflow: 工作流服务
59
+ */
60
+ export class WorkItemService extends BaseService {
61
+ /** 搜索服务 */
62
+ search;
63
+ /** 批量操作服务 */
64
+ batch;
65
+ /** 评论服务 */
66
+ comment;
67
+ /** 子任务服务 */
68
+ subtask;
69
+ /** 附件服务 */
70
+ attachment;
71
+ /** 群聊服务 */
72
+ chat;
73
+ /** 工作流服务 */
74
+ workflow;
75
+ /** 工时登记服务 */
76
+ workHour;
77
+ /** 评审服务 */
78
+ review;
79
+ constructor(requestHandler) {
80
+ super(requestHandler);
81
+ // 初始化子服务
82
+ this.search = new SearchService(requestHandler);
83
+ this.batch = new BatchService(requestHandler);
84
+ this.comment = new CommentService(requestHandler);
85
+ this.subtask = new SubtaskService(requestHandler);
86
+ this.attachment = new AttachmentService(requestHandler);
87
+ this.chat = new ChatService(requestHandler);
88
+ this.workflow = new WorkflowService(requestHandler);
89
+ this.workHour = new WorkHourService(requestHandler);
90
+ this.review = new ReviewService(requestHandler);
91
+ }
92
+ /**
93
+ * 获取工作项详情
94
+ *
95
+ * @param projectKey 空间 ID 或域名
96
+ * @param workItemTypeKey 工作项类型 key
97
+ * @param request 查询请求
98
+ * @param options 请求选项
99
+ * @returns 工作项列表
100
+ *
101
+ * @example
102
+ * ```typescript
103
+ * const workItems = await client.workItem.query('my-project', 'story', {
104
+ * work_item_ids: [123456],
105
+ * expand: { need_workflow: true }
106
+ * });
107
+ * ```
108
+ */
109
+ async query(projectKey, workItemTypeKey, request, options) {
110
+ return this.post(API_PATHS.QUERY, request, {
111
+ ...options,
112
+ pathParams: {
113
+ project_key: projectKey,
114
+ work_item_type_key: workItemTypeKey,
115
+ ...options?.pathParams,
116
+ },
117
+ });
118
+ }
119
+ /**
120
+ * 创建工作项
121
+ *
122
+ * @param projectKey 空间 ID 或域名
123
+ * @param request 创建请求
124
+ * @param options 请求选项
125
+ * @returns 新创建的工作项 ID
126
+ *
127
+ * @example
128
+ * ```typescript
129
+ * const workItemId = await client.workItem.create('my-project', {
130
+ * work_item_type_key: 'story',
131
+ * name: '新需求',
132
+ * field_value_pairs: [
133
+ * { field_key: 'description', field_value: '需求描述' }
134
+ * ]
135
+ * });
136
+ * ```
137
+ */
138
+ async create(projectKey, request, options) {
139
+ return this.post(API_PATHS.CREATE, request, {
140
+ ...options,
141
+ pathParams: {
142
+ project_key: projectKey,
143
+ ...options?.pathParams,
144
+ },
145
+ });
146
+ }
147
+ /**
148
+ * 更新工作项
149
+ *
150
+ * @param projectKey 空间 ID 或域名
151
+ * @param workItemTypeKey 工作项类型 key
152
+ * @param workItemId 工作项 ID
153
+ * @param request 更新请求
154
+ * @param options 请求选项
155
+ */
156
+ async update(projectKey, workItemTypeKey, workItemId, request, options) {
157
+ await this.put(API_PATHS.UPDATE, request, {
158
+ ...options,
159
+ pathParams: {
160
+ project_key: projectKey,
161
+ work_item_type_key: workItemTypeKey,
162
+ work_item_id: String(workItemId),
163
+ ...options?.pathParams,
164
+ },
165
+ });
166
+ }
167
+ /**
168
+ * 删除工作项
169
+ *
170
+ * @param projectKey 空间 ID 或域名
171
+ * @param workItemTypeKey 工作项类型 key
172
+ * @param workItemId 工作项 ID
173
+ * @param options 请求选项
174
+ */
175
+ async remove(projectKey, workItemTypeKey, workItemId, options) {
176
+ await this.delete(API_PATHS.DELETE, {
177
+ ...options,
178
+ pathParams: {
179
+ project_key: projectKey,
180
+ work_item_type_key: workItemTypeKey,
181
+ work_item_id: String(workItemId),
182
+ ...options?.pathParams,
183
+ },
184
+ });
185
+ }
186
+ /**
187
+ * 获取创建工作项元数据
188
+ *
189
+ * @param projectKey 空间 ID 或域名
190
+ * @param workItemTypeKey 工作项类型 key
191
+ * @param options 请求选项
192
+ * @returns 元数据(字段列表、模板信息等)
193
+ */
194
+ async getMeta(projectKey, workItemTypeKey, options) {
195
+ return this.get(API_PATHS.GET_META, {
196
+ ...options,
197
+ pathParams: {
198
+ project_key: projectKey,
199
+ work_item_type_key: workItemTypeKey,
200
+ ...options?.pathParams,
201
+ },
202
+ });
203
+ }
204
+ /**
205
+ * 冻结/解冻工作项
206
+ *
207
+ * @param workItemIds 工作项 ID 列表
208
+ * @param freeze true: 冻结, false: 解冻
209
+ * @param options 请求选项
210
+ */
211
+ async freeze(workItemIds, freeze, options) {
212
+ await this.put(API_PATHS.FREEZE, {
213
+ work_item_ids: workItemIds,
214
+ action: freeze ? 'freeze' : 'unfreeze',
215
+ }, options);
216
+ }
217
+ /**
218
+ * 终止工作项
219
+ *
220
+ * @param projectKey 空间 ID 或域名
221
+ * @param workItemTypeKey 工作项类型 key
222
+ * @param workItemId 工作项 ID
223
+ * @param reason 终止原因
224
+ * @param options 请求选项
225
+ */
226
+ async abort(projectKey, workItemTypeKey, workItemId, reason, options) {
227
+ await this.put(API_PATHS.ABORT, { action: 'abort', reason }, {
228
+ ...options,
229
+ pathParams: {
230
+ project_key: projectKey,
231
+ work_item_type_key: workItemTypeKey,
232
+ work_item_id: String(workItemId),
233
+ ...options?.pathParams,
234
+ },
235
+ });
236
+ }
237
+ /**
238
+ * 恢复工作项
239
+ *
240
+ * @param projectKey 空间 ID 或域名
241
+ * @param workItemTypeKey 工作项类型 key
242
+ * @param workItemId 工作项 ID
243
+ * @param reason 恢复原因
244
+ * @param options 请求选项
245
+ */
246
+ async restore(projectKey, workItemTypeKey, workItemId, reason, options) {
247
+ await this.put(API_PATHS.ABORT, { action: 'restore', reason }, {
248
+ ...options,
249
+ pathParams: {
250
+ project_key: projectKey,
251
+ work_item_type_key: workItemTypeKey,
252
+ work_item_id: String(workItemId),
253
+ ...options?.pathParams,
254
+ },
255
+ });
256
+ }
257
+ /**
258
+ * 获取工作项操作记录
259
+ *
260
+ * @param request 请求参数
261
+ * @param options 请求选项
262
+ * @returns 操作记录响应
263
+ *
264
+ * @example
265
+ * ```typescript
266
+ * const records = await client.workItem.getOperationRecords({
267
+ * project_key: 'my-project',
268
+ * work_item_ids: [123456],
269
+ * operation_type: ['modify'],
270
+ * page_size: 50,
271
+ * });
272
+ * ```
273
+ */
274
+ async getOperationRecords(request, options) {
275
+ return this.post(API_PATHS.OPERATION_RECORD, request, options);
276
+ }
277
+ /**
278
+ * 按组更新复合字段值
279
+ *
280
+ * @param request 请求参数
281
+ * @param options 请求选项
282
+ *
283
+ * @example
284
+ * ```typescript
285
+ * // 添加一组复合字段数据
286
+ * await client.workItem.updateCompoundField({
287
+ * project_key: 'my-project',
288
+ * work_item_id: 123456,
289
+ * field_key: 'field_xxx',
290
+ * action: 'add',
291
+ * fields: [[
292
+ * { field_key: 'sub_field_1', field_value: 'value1' }
293
+ * ]]
294
+ * });
295
+ *
296
+ * // 删除一组复合字段数据
297
+ * await client.workItem.updateCompoundField({
298
+ * project_key: 'my-project',
299
+ * work_item_id: 123456,
300
+ * field_key: 'field_xxx',
301
+ * group_uuid: 'InDBOBCF',
302
+ * action: 'delete',
303
+ * });
304
+ * ```
305
+ */
306
+ async updateCompoundField(request, options) {
307
+ await this.post(API_PATHS.UPDATE_COMPOUND_FIELD, request, options);
308
+ }
309
+ }
310
+ //# sourceMappingURL=workItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workItem.js","sourceRoot":"","sources":["../../../src/service/workitem/workItem.ts"],"names":[],"mappings":"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"}