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.
- package/README.md +191 -0
- package/dist/client.d.ts +186 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +197 -0
- package/dist/client.js.map +1 -0
- package/dist/core/base-service.d.ts +156 -0
- package/dist/core/base-service.d.ts.map +1 -0
- package/dist/core/base-service.js +240 -0
- package/dist/core/base-service.js.map +1 -0
- package/dist/core/errors.d.ts +181 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +250 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/rate-limiter.d.ts +72 -0
- package/dist/core/rate-limiter.d.ts.map +1 -0
- package/dist/core/rate-limiter.js +269 -0
- package/dist/core/rate-limiter.js.map +1 -0
- package/dist/core/request.d.ts +270 -0
- package/dist/core/request.d.ts.map +1 -0
- package/dist/core/request.js +842 -0
- package/dist/core/request.js.map +1 -0
- package/dist/core/token-manager.d.ts +134 -0
- package/dist/core/token-manager.d.ts.map +1 -0
- package/dist/core/token-manager.js +412 -0
- package/dist/core/token-manager.js.map +1 -0
- package/dist/helpers/auth.d.ts +7 -0
- package/dist/helpers/auth.d.ts.map +1 -0
- package/dist/helpers/auth.js +19 -0
- package/dist/helpers/auth.js.map +1 -0
- package/dist/index.d.ts +72 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +61 -0
- package/dist/index.js.map +1 -0
- package/dist/service/auth/index.d.ts +96 -0
- package/dist/service/auth/index.d.ts.map +1 -0
- package/dist/service/auth/index.js +163 -0
- package/dist/service/auth/index.js.map +1 -0
- package/dist/service/config/basic.d.ts +37 -0
- package/dist/service/config/basic.d.ts.map +1 -0
- package/dist/service/config/basic.js +54 -0
- package/dist/service/config/basic.js.map +1 -0
- package/dist/service/config/config.d.ts +27 -0
- package/dist/service/config/config.d.ts.map +1 -0
- package/dist/service/config/config.js +34 -0
- package/dist/service/config/config.js.map +1 -0
- package/dist/service/config/field.d.ts +50 -0
- package/dist/service/config/field.d.ts.map +1 -0
- package/dist/service/config/field.js +74 -0
- package/dist/service/config/field.js.map +1 -0
- package/dist/service/config/relation.d.ts +53 -0
- package/dist/service/config/relation.d.ts.map +1 -0
- package/dist/service/config/relation.js +66 -0
- package/dist/service/config/relation.js.map +1 -0
- package/dist/service/config/resource.d.ts +59 -0
- package/dist/service/config/resource.d.ts.map +1 -0
- package/dist/service/config/resource.js +75 -0
- package/dist/service/config/resource.js.map +1 -0
- package/dist/service/config/role.d.ts +55 -0
- package/dist/service/config/role.d.ts.map +1 -0
- package/dist/service/config/role.js +90 -0
- package/dist/service/config/role.js.map +1 -0
- package/dist/service/config/template.d.ts +65 -0
- package/dist/service/config/template.d.ts.map +1 -0
- package/dist/service/config/template.js +95 -0
- package/dist/service/config/template.js.map +1 -0
- package/dist/service/measure/index.d.ts +26 -0
- package/dist/service/measure/index.d.ts.map +1 -0
- package/dist/service/measure/index.js +36 -0
- package/dist/service/measure/index.js.map +1 -0
- package/dist/service/measure/query.d.ts +56 -0
- package/dist/service/measure/query.d.ts.map +1 -0
- package/dist/service/measure/query.js +86 -0
- package/dist/service/measure/query.js.map +1 -0
- package/dist/service/space/relation.d.ts +63 -0
- package/dist/service/space/relation.d.ts.map +1 -0
- package/dist/service/space/relation.js +102 -0
- package/dist/service/space/relation.js.map +1 -0
- package/dist/service/space/space.d.ts +81 -0
- package/dist/service/space/space.d.ts.map +1 -0
- package/dist/service/space/space.js +110 -0
- package/dist/service/space/space.js.map +1 -0
- package/dist/service/tenant/tenant.d.ts +52 -0
- package/dist/service/tenant/tenant.d.ts.map +1 -0
- package/dist/service/tenant/tenant.js +75 -0
- package/dist/service/tenant/tenant.js.map +1 -0
- package/dist/service/user/group.d.ts +47 -0
- package/dist/service/user/group.d.ts.map +1 -0
- package/dist/service/user/group.js +70 -0
- package/dist/service/user/group.js.map +1 -0
- package/dist/service/user/query.d.ts +25 -0
- package/dist/service/user/query.d.ts.map +1 -0
- package/dist/service/user/query.js +26 -0
- package/dist/service/user/query.js.map +1 -0
- package/dist/service/user/search.d.ts +25 -0
- package/dist/service/user/search.d.ts.map +1 -0
- package/dist/service/user/search.js +26 -0
- package/dist/service/user/search.js.map +1 -0
- package/dist/service/user/user.d.ts +37 -0
- package/dist/service/user/user.d.ts.map +1 -0
- package/dist/service/user/user.js +46 -0
- package/dist/service/user/user.js.map +1 -0
- package/dist/service/view/query.d.ts +52 -0
- package/dist/service/view/query.d.ts.map +1 -0
- package/dist/service/view/query.js +76 -0
- package/dist/service/view/query.js.map +1 -0
- package/dist/service/view/view.d.ts +76 -0
- package/dist/service/view/view.d.ts.map +1 -0
- package/dist/service/view/view.js +108 -0
- package/dist/service/view/view.js.map +1 -0
- package/dist/service/workitem/attachment.d.ts +143 -0
- package/dist/service/workitem/attachment.d.ts.map +1 -0
- package/dist/service/workitem/attachment.js +231 -0
- package/dist/service/workitem/attachment.js.map +1 -0
- package/dist/service/workitem/batch.d.ts +135 -0
- package/dist/service/workitem/batch.d.ts.map +1 -0
- package/dist/service/workitem/batch.js +146 -0
- package/dist/service/workitem/batch.js.map +1 -0
- package/dist/service/workitem/chat.d.ts +42 -0
- package/dist/service/workitem/chat.d.ts.map +1 -0
- package/dist/service/workitem/chat.js +50 -0
- package/dist/service/workitem/chat.js.map +1 -0
- package/dist/service/workitem/comment.d.ts +139 -0
- package/dist/service/workitem/comment.d.ts.map +1 -0
- package/dist/service/workitem/comment.js +180 -0
- package/dist/service/workitem/comment.js.map +1 -0
- package/dist/service/workitem/review.d.ts +44 -0
- package/dist/service/workitem/review.d.ts.map +1 -0
- package/dist/service/workitem/review.js +49 -0
- package/dist/service/workitem/review.js.map +1 -0
- package/dist/service/workitem/search.d.ts +213 -0
- package/dist/service/workitem/search.d.ts.map +1 -0
- package/dist/service/workitem/search.js +242 -0
- package/dist/service/workitem/search.js.map +1 -0
- package/dist/service/workitem/subtask.d.ts +193 -0
- package/dist/service/workitem/subtask.d.ts.map +1 -0
- package/dist/service/workitem/subtask.js +247 -0
- package/dist/service/workitem/subtask.js.map +1 -0
- package/dist/service/workitem/workItem.d.ts +225 -0
- package/dist/service/workitem/workItem.d.ts.map +1 -0
- package/dist/service/workitem/workItem.js +310 -0
- package/dist/service/workitem/workItem.js.map +1 -0
- package/dist/service/workitem/workflow.d.ts +214 -0
- package/dist/service/workitem/workflow.d.ts.map +1 -0
- package/dist/service/workitem/workflow.js +281 -0
- package/dist/service/workitem/workflow.js.map +1 -0
- package/dist/service/workitem/workhour.d.ts +63 -0
- package/dist/service/workitem/workhour.d.ts.map +1 -0
- package/dist/service/workitem/workhour.js +93 -0
- package/dist/service/workitem/workhour.js.map +1 -0
- package/dist/types/auth.d.ts +115 -0
- package/dist/types/auth.d.ts.map +1 -0
- package/dist/types/auth.js +6 -0
- package/dist/types/auth.js.map +1 -0
- package/dist/types/common.d.ts +354 -0
- package/dist/types/common.d.ts.map +1 -0
- package/dist/types/common.js +14 -0
- package/dist/types/common.js.map +1 -0
- package/dist/types/config.d.ts +305 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +6 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/index.d.ts +13 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +13 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/measure.d.ts +55 -0
- package/dist/types/measure.d.ts.map +1 -0
- package/dist/types/measure.js +6 -0
- package/dist/types/measure.js.map +1 -0
- package/dist/types/space.d.ts +164 -0
- package/dist/types/space.d.ts.map +1 -0
- package/dist/types/space.js +6 -0
- package/dist/types/space.js.map +1 -0
- package/dist/types/tenant.d.ts +106 -0
- package/dist/types/tenant.d.ts.map +1 -0
- package/dist/types/tenant.js +6 -0
- package/dist/types/tenant.js.map +1 -0
- package/dist/types/user.d.ts +110 -0
- package/dist/types/user.d.ts.map +1 -0
- package/dist/types/user.js +6 -0
- package/dist/types/user.js.map +1 -0
- package/dist/types/view.d.ts +162 -0
- package/dist/types/view.d.ts.map +1 -0
- package/dist/types/view.js +6 -0
- package/dist/types/view.js.map +1 -0
- package/dist/types/workitem.d.ts +1523 -0
- package/dist/types/workitem.d.ts.map +1 -0
- package/dist/types/workitem.js +6 -0
- package/dist/types/workitem.js.map +1 -0
- 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"}
|
package/dist/index.d.ts
ADDED
|
@@ -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"}
|