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,19 @@
1
+ export function withAuth(auth) {
2
+ return { auth };
3
+ }
4
+ export function withUserKey(userKey) {
5
+ if (!userKey || userKey.trim().length === 0) {
6
+ throw new Error('userKey is required');
7
+ }
8
+ return withAuth({ type: 'plugin', userKey });
9
+ }
10
+ export function withUserToken(token) {
11
+ if (!token || token.trim().length === 0) {
12
+ throw new Error('user token is required');
13
+ }
14
+ return withAuth({ type: 'user', token });
15
+ }
16
+ export function withPluginToken(token, userKey) {
17
+ return withAuth({ type: 'plugin', token, userKey });
18
+ }
19
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/helpers/auth.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,QAAQ,CAAC,IAAiB;IACxC,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,OAAgB;IAC7D,OAAO,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AACtD,CAAC"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Meego SDK - 飞书项目 Open API TypeScript SDK
3
+ *
4
+ * @example
5
+ * ```typescript
6
+ * import { MeegoClient } from 'meeglesdk';
7
+ *
8
+ * const client = new MeegoClient({
9
+ * pluginId: 'MII_xxx',
10
+ * pluginSecret: 'xxx',
11
+ * });
12
+ *
13
+ * // 获取插件 token
14
+ * const token = await client.auth.getPluginToken();
15
+ *
16
+ * // 通过授权码获取用户 token
17
+ * const userInfo = await client.auth.getUserToken(code);
18
+ * ```
19
+ */
20
+ export { MeegoClient } from './client.js';
21
+ export type { MeegoClientOptions } from './client.js';
22
+ export { MeegoError, MeegoAuthError, MeegoNetworkError, MeegoTimeoutError, MeegoAbortError, ErrorCodes, } from './core/errors.js';
23
+ export { AuthService } from './service/auth/index.js';
24
+ export { ConfigService } from './service/config/config.js';
25
+ export { ConfigBasicService } from './service/config/basic.js';
26
+ export { ConfigFieldService } from './service/config/field.js';
27
+ export { ConfigRelationService } from './service/config/relation.js';
28
+ export { ConfigResourceService } from './service/config/resource.js';
29
+ export { ConfigRoleService } from './service/config/role.js';
30
+ export { ConfigTemplateService } from './service/config/template.js';
31
+ export { MeasureService } from './service/measure/index.js';
32
+ export { MeasureQueryService, MeasureChartsByViewBuilder } from './service/measure/query.js';
33
+ export { SpaceService } from './service/space/space.js';
34
+ export { SpaceRelationService } from './service/space/relation.js';
35
+ export { TenantService } from './service/tenant/tenant.js';
36
+ export { UserService } from './service/user/user.js';
37
+ export { UserQueryService } from './service/user/query.js';
38
+ export { UserSearchService } from './service/user/search.js';
39
+ export { UserGroupService } from './service/user/group.js';
40
+ export { ViewService } from './service/view/view.js';
41
+ export { ViewQueryService } from './service/view/query.js';
42
+ export { WorkItemService } from './service/workitem/workItem.js';
43
+ export { SearchService } from './service/workitem/search.js';
44
+ export { BatchService } from './service/workitem/batch.js';
45
+ export { CommentService } from './service/workitem/comment.js';
46
+ export { SubtaskService } from './service/workitem/subtask.js';
47
+ export { AttachmentService } from './service/workitem/attachment.js';
48
+ export { ChatService } from './service/workitem/chat.js';
49
+ export { WorkflowService } from './service/workitem/workflow.js';
50
+ export { WorkHourService } from './service/workitem/workhour.js';
51
+ export { ReviewService } from './service/workitem/review.js';
52
+ export { withAuth, withUserKey, withUserToken, withPluginToken } from './helpers/auth.js';
53
+ export type { Logger, ApiResponse, AuthApiResponse, ErrorDetail, PaginationParams, PagedWorkItemIds, FieldValuePair, TargetState, FieldConf, DefaultValue, OptionConf, RoleAssign, SimpleField, Option, FieldValue, RoleOwner, Schedule, TimeInterval, ExpandParams, UserDetail, Connection, MultiText, MultiTextDetail, RichText, } from './types/common.js';
54
+ export type { UserStatus, UserNameMap, UserInfo, GetUserDetailRequest, SearchUsersRequest, UserGroupType, CreateUserGroupRequest, CreateUserGroupResponse, UpdateUserGroupMembersRequest, QueryUserGroupMembersRequest, UserGroupInfo, UserGroupMembersPage, } from './types/user.js';
55
+ export type { FlowMode, RoleInfo, ResourceLibSetting, WorkItemTypeBasicConfig, UpdateWorkItemTypeConfigRequest, FieldAllRequest, TeamDataScope, TeamOption, CreateCustomFieldRequest, UpdateCustomFieldRequest, RelationDetail, WorkItemRelation, CreateWorkItemRelationRequest, CreateWorkItemRelationResponse, UpdateWorkItemRelationRequest, DeleteWorkItemRelationRequest, RoleAppearMode, MemberAssignMode, FlowRoleInfo, FlowRoleRequest, CreateFlowRoleRequest, UpdateFlowRoleRequest, DeleteFlowRoleRequest, TaskConf, WorkflowConf, StateFlowConf, TemplateConf, TemplateDetail, TemplateCreateRequest, TemplateCreateResponse, TemplateUpdateRequest, TemplateOperateRequest, ResourceQueryRequest, ResourceWorkItemDetail, ResourceQueryResponse, ResourceCreateRequest, ResourceCreateResponse, ResourceUpdateRequest, ResourceCreateInstanceRequest, ResourceCreateInstanceResponseData, ResourceSearchDataSource, ResourceSearchPaginationRequest, ResourceSearchPagination, ResourceOperateRequest, ResourceSearchParamsRequest, ResourceSearchParamsResponse, } from './types/config.js';
56
+ export type { TenantInfo, GetTenantInfoRequest, TenantEntitlement, GetTenantEntitlementRequest, TenantInstallProjectsResponse, TenantProductInfo, TenantProductPrice, TenantRichText, } from './types/tenant.js';
57
+ export type { ViewType, ViewSystemFlag, ViewAuthStatus, ViewCooperationMode, ViewQuickFilter, ViewCreatedAtRange, ViewConfListRequest, ViewConfInfo, FixViewInfo, FixViewQueryParams, PanoramicViewQueryParams, CreateFixViewRequest, UpdateFixViewRequest, CreateConditionViewRequest, UpdateConditionViewRequest, CreateConditionViewResponse, } from './types/view.js';
58
+ export type { MeasureChartDataItem, MeasureChartData, MeasureChartsByViewRequest, MeasureChartSummary, MeasureChartsPagination, MeasureChartsByViewData, } from './types/measure.js';
59
+ export type { ListProjectsRequest, GetProjectDetailRequest, ProjectDetail, ProjectDetailMap, BusinessLine, WorkItemTypeInfo, TeamInfo, RelationRulesRequest, ProjectRelationRule, RelationRule, RelationWorkItemListRequest, RelationInstance, BindRelationRequest, UnbindRelationRequest, } from './types/space.js';
60
+ export type { SearchGroup, SearchParam, SearchOperator, SearchUser, SearchConjunction, PreOperator, } from './types/workitem.js';
61
+ export type { WorkItemPattern, WorkItemStatus, WorkItemStatusHistory, StateTime, CurrentNode, WorkflowNode, WorkflowInfo, WorkItem, QueryWorkItemExpand, QueryWorkItemRequest, CreateWorkItemRequest, UpdateWorkItemRequest, GetWorkItemMetaResponse, GetOperationRecordsRequest, GetOperationRecordsResponse, UpdateCompoundFieldRequest, WbsViewQueryParams, WbsViewExpand, WbsViewRequest, WbsWorkItem, TransitionRequiredInfoRequest, TransitionRequiredInfo, StateChangeRequest, NodeOperateRequest, UpdateNodeRequest, } from './types/workitem.js';
62
+ export type { WorkHourResourceType, CreateWorkingHourRecord, CreateWorkHourRecordRequest, UpdateWorkingHourRecord, UpdateWorkHourRecordRequest, DeleteWorkHourRecordRequest, ListWorkHourRecordsRequest, WorkHourRecord, ReviewConclusionOptionItem, ReviewOwnerOpinionInfo, ReviewOpinionInfo, ReviewOwnerConclusionInfo, ReviewConclusionInfo, ReviewFinishedInfoItem, ReviewBatchQueryRequest, ReviewBatchQueryResponse, ReviewConclusionOptionRequest, ReviewConclusionOption, UpdateReviewRequest, } from './types/workitem.js';
63
+ export type { GetPluginTokenRequest, GetPluginTokenResponseData, GetUserTokenRequest, GetUserTokenResponseData, RefreshUserTokenRequest, RefreshUserTokenResponseData, UserTokenInput, TokenInfo, TokenType, } from './types/auth.js';
64
+ export type { RequestConfig, RetryConfig, HttpMethod, AuthContext, DownloadProgress, ResponseValidator, } from './core/request.js';
65
+ export type { ServiceRequestOptions, UploadRequestOptions, DownloadOptions } from './core/base-service.js';
66
+ export type { TokenManagerOptions } from './core/token-manager.js';
67
+ export type { RateLimitOptions, RateLimitScope, RateLimitRule, RateLimitPreset, RateLimitConfig, } from './core/rate-limiter.js';
68
+ export { RequestHandler } from './core/request.js';
69
+ export { TokenManager } from './core/token-manager.js';
70
+ export { BaseService } from './core/base-service.js';
71
+ export { defaultLogger } from './types/common.js';
72
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Meego SDK - 飞书项目 Open API TypeScript SDK
3
+ *
4
+ * @example
5
+ * ```typescript
6
+ * import { MeegoClient } from 'meeglesdk';
7
+ *
8
+ * const client = new MeegoClient({
9
+ * pluginId: 'MII_xxx',
10
+ * pluginSecret: 'xxx',
11
+ * });
12
+ *
13
+ * // 获取插件 token
14
+ * const token = await client.auth.getPluginToken();
15
+ *
16
+ * // 通过授权码获取用户 token
17
+ * const userInfo = await client.auth.getUserToken(code);
18
+ * ```
19
+ */
20
+ // 主客户端
21
+ export { MeegoClient } from './client.js';
22
+ // 错误类
23
+ export { MeegoError, MeegoAuthError, MeegoNetworkError, MeegoTimeoutError, MeegoAbortError, ErrorCodes, } from './core/errors.js';
24
+ // 服务
25
+ export { AuthService } from './service/auth/index.js';
26
+ export { ConfigService } from './service/config/config.js';
27
+ export { ConfigBasicService } from './service/config/basic.js';
28
+ export { ConfigFieldService } from './service/config/field.js';
29
+ export { ConfigRelationService } from './service/config/relation.js';
30
+ export { ConfigResourceService } from './service/config/resource.js';
31
+ export { ConfigRoleService } from './service/config/role.js';
32
+ export { ConfigTemplateService } from './service/config/template.js';
33
+ export { MeasureService } from './service/measure/index.js';
34
+ export { MeasureQueryService, MeasureChartsByViewBuilder } from './service/measure/query.js';
35
+ export { SpaceService } from './service/space/space.js';
36
+ export { SpaceRelationService } from './service/space/relation.js';
37
+ export { TenantService } from './service/tenant/tenant.js';
38
+ export { UserService } from './service/user/user.js';
39
+ export { UserQueryService } from './service/user/query.js';
40
+ export { UserSearchService } from './service/user/search.js';
41
+ export { UserGroupService } from './service/user/group.js';
42
+ export { ViewService } from './service/view/view.js';
43
+ export { ViewQueryService } from './service/view/query.js';
44
+ export { WorkItemService } from './service/workitem/workItem.js';
45
+ export { SearchService } from './service/workitem/search.js';
46
+ export { BatchService } from './service/workitem/batch.js';
47
+ export { CommentService } from './service/workitem/comment.js';
48
+ export { SubtaskService } from './service/workitem/subtask.js';
49
+ export { AttachmentService } from './service/workitem/attachment.js';
50
+ export { ChatService } from './service/workitem/chat.js';
51
+ export { WorkflowService } from './service/workitem/workflow.js';
52
+ export { WorkHourService } from './service/workitem/workhour.js';
53
+ export { ReviewService } from './service/workitem/review.js';
54
+ // Auth helper options
55
+ export { withAuth, withUserKey, withUserToken, withPluginToken } from './helpers/auth.js';
56
+ // 核心模块(供高级用户使用)
57
+ export { RequestHandler } from './core/request.js';
58
+ export { TokenManager } from './core/token-manager.js';
59
+ export { BaseService } from './core/base-service.js';
60
+ export { defaultLogger } from './types/common.js';
61
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO;AACP,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,MAAM;AACN,OAAO,EACL,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,UAAU,GACX,MAAM,kBAAkB,CAAC;AAE1B,KAAK;AACL,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,sBAAsB;AACtB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AA2P1F,gBAAgB;AAChB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * 认证服务
3
+ * 100% 参考 Meego API 文档: Meego-API-docs/auth/获取访问凭证.md
4
+ */
5
+ import type { Logger } from '../../types/common.js';
6
+ import type { GetUserTokenResponseData, UserTokenInput } from '../../types/auth.js';
7
+ import type { TokenManager } from '../../core/token-manager.js';
8
+ export declare const API_PATHS: {
9
+ /** 获取插件访问凭证 */
10
+ PLUGIN_TOKEN: string;
11
+ /** 获取用户访问凭证 */
12
+ USER_PLUGIN_TOKEN: string;
13
+ /** 刷新用户访问凭证 */
14
+ REFRESH_TOKEN: string;
15
+ };
16
+ /** AuthService 选项 */
17
+ export interface AuthServiceOptions {
18
+ /** API 基础 URL */
19
+ baseURL: string;
20
+ /** Token 管理器 */
21
+ tokenManager: TokenManager;
22
+ /** Logger */
23
+ logger: Logger;
24
+ /** 请求超时(毫秒),默认 30000 */
25
+ timeout?: number;
26
+ }
27
+ /**
28
+ * 认证服务
29
+ *
30
+ * 提供以下功能:
31
+ * - 获取/刷新 plugin_access_token(通过 TokenManager 自动管理)
32
+ * - 通过授权码换取 user_access_token
33
+ * - 刷新 user_access_token(通过 TokenManager 自动管理)
34
+ */
35
+ export declare class AuthService {
36
+ private readonly baseURL;
37
+ private readonly tokenManager;
38
+ private readonly logger;
39
+ private readonly timeout;
40
+ constructor(options: AuthServiceOptions);
41
+ /**
42
+ * 获取插件访问凭证
43
+ * - 有效期 7200 秒(2 小时)
44
+ * - 自动缓存,临近过期时自动刷新
45
+ */
46
+ getPluginToken(): Promise<string>;
47
+ /**
48
+ * 通过授权码获取用户访问凭证
49
+ *
50
+ * @param code 授权码(前端通过 getAuthCode() 获取,有效期 5 分钟,仅可使用一次)
51
+ * @returns 用户信息,包括 token、user_key、tenant 等
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * // 前端获取授权码
56
+ * const { code } = await window.JSSDK.utils.getAuthCode();
57
+ *
58
+ * // 后端换取 user_access_token
59
+ * const userInfo = await client.auth.getUserToken(code);
60
+ * console.log(userInfo.user_key);
61
+ * ```
62
+ */
63
+ getUserToken(code: string): Promise<GetUserTokenResponseData>;
64
+ /**
65
+ * 手动设置用户访问凭证
66
+ * 用于从外部(如前端传入)设置已有的 token
67
+ */
68
+ setUserToken(input: UserTokenInput): void;
69
+ /**
70
+ * 刷新用户访问凭证
71
+ * 通常不需要手动调用,TokenManager 会自动处理
72
+ */
73
+ refreshUserToken(userKey: string): Promise<string>;
74
+ /**
75
+ * 获取当前有效的 token
76
+ * 如果提供 userKey,优先返回该用户的 user_access_token;否则返回 plugin_access_token
77
+ */
78
+ getActiveToken(userKey?: string): Promise<string>;
79
+ /**
80
+ * 检查是否有有效的用户 token
81
+ */
82
+ hasValidUserToken(userKey: string): boolean;
83
+ /**
84
+ * 清除用户 token
85
+ */
86
+ clearUserToken(userKey: string): void;
87
+ /**
88
+ * 清除所有用户 token
89
+ */
90
+ clearAllUserTokens(): void;
91
+ /**
92
+ * 清除所有 token(包括 plugin token)
93
+ */
94
+ clearAllTokens(): void;
95
+ }
96
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/service/auth/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAmB,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EAEV,wBAAwB,EACxB,cAAc,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAIhE,eAAO,MAAM,SAAS;IACpB,eAAe;;IAEf,eAAe;;IAEf,eAAe;;CAEhB,CAAC;AAKF,qBAAqB;AACrB,MAAM,WAAW,kBAAkB;IACjC,iBAAiB;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa;IACb,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,EAAE,kBAAkB;IAOvC;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAIvC;;;;;;;;;;;;;;;OAeG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA0EnE;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAIzC;;;OAGG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxD;;;OAGG;IACG,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIvD;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAI3C;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAI1B;;OAEG;IACH,cAAc,IAAI,IAAI;CAGvB"}
@@ -0,0 +1,163 @@
1
+ /**
2
+ * 认证服务
3
+ * 100% 参考 Meego API 文档: Meego-API-docs/auth/获取访问凭证.md
4
+ */
5
+ import { MeegoAuthError, MeegoNetworkError, MeegoTimeoutError } from '../../core/errors.js';
6
+ // API 路径
7
+ export const API_PATHS = {
8
+ /** 获取插件访问凭证 */
9
+ PLUGIN_TOKEN: '/open_api/authen/plugin_token',
10
+ /** 获取用户访问凭证 */
11
+ USER_PLUGIN_TOKEN: '/open_api/authen/user_plugin_token',
12
+ /** 刷新用户访问凭证 */
13
+ REFRESH_TOKEN: '/open_api/authen/refresh_token',
14
+ };
15
+ /** 默认超时时间(毫秒) */
16
+ const DEFAULT_TIMEOUT = 30000;
17
+ /**
18
+ * 认证服务
19
+ *
20
+ * 提供以下功能:
21
+ * - 获取/刷新 plugin_access_token(通过 TokenManager 自动管理)
22
+ * - 通过授权码换取 user_access_token
23
+ * - 刷新 user_access_token(通过 TokenManager 自动管理)
24
+ */
25
+ export class AuthService {
26
+ baseURL;
27
+ tokenManager;
28
+ logger;
29
+ timeout;
30
+ constructor(options) {
31
+ this.baseURL = options.baseURL;
32
+ this.tokenManager = options.tokenManager;
33
+ this.logger = options.logger;
34
+ this.timeout = options.timeout ?? DEFAULT_TIMEOUT;
35
+ }
36
+ /**
37
+ * 获取插件访问凭证
38
+ * - 有效期 7200 秒(2 小时)
39
+ * - 自动缓存,临近过期时自动刷新
40
+ */
41
+ async getPluginToken() {
42
+ return this.tokenManager.getPluginToken();
43
+ }
44
+ /**
45
+ * 通过授权码获取用户访问凭证
46
+ *
47
+ * @param code 授权码(前端通过 getAuthCode() 获取,有效期 5 分钟,仅可使用一次)
48
+ * @returns 用户信息,包括 token、user_key、tenant 等
49
+ *
50
+ * @example
51
+ * ```typescript
52
+ * // 前端获取授权码
53
+ * const { code } = await window.JSSDK.utils.getAuthCode();
54
+ *
55
+ * // 后端换取 user_access_token
56
+ * const userInfo = await client.auth.getUserToken(code);
57
+ * console.log(userInfo.user_key);
58
+ * ```
59
+ */
60
+ async getUserToken(code) {
61
+ const url = `${this.baseURL}${API_PATHS.USER_PLUGIN_TOKEN}`;
62
+ const body = {
63
+ code,
64
+ grant_type: 'authorization_code',
65
+ };
66
+ // 需要先获取 plugin_token
67
+ const pluginToken = await this.tokenManager.getPluginToken();
68
+ this.logger.debug('Getting user token with code');
69
+ // 设置超时控制
70
+ const controller = new AbortController();
71
+ const timeoutId = setTimeout(() => controller.abort(), this.timeout);
72
+ try {
73
+ const response = await fetch(url, {
74
+ method: 'POST',
75
+ headers: {
76
+ 'Content-Type': 'application/json',
77
+ 'X-Plugin-Token': pluginToken,
78
+ },
79
+ body: JSON.stringify(body),
80
+ signal: controller.signal,
81
+ });
82
+ clearTimeout(timeoutId);
83
+ if (!response.ok) {
84
+ throw new MeegoNetworkError(`HTTP error: ${response.status} ${response.statusText}`);
85
+ }
86
+ const result = await response.json();
87
+ if (result.error.code !== 0) {
88
+ throw new MeegoAuthError(result.error.code, result.error.msg);
89
+ }
90
+ // 自动设置到 TokenManager
91
+ this.tokenManager.setUserToken({
92
+ userKey: result.data.user_key,
93
+ token: result.data.token,
94
+ expireTime: result.data.expire_time,
95
+ refreshToken: result.data.refresh_token,
96
+ refreshTokenExpireTime: result.data.refresh_token_expire_time,
97
+ saasTenantKey: result.data.saas_tenant_key,
98
+ });
99
+ this.logger.info('User token obtained', {
100
+ userKey: result.data.user_key,
101
+ tenant: result.data.saas_tenant_key,
102
+ });
103
+ return result.data;
104
+ }
105
+ catch (error) {
106
+ clearTimeout(timeoutId);
107
+ if (error instanceof MeegoAuthError) {
108
+ throw error;
109
+ }
110
+ // 处理超时错误
111
+ if (error instanceof Error && error.name === 'AbortError') {
112
+ throw new MeegoTimeoutError(this.timeout);
113
+ }
114
+ throw new MeegoNetworkError(`Failed to get user token: ${error instanceof Error ? error.message : 'Unknown error'}`, error instanceof Error ? error : undefined);
115
+ }
116
+ }
117
+ /**
118
+ * 手动设置用户访问凭证
119
+ * 用于从外部(如前端传入)设置已有的 token
120
+ */
121
+ setUserToken(input) {
122
+ this.tokenManager.setUserToken(input);
123
+ }
124
+ /**
125
+ * 刷新用户访问凭证
126
+ * 通常不需要手动调用,TokenManager 会自动处理
127
+ */
128
+ async refreshUserToken(userKey) {
129
+ return this.tokenManager.refreshUserToken(userKey);
130
+ }
131
+ /**
132
+ * 获取当前有效的 token
133
+ * 如果提供 userKey,优先返回该用户的 user_access_token;否则返回 plugin_access_token
134
+ */
135
+ async getActiveToken(userKey) {
136
+ return this.tokenManager.getActiveToken(userKey);
137
+ }
138
+ /**
139
+ * 检查是否有有效的用户 token
140
+ */
141
+ hasValidUserToken(userKey) {
142
+ return this.tokenManager.hasValidUserToken(userKey);
143
+ }
144
+ /**
145
+ * 清除用户 token
146
+ */
147
+ clearUserToken(userKey) {
148
+ this.tokenManager.clearUserToken(userKey);
149
+ }
150
+ /**
151
+ * 清除所有用户 token
152
+ */
153
+ clearAllUserTokens() {
154
+ this.tokenManager.clearAllUserTokens();
155
+ }
156
+ /**
157
+ * 清除所有 token(包括 plugin token)
158
+ */
159
+ clearAllTokens() {
160
+ this.tokenManager.clearAllTokens();
161
+ }
162
+ }
163
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/service/auth/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * 基础配置服务
3
+ * 100% 参考 Meego API 文档
4
+ */
5
+ import { BaseService, type ServiceRequestOptions } from '../../core/base-service.js';
6
+ import type { WorkItemTypeBasicConfig, UpdateWorkItemTypeConfigRequest } from '../../types/config.js';
7
+ /** API 路径 */
8
+ export declare const API_PATHS: {
9
+ /** 获取工作项基础信息配置 */
10
+ GET_WORK_ITEM_TYPE_CONFIG: string;
11
+ /** 更新工作项基础信息配置 */
12
+ UPDATE_WORK_ITEM_TYPE_CONFIG: string;
13
+ };
14
+ /**
15
+ * 基础配置服务
16
+ */
17
+ export declare class ConfigBasicService extends BaseService {
18
+ /**
19
+ * 获取工作项基础信息配置
20
+ *
21
+ * @param projectKey 空间 ID 或域名
22
+ * @param workItemTypeKey 工作项类型 key
23
+ * @param options 请求选项
24
+ * @returns 工作项类型基础配置
25
+ */
26
+ getWorkItemTypeConfig(projectKey: string, workItemTypeKey: string, options?: ServiceRequestOptions<WorkItemTypeBasicConfig>): Promise<WorkItemTypeBasicConfig>;
27
+ /**
28
+ * 更新工作项基础信息配置
29
+ *
30
+ * @param projectKey 空间 ID 或域名
31
+ * @param workItemTypeKey 工作项类型 key
32
+ * @param request 更新请求
33
+ * @param options 请求选项
34
+ */
35
+ updateWorkItemTypeConfig(projectKey: string, workItemTypeKey: string, request: UpdateWorkItemTypeConfigRequest, options?: ServiceRequestOptions<void>): Promise<void>;
36
+ }
37
+ //# sourceMappingURL=basic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../../src/service/config/basic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,KAAK,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,KAAK,EACV,uBAAuB,EACvB,+BAA+B,EAChC,MAAM,uBAAuB,CAAC;AAE/B,aAAa;AACb,eAAO,MAAM,SAAS;IACpB,kBAAkB;;IAElB,kBAAkB;;CAEnB,CAAC;AAEF;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;IACjD;;;;;;;OAOG;IACG,qBAAqB,CACzB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,qBAAqB,CAAC,uBAAuB,CAAC,GACvD,OAAO,CAAC,uBAAuB,CAAC;IAWnC;;;;;;;OAOG;IACG,wBAAwB,CAC5B,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,+BAA+B,EACxC,OAAO,CAAC,EAAE,qBAAqB,CAAC,IAAI,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;CAUjB"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * 基础配置服务
3
+ * 100% 参考 Meego API 文档
4
+ */
5
+ import { BaseService } from '../../core/base-service.js';
6
+ /** API 路径 */
7
+ export const API_PATHS = {
8
+ /** 获取工作项基础信息配置 */
9
+ GET_WORK_ITEM_TYPE_CONFIG: '/open_api/:project_key/work_item/type/:work_item_type_key',
10
+ /** 更新工作项基础信息配置 */
11
+ UPDATE_WORK_ITEM_TYPE_CONFIG: '/open_api/:project_key/work_item/type/:work_item_type_key',
12
+ };
13
+ /**
14
+ * 基础配置服务
15
+ */
16
+ export class ConfigBasicService extends BaseService {
17
+ /**
18
+ * 获取工作项基础信息配置
19
+ *
20
+ * @param projectKey 空间 ID 或域名
21
+ * @param workItemTypeKey 工作项类型 key
22
+ * @param options 请求选项
23
+ * @returns 工作项类型基础配置
24
+ */
25
+ async getWorkItemTypeConfig(projectKey, workItemTypeKey, options) {
26
+ return this.get(API_PATHS.GET_WORK_ITEM_TYPE_CONFIG, {
27
+ ...options,
28
+ pathParams: {
29
+ project_key: projectKey,
30
+ work_item_type_key: workItemTypeKey,
31
+ ...options?.pathParams,
32
+ },
33
+ });
34
+ }
35
+ /**
36
+ * 更新工作项基础信息配置
37
+ *
38
+ * @param projectKey 空间 ID 或域名
39
+ * @param workItemTypeKey 工作项类型 key
40
+ * @param request 更新请求
41
+ * @param options 请求选项
42
+ */
43
+ async updateWorkItemTypeConfig(projectKey, workItemTypeKey, request, options) {
44
+ await this.put(API_PATHS.UPDATE_WORK_ITEM_TYPE_CONFIG, request, {
45
+ ...options,
46
+ pathParams: {
47
+ project_key: projectKey,
48
+ work_item_type_key: workItemTypeKey,
49
+ ...options?.pathParams,
50
+ },
51
+ });
52
+ }
53
+ }
54
+ //# sourceMappingURL=basic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../src/service/config/basic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAA8B,MAAM,4BAA4B,CAAC;AAMrF,aAAa;AACb,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,kBAAkB;IAClB,yBAAyB,EAAE,2DAA2D;IACtF,kBAAkB;IAClB,4BAA4B,EAAE,2DAA2D;CAC1F,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IACjD;;;;;;;OAOG;IACH,KAAK,CAAC,qBAAqB,CACzB,UAAkB,EAClB,eAAuB,EACvB,OAAwD;QAExD,OAAO,IAAI,CAAC,GAAG,CAA0B,SAAS,CAAC,yBAAyB,EAAE;YAC5E,GAAG,OAAO;YACV,UAAU,EAAE;gBACV,WAAW,EAAE,UAAU;gBACvB,kBAAkB,EAAE,eAAe;gBACnC,GAAG,OAAO,EAAE,UAAU;aACvB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,wBAAwB,CAC5B,UAAkB,EAClB,eAAuB,EACvB,OAAwC,EACxC,OAAqC;QAErC,MAAM,IAAI,CAAC,GAAG,CAAO,SAAS,CAAC,4BAA4B,EAAE,OAAO,EAAE;YACpE,GAAG,OAAO;YACV,UAAU,EAAE;gBACV,WAAW,EAAE,UAAU;gBACvB,kBAAkB,EAAE,eAAe;gBACnC,GAAG,OAAO,EAAE,UAAU;aACvB;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * 配置服务
3
+ * 100% 参考 Meego API 文档
4
+ *
5
+ * 提供字段/模板/角色/关系/资源等配置能力
6
+ */
7
+ import type { RequestHandler } from '../../core/request.js';
8
+ import { BaseService } from '../../core/base-service.js';
9
+ import { ConfigBasicService } from './basic.js';
10
+ import { ConfigFieldService } from './field.js';
11
+ import { ConfigRelationService } from './relation.js';
12
+ import { ConfigResourceService } from './resource.js';
13
+ import { ConfigRoleService } from './role.js';
14
+ import { ConfigTemplateService } from './template.js';
15
+ /**
16
+ * 配置服务
17
+ */
18
+ export declare class ConfigService extends BaseService {
19
+ readonly basic: ConfigBasicService;
20
+ readonly field: ConfigFieldService;
21
+ readonly relation: ConfigRelationService;
22
+ readonly resource: ConfigResourceService;
23
+ readonly role: ConfigRoleService;
24
+ readonly template: ConfigTemplateService;
25
+ constructor(requestHandler: RequestHandler);
26
+ }
27
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/service/config/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD;;GAEG;AACH,qBAAa,aAAc,SAAQ,WAAW;IAC5C,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;gBAE7B,cAAc,EAAE,cAAc;CAS3C"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * 配置服务
3
+ * 100% 参考 Meego API 文档
4
+ *
5
+ * 提供字段/模板/角色/关系/资源等配置能力
6
+ */
7
+ import { BaseService } from '../../core/base-service.js';
8
+ import { ConfigBasicService } from './basic.js';
9
+ import { ConfigFieldService } from './field.js';
10
+ import { ConfigRelationService } from './relation.js';
11
+ import { ConfigResourceService } from './resource.js';
12
+ import { ConfigRoleService } from './role.js';
13
+ import { ConfigTemplateService } from './template.js';
14
+ /**
15
+ * 配置服务
16
+ */
17
+ export class ConfigService extends BaseService {
18
+ basic; // 基础配置
19
+ field; // 字段配置
20
+ relation; // 关系配置
21
+ resource; // 资源库配置
22
+ role; // 角色配置
23
+ template; // 模板配置
24
+ constructor(requestHandler) {
25
+ super(requestHandler);
26
+ this.basic = new ConfigBasicService(requestHandler);
27
+ this.field = new ConfigFieldService(requestHandler);
28
+ this.relation = new ConfigRelationService(requestHandler);
29
+ this.resource = new ConfigResourceService(requestHandler);
30
+ this.role = new ConfigRoleService(requestHandler);
31
+ this.template = new ConfigTemplateService(requestHandler);
32
+ }
33
+ }
34
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/service/config/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IACnC,KAAK,CAAqB,CAAC,OAAO;IAClC,KAAK,CAAqB,CAAC,OAAO;IAClC,QAAQ,CAAwB,CAAC,OAAO;IACxC,QAAQ,CAAwB,CAAC,QAAQ;IACzC,IAAI,CAAoB,CAAC,OAAO;IAChC,QAAQ,CAAwB,CAAC,OAAO;IAEjD,YAAY,cAA8B;QACxC,KAAK,CAAC,cAAc,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,kBAAkB,CAAC,cAAc,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,IAAI,kBAAkB,CAAC,cAAc,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,GAAG,IAAI,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAC5D,CAAC;CACF"}