@turinhub/tale-js-sdk 2.2.0 → 2.3.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 +70 -20
- package/dist/admin.d.ts +24 -0
- package/dist/admin.js +20 -0
- package/dist/app-client.d.ts +228 -0
- package/dist/app-client.js +186 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/package.json +16 -1
package/README.md
CHANGED
|
@@ -24,33 +24,25 @@ yarn add @turinhub/tale-js-sdk
|
|
|
24
24
|
|
|
25
25
|
```ts
|
|
26
26
|
import {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
listAppsByOrg,
|
|
30
|
-
listFiles,
|
|
27
|
+
createTaleAdminClient,
|
|
28
|
+
createTaleAppClient,
|
|
31
29
|
} from "@turinhub/tale-js-sdk";
|
|
32
30
|
|
|
33
|
-
const
|
|
31
|
+
const admin = createTaleAdminClient({
|
|
34
32
|
baseUrl: "https://api.tale.example",
|
|
35
|
-
|
|
36
|
-
appSecret: process.env.TALE_APP_SECRET,
|
|
33
|
+
taleToken: "tale-user-token",
|
|
37
34
|
});
|
|
38
35
|
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
folderId: "folder-id",
|
|
43
|
-
});
|
|
36
|
+
const currentUser = await admin.currentUser.get();
|
|
37
|
+
const apps = await admin.apps.listByOrg(currentUser.app.orgId);
|
|
38
|
+
const issued = await admin.appTokens.issue({ appKey: "oa_xxx" });
|
|
44
39
|
|
|
45
|
-
const
|
|
40
|
+
const app = createTaleAppClient({
|
|
46
41
|
baseUrl: "https://api.tale.example",
|
|
47
|
-
|
|
42
|
+
appToken: issued.token,
|
|
48
43
|
});
|
|
49
44
|
|
|
50
|
-
const
|
|
51
|
-
baseUrl: "https://api.tale.example",
|
|
52
|
-
taleToken: "tale-user-token",
|
|
53
|
-
});
|
|
45
|
+
const files = await app.cms.listFiles({ folderId: "folder-id" });
|
|
54
46
|
```
|
|
55
47
|
|
|
56
48
|
## 认证与 Token
|
|
@@ -61,9 +53,67 @@ SDK 中常见的鉴权选项都通过 `x-t-token` 发送到 Tale 后端:
|
|
|
61
53
|
- `taleToken`:Tale 用户 Token,适用于平台级 App 管理 API,例如获取当前用户、应用列表、应用详情、App Secret,以及按 App Key 换发 App Token。
|
|
62
54
|
- `baseUrl`:Tale 后端服务基础 URL;未显式传入时会读取环境变量。
|
|
63
55
|
|
|
64
|
-
服务端可使用 `getAppToken()` 通过 `TALE_APP_KEY` 与 `TALE_APP_SECRET` 获取应用 Token
|
|
56
|
+
服务端可使用 `getAppToken()` 通过 `TALE_APP_KEY` 与 `TALE_APP_SECRET` 获取应用 Token。`getAppToken()` 是 server-only helper,不应在浏览器代码中调用或暴露 `TALE_APP_SECRET`。浏览器端的 Cookie、缓存、自动续期和多应用切换策略不由 SDK 核心管理,调用方可基于 `createTaleAdminClient().appTokens.issue()` 或业务后端代理自行封装。
|
|
65
57
|
|
|
66
|
-
##
|
|
58
|
+
## Admin 与 App Client
|
|
59
|
+
|
|
60
|
+
也可以从子路径导入两个客户端入口:
|
|
61
|
+
|
|
62
|
+
```ts
|
|
63
|
+
import { createTaleAdminClient } from "@turinhub/tale-js-sdk/admin";
|
|
64
|
+
import { createTaleAppClient } from "@turinhub/tale-js-sdk/app";
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Admin client 只接收 `taleToken`,用于平台级应用管理:
|
|
68
|
+
|
|
69
|
+
```ts
|
|
70
|
+
const admin = createTaleAdminClient({ baseUrl, taleToken });
|
|
71
|
+
|
|
72
|
+
await admin.currentUser.get();
|
|
73
|
+
await admin.apps.listByOrg("org_1");
|
|
74
|
+
await admin.apps.create({ appName: "Demo", orgId: "org_1" });
|
|
75
|
+
await admin.apps.getDetail("oa_xxx");
|
|
76
|
+
await admin.apps.update({ appId: "app_1", appName: "Demo" });
|
|
77
|
+
await admin.appTokens.getSecret("oa_xxx");
|
|
78
|
+
await admin.appTokens.issue({ appKey: "oa_xxx" });
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
App client 只接收 `appToken`,用于单应用内资源:
|
|
82
|
+
|
|
83
|
+
```ts
|
|
84
|
+
const app = createTaleAppClient({ baseUrl, appToken });
|
|
85
|
+
|
|
86
|
+
await app.cms.listFiles({ folderId: "folder_1" });
|
|
87
|
+
await app.users.list({ page: 0, size: 20 });
|
|
88
|
+
await app.tasks.create({ openId: "ou_xxx", taskTypeId: "type_1" });
|
|
89
|
+
await app.rbac.listRoles();
|
|
90
|
+
await app.acl.listRecords();
|
|
91
|
+
await app.attachments.listByRef({ refType: "task", refId: "task_1" });
|
|
92
|
+
await app.appTokens.list({ page: 0, size: 20 });
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Legacy-compatible 函数导入
|
|
96
|
+
|
|
97
|
+
已有项目可以继续从根入口直接导入函数。该方式在 2.x 内保持兼容,但新项目建议优先使用 Admin/App client。
|
|
98
|
+
|
|
99
|
+
```ts
|
|
100
|
+
import {
|
|
101
|
+
getAppToken,
|
|
102
|
+
getCurrentUser,
|
|
103
|
+
listAppsByOrg,
|
|
104
|
+
listFiles,
|
|
105
|
+
} from "@turinhub/tale-js-sdk";
|
|
106
|
+
|
|
107
|
+
const appToken = await getAppToken({
|
|
108
|
+
baseUrl,
|
|
109
|
+
appKey: process.env.TALE_APP_KEY,
|
|
110
|
+
appSecret: process.env.TALE_APP_SECRET,
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
const files = await listFiles({ baseUrl, appToken, folderId: "folder-id" });
|
|
114
|
+
const currentUser = await getCurrentUser({ baseUrl, taleToken });
|
|
115
|
+
const apps = await listAppsByOrg(currentUser.app.orgId, { baseUrl, taleToken });
|
|
116
|
+
```
|
|
67
117
|
|
|
68
118
|
AppTS 模块提供平台应用相关方法:
|
|
69
119
|
|
package/dist/admin.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { createApp, getAppDetail, listAppsByOrg, updateApp } from "./app/index.js";
|
|
2
|
+
import { getAppSecret, issueAppToken } from "./app-token/index.js";
|
|
3
|
+
export interface TaleAdminClientOptions {
|
|
4
|
+
baseUrl?: string;
|
|
5
|
+
taleToken: string;
|
|
6
|
+
}
|
|
7
|
+
type IssueAppTokenRequestWithoutAuth = Omit<Parameters<typeof issueAppToken>[0], keyof TaleAdminClientOptions | "appToken">;
|
|
8
|
+
export declare function createTaleAdminClient(options: TaleAdminClientOptions): {
|
|
9
|
+
currentUser: {
|
|
10
|
+
get: () => Promise<import("./app/types.js").CurrentAppUser>;
|
|
11
|
+
};
|
|
12
|
+
apps: {
|
|
13
|
+
listByOrg: (orgId: Parameters<typeof listAppsByOrg>[0]) => Promise<import("./app/types.js").AppInfo[]>;
|
|
14
|
+
create: (request: Parameters<typeof createApp>[0]) => Promise<import("./app/types.js").CreateAppResponse>;
|
|
15
|
+
getDetail: (appKey: Parameters<typeof getAppDetail>[0]) => Promise<import("./app/types.js").AppDetail>;
|
|
16
|
+
update: (request: Parameters<typeof updateApp>[0]) => Promise<import("./app/types.js").AppDetail>;
|
|
17
|
+
};
|
|
18
|
+
appTokens: {
|
|
19
|
+
getSecret: (appKey: Parameters<typeof getAppSecret>[0]) => Promise<string>;
|
|
20
|
+
issue: (request: IssueAppTokenRequestWithoutAuth) => Promise<import("./app-token/types.js").IssueAppTokenResponse>;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
export type TaleAdminClient = ReturnType<typeof createTaleAdminClient>;
|
|
24
|
+
export {};
|
package/dist/admin.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createApp, getAppDetail, getCurrentUser, listAppsByOrg, updateApp, } from "./app/index.js";
|
|
2
|
+
import { getAppSecret, issueAppToken } from "./app-token/index.js";
|
|
3
|
+
export function createTaleAdminClient(options) {
|
|
4
|
+
const adminOptions = () => ({ ...options });
|
|
5
|
+
return {
|
|
6
|
+
currentUser: {
|
|
7
|
+
get: () => getCurrentUser(adminOptions()),
|
|
8
|
+
},
|
|
9
|
+
apps: {
|
|
10
|
+
listByOrg: (orgId) => listAppsByOrg(orgId, adminOptions()),
|
|
11
|
+
create: (request) => createApp(request, adminOptions()),
|
|
12
|
+
getDetail: (appKey) => getAppDetail(appKey, adminOptions()),
|
|
13
|
+
update: (request) => updateApp(request, adminOptions()),
|
|
14
|
+
},
|
|
15
|
+
appTokens: {
|
|
16
|
+
getSecret: (appKey) => getAppSecret(appKey, adminOptions()),
|
|
17
|
+
issue: (request) => issueAppToken({ ...request, ...adminOptions() }),
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import * as Acl from "./acl/index.js";
|
|
2
|
+
import * as AppToken from "./app-token/index.js";
|
|
3
|
+
import * as Attachment from "./attachment/index.js";
|
|
4
|
+
import * as AttachmentType from "./attachment-type/index.js";
|
|
5
|
+
import * as Auth from "./auth/index.js";
|
|
6
|
+
import * as Cms from "./cms/index.js";
|
|
7
|
+
import * as Dashboard from "./dashboard/index.js";
|
|
8
|
+
import * as Rbac from "./rbac/index.js";
|
|
9
|
+
import * as Task from "./task/index.js";
|
|
10
|
+
import * as TaskType from "./task-type/index.js";
|
|
11
|
+
import * as User from "./user/index.js";
|
|
12
|
+
import * as UserAttribute from "./user-attribute/index.js";
|
|
13
|
+
import * as UserGroup from "./user-group/index.js";
|
|
14
|
+
export interface TaleAppClientOptions {
|
|
15
|
+
baseUrl?: string;
|
|
16
|
+
appToken: string;
|
|
17
|
+
}
|
|
18
|
+
type StripAuth<T> = T extends object ? Omit<T, keyof TaleAppClientOptions | "taleToken" | "appKey" | "appSecret"> : T;
|
|
19
|
+
type Request<T extends (...args: any[]) => unknown, Index extends number> = StripAuth<NonNullable<Parameters<T>[Index]>>;
|
|
20
|
+
type OptionalRequest<T extends (...args: any[]) => unknown, Index extends number> = Request<T, Index> | undefined;
|
|
21
|
+
export declare function createTaleAppClient(options: TaleAppClientOptions): {
|
|
22
|
+
auth: {
|
|
23
|
+
login: (credentials: Parameters<typeof Auth.login>[0], request?: OptionalRequest<typeof Auth.login, 1>) => Promise<Auth.LoginResponse>;
|
|
24
|
+
validateToken: (token: Parameters<typeof Auth.validateToken>[0], request?: OptionalRequest<typeof Auth.validateToken, 1>) => Promise<boolean>;
|
|
25
|
+
loginWithSms: (phone: Parameters<typeof Auth.loginWithSms>[0]) => Promise<Auth.SendSmsResponse>;
|
|
26
|
+
verifySmsCode: (request: Parameters<typeof Auth.verifySmsCode>[0], optionsOverride?: OptionalRequest<typeof Auth.verifySmsCode, 1>) => Promise<Auth.SmsLoginResponse>;
|
|
27
|
+
registerWithSms: (request: Parameters<typeof Auth.registerWithSms>[0], optionsOverride?: OptionalRequest<typeof Auth.registerWithSms, 1>) => Promise<Auth.SmsLoginResponse>;
|
|
28
|
+
};
|
|
29
|
+
users: {
|
|
30
|
+
create: (request: Parameters<typeof User.createUser>[0]) => Promise<User.CreateUserResponse>;
|
|
31
|
+
getById: (userId?: Parameters<typeof User.getUserById>[0], request?: OptionalRequest<typeof User.getUserById, 1>) => Promise<User.CreateUserResponse>;
|
|
32
|
+
delete: (userId: Parameters<typeof User.deleteUser>[0]) => Promise<User.DeleteUserResponse>;
|
|
33
|
+
list: (request?: OptionalRequest<typeof User.listUsers, 0>) => Promise<User.ListUsersResponse>;
|
|
34
|
+
update: (userId: Parameters<typeof User.updateUser>[0], request: Parameters<typeof User.updateUser>[1]) => Promise<User.UpdateUserResponse>;
|
|
35
|
+
updatePassword: (request: Parameters<typeof User.updateUserPassword>[0]) => Promise<User.UpdateUserPasswordResponse>;
|
|
36
|
+
uploadAvatar: (userId: Parameters<typeof User.uploadAvatar>[0], file: Parameters<typeof User.uploadAvatar>[1]) => Promise<User.UploadAvatarResponse>;
|
|
37
|
+
getAvatarPresignedUrl: (userId: Parameters<typeof User.getAvatarPresignedUrl>[0]) => Promise<User.AvatarPresignedUrlResponse>;
|
|
38
|
+
updateFrozenStatus: (userId: Parameters<typeof User.updateUserFrozenStatus>[0], isFrozen: Parameters<typeof User.updateUserFrozenStatus>[1]) => Promise<User.UserFrozenStatusResponse>;
|
|
39
|
+
getFrozenStatus: (userId: Parameters<typeof User.getUserFrozenStatus>[0]) => Promise<User.UserFrozenStatusResponse>;
|
|
40
|
+
};
|
|
41
|
+
userGroups: {
|
|
42
|
+
get: (groupId: Parameters<typeof UserGroup.getUserGroup>[0]) => Promise<UserGroup.UserGroupInfo>;
|
|
43
|
+
list: (request?: OptionalRequest<typeof UserGroup.listUserGroups, 0>) => Promise<AppToken.PageResponse<UserGroup.UserGroupInfo>>;
|
|
44
|
+
create: (request: Parameters<typeof UserGroup.createUserGroup>[0]) => Promise<UserGroup.UserGroupInfo>;
|
|
45
|
+
update: (groupId: Parameters<typeof UserGroup.updateUserGroup>[0], request: Parameters<typeof UserGroup.updateUserGroup>[1]) => Promise<UserGroup.UserGroupInfo>;
|
|
46
|
+
delete: (groupId: Parameters<typeof UserGroup.deleteUserGroup>[0]) => Promise<void>;
|
|
47
|
+
listMembers: (groupId: Parameters<typeof UserGroup.listUserGroupMembers>[0], request?: OptionalRequest<typeof UserGroup.listUserGroupMembers, 1>) => Promise<AppToken.PageResponse<UserGroup.UserGroupMember>>;
|
|
48
|
+
addMembers: (groupId: Parameters<typeof UserGroup.addUserGroupMembers>[0], request: Parameters<typeof UserGroup.addUserGroupMembers>[1]) => Promise<void>;
|
|
49
|
+
removeMembers: (groupId: Parameters<typeof UserGroup.removeUserGroupMembers>[0], request: Parameters<typeof UserGroup.removeUserGroupMembers>[1]) => Promise<void>;
|
|
50
|
+
getUserGroups: (userId: Parameters<typeof UserGroup.getUserGroups>[0], request?: OptionalRequest<typeof UserGroup.getUserGroups, 1>) => Promise<UserGroup.UserGroupInfo[]>;
|
|
51
|
+
};
|
|
52
|
+
userAttributes: {
|
|
53
|
+
createDefinition: (request: Parameters<typeof UserAttribute.createUserAttributeDefinition>[0]) => Promise<UserAttribute.UserAttributeDefinition>;
|
|
54
|
+
updateDefinition: (definitionId: Parameters<typeof UserAttribute.updateUserAttributeDefinition>[0], request: Parameters<typeof UserAttribute.updateUserAttributeDefinition>[1]) => Promise<UserAttribute.UserAttributeDefinition>;
|
|
55
|
+
deleteDefinition: (definitionId: Parameters<typeof UserAttribute.deleteUserAttributeDefinition>[0]) => Promise<void>;
|
|
56
|
+
getDefinition: (definitionId: Parameters<typeof UserAttribute.getUserAttributeDefinition>[0]) => Promise<UserAttribute.UserAttributeDefinition>;
|
|
57
|
+
listDefinitions: (request?: OptionalRequest<typeof UserAttribute.listUserAttributeDefinitions, 0>) => Promise<AppToken.PageResponse<UserAttribute.UserAttributeDefinition>>;
|
|
58
|
+
listEnabledDefinitions: (request?: OptionalRequest<typeof UserAttribute.listEnabledUserAttributeDefinitions, 0>) => Promise<UserAttribute.UserAttributeDefinition[]>;
|
|
59
|
+
toggleDefinitionStatus: (definitionId: Parameters<typeof UserAttribute.toggleUserAttributeDefinitionStatus>[0], enabled: Parameters<typeof UserAttribute.toggleUserAttributeDefinitionStatus>[1]) => Promise<UserAttribute.UserAttributeDefinition>;
|
|
60
|
+
set: (userId: Parameters<typeof UserAttribute.setUserAttribute>[0], attributeDefinitionId: Parameters<typeof UserAttribute.setUserAttribute>[1], request: Parameters<typeof UserAttribute.setUserAttribute>[2]) => Promise<UserAttribute.UserAttributeDTO>;
|
|
61
|
+
get: (userId: Parameters<typeof UserAttribute.getUserAttribute>[0], definitionId: Parameters<typeof UserAttribute.getUserAttribute>[1]) => Promise<UserAttribute.UserAttributeDTO>;
|
|
62
|
+
delete: (userId: Parameters<typeof UserAttribute.deleteUserAttribute>[0], definitionId: Parameters<typeof UserAttribute.deleteUserAttribute>[1]) => Promise<void>;
|
|
63
|
+
getUserAttributes: (userId: Parameters<typeof UserAttribute.getUserAttributes>[0]) => Promise<UserAttribute.UserAttributeDTO[]>;
|
|
64
|
+
listUserAttributes: (userId: Parameters<typeof UserAttribute.listUserAttributes>[0], request?: OptionalRequest<typeof UserAttribute.listUserAttributes, 1>) => Promise<AppToken.PageResponse<UserAttribute.UserAttributeDTO>>;
|
|
65
|
+
listAttributeUsers: (definitionId: Parameters<typeof UserAttribute.listAttributeUsers>[0], request?: OptionalRequest<typeof UserAttribute.listAttributeUsers, 1>) => Promise<AppToken.PageResponse<UserAttribute.UserAttributeDTO>>;
|
|
66
|
+
listAll: (request?: OptionalRequest<typeof UserAttribute.listAllUserAttributes, 0>) => Promise<AppToken.PageResponse<UserAttribute.UserAttributeGroupedDTO>>;
|
|
67
|
+
};
|
|
68
|
+
cms: {
|
|
69
|
+
getFolder: (folderId: Parameters<typeof Cms.getFolder>[0]) => Promise<Cms.Folder>;
|
|
70
|
+
listFolders: (request?: OptionalRequest<typeof Cms.listFolders, 0>) => Promise<AppToken.PageResponse<Cms.Folder>>;
|
|
71
|
+
createFolder: (request: Parameters<typeof Cms.createFolder>[0]) => Promise<Cms.Folder>;
|
|
72
|
+
updateFolder: (folderId: Parameters<typeof Cms.updateFolder>[0], request: Parameters<typeof Cms.updateFolder>[1]) => Promise<Cms.Folder>;
|
|
73
|
+
deleteFolder: (folderId: Parameters<typeof Cms.deleteFolder>[0]) => Promise<void>;
|
|
74
|
+
getFile: (fileId: Parameters<typeof Cms.getFile>[0]) => Promise<Cms.File>;
|
|
75
|
+
listFiles: (request?: OptionalRequest<typeof Cms.listFiles, 0>) => Promise<AppToken.PageResponse<Cms.File>>;
|
|
76
|
+
createFile: (request: Parameters<typeof Cms.createFile>[0]) => Promise<Cms.File>;
|
|
77
|
+
updateFile: (fileId: Parameters<typeof Cms.updateFile>[0], request: Parameters<typeof Cms.updateFile>[1]) => Promise<Cms.File>;
|
|
78
|
+
updateFileContent: (fileId: Parameters<typeof Cms.updateFileContent>[0], content: Parameters<typeof Cms.updateFileContent>[1]) => Promise<Cms.File>;
|
|
79
|
+
deleteFile: (fileId: Parameters<typeof Cms.deleteFile>[0]) => Promise<void>;
|
|
80
|
+
getFilePresignedUrl: (fileId: Parameters<typeof Cms.getFilePresignedUrl>[0], expireTimeInSeconds?: Parameters<typeof Cms.getFilePresignedUrl>[1]) => Promise<{
|
|
81
|
+
fileId: string;
|
|
82
|
+
fileName: string;
|
|
83
|
+
ossKey: string;
|
|
84
|
+
presignedUrl: string;
|
|
85
|
+
expireTimeInSeconds: number;
|
|
86
|
+
}>;
|
|
87
|
+
batchGetFilePresignedUrl: (fileIds: Parameters<typeof Cms.batchGetFilePresignedUrl>[0], expireTimeInSeconds?: Parameters<typeof Cms.batchGetFilePresignedUrl>[1]) => Promise<{
|
|
88
|
+
fileId: string;
|
|
89
|
+
fileName?: string;
|
|
90
|
+
ossKey?: string;
|
|
91
|
+
presignedUrl?: string;
|
|
92
|
+
expireTimeInSeconds?: number;
|
|
93
|
+
error?: string;
|
|
94
|
+
}[]>;
|
|
95
|
+
getOssMetadata: (fileId: Parameters<typeof Cms.getOssMetadata>[0]) => Promise<{
|
|
96
|
+
ossKey: string;
|
|
97
|
+
contentType?: string;
|
|
98
|
+
contentLength?: number;
|
|
99
|
+
lastModified?: string;
|
|
100
|
+
etag?: string;
|
|
101
|
+
metadata?: Record<string, string>;
|
|
102
|
+
}>;
|
|
103
|
+
getUploadAuthorization: (request: Parameters<typeof Cms.getUploadAuthorization>[0]) => Promise<{
|
|
104
|
+
ossKey: string;
|
|
105
|
+
presignedUrl: string;
|
|
106
|
+
fileName: string;
|
|
107
|
+
fileType: string;
|
|
108
|
+
expireTimeInSeconds: number;
|
|
109
|
+
fileId: string;
|
|
110
|
+
}>;
|
|
111
|
+
getFileStsCredentials: (fileId: Parameters<typeof Cms.getFileStsCredentials>[0], fileExtension: Parameters<typeof Cms.getFileStsCredentials>[1], durationSeconds?: Parameters<typeof Cms.getFileStsCredentials>[2]) => Promise<{
|
|
112
|
+
credentials: {
|
|
113
|
+
tmpSecretId: string;
|
|
114
|
+
tmpSecretKey: string;
|
|
115
|
+
sessionToken: string;
|
|
116
|
+
bucket: string;
|
|
117
|
+
region: string;
|
|
118
|
+
};
|
|
119
|
+
startTime: number;
|
|
120
|
+
expiredTime: number;
|
|
121
|
+
bucket: string;
|
|
122
|
+
region: string;
|
|
123
|
+
allowPrefix: string;
|
|
124
|
+
}>;
|
|
125
|
+
fileUploadComplete: (fileId: Parameters<typeof Cms.fileUploadComplete>[0], request: Parameters<typeof Cms.fileUploadComplete>[1]) => Promise<{
|
|
126
|
+
message: string;
|
|
127
|
+
fileId: string;
|
|
128
|
+
}>;
|
|
129
|
+
setFilePreviewImage: (fileId: Parameters<typeof Cms.setFilePreviewImage>[0], request: Parameters<typeof Cms.setFilePreviewImage>[1]) => Promise<Cms.File>;
|
|
130
|
+
listFileAttachments: (fileId: Parameters<typeof Cms.listFileAttachments>[0], request?: OptionalRequest<typeof Cms.listFileAttachments, 1>) => Promise<AppToken.PageResponse<Cms.FileAttachment>>;
|
|
131
|
+
getFileAttachment: (fileId: Parameters<typeof Cms.getFileAttachment>[0], attachmentId: Parameters<typeof Cms.getFileAttachment>[1]) => Promise<Cms.FileAttachment>;
|
|
132
|
+
uploadFileAttachment: (fileId: Parameters<typeof Cms.uploadFileAttachment>[0], attachmentTypeId: Parameters<typeof Cms.uploadFileAttachment>[1], file: Parameters<typeof Cms.uploadFileAttachment>[2], remark?: Parameters<typeof Cms.uploadFileAttachment>[3]) => Promise<Cms.FileAttachment>;
|
|
133
|
+
deleteFileAttachment: (fileId: Parameters<typeof Cms.deleteFileAttachment>[0], attachmentId: Parameters<typeof Cms.deleteFileAttachment>[1]) => Promise<void>;
|
|
134
|
+
};
|
|
135
|
+
tasks: {
|
|
136
|
+
create: (request: Parameters<typeof Task.createUserTask>[0]) => Promise<Task.UserTask>;
|
|
137
|
+
batchCreate: (request: Parameters<typeof Task.batchCreateUserTasks>[0]) => Promise<Task.BatchCreateUserTasksResponse>;
|
|
138
|
+
get: (taskId: Parameters<typeof Task.getUserTask>[0]) => Promise<Task.UserTask>;
|
|
139
|
+
batchGet: (request: Parameters<typeof Task.batchGetUserTasks>[0]) => Promise<Task.UserTask[]>;
|
|
140
|
+
list: (request?: OptionalRequest<typeof Task.listUserTasks, 0>) => Promise<AppToken.PageResponse<Task.UserTask>>;
|
|
141
|
+
update: (taskId: Parameters<typeof Task.updateUserTask>[0], request: Parameters<typeof Task.updateUserTask>[1]) => Promise<Task.UserTask>;
|
|
142
|
+
delete: (taskId: Parameters<typeof Task.deleteUserTask>[0]) => Promise<void>;
|
|
143
|
+
getInput: (taskId: Parameters<typeof Task.getTaskInput>[0]) => Promise<Record<string, unknown>>;
|
|
144
|
+
getOutput: (taskId: Parameters<typeof Task.getTaskOutput>[0]) => Promise<Record<string, unknown>>;
|
|
145
|
+
updateInput: (taskId: Parameters<typeof Task.updateTaskInput>[0], input: Parameters<typeof Task.updateTaskInput>[1]) => Promise<Task.UserTask>;
|
|
146
|
+
updateOutput: (taskId: Parameters<typeof Task.updateTaskOutput>[0], output: Parameters<typeof Task.updateTaskOutput>[1]) => Promise<Task.UserTask>;
|
|
147
|
+
getStatus: (taskId: Parameters<typeof Task.getTaskStatus>[0]) => Promise<string>;
|
|
148
|
+
updateStatus: (taskId: Parameters<typeof Task.updateTaskStatus>[0], status: Parameters<typeof Task.updateTaskStatus>[1]) => Promise<Task.UserTask>;
|
|
149
|
+
getStatistics: (userId?: Parameters<typeof Task.getTaskStatistics>[0]) => Promise<Task.TaskStatistics>;
|
|
150
|
+
getFrozenStatus: (taskId: Parameters<typeof Task.getTaskFrozenStatus>[0]) => Promise<Task.TaskFrozenStatusResponse>;
|
|
151
|
+
updateFrozenStatus: (taskId: Parameters<typeof Task.updateTaskFrozenStatus>[0], isFrozen: Parameters<typeof Task.updateTaskFrozenStatus>[1]) => Promise<Task.TaskFrozenStatusResponse>;
|
|
152
|
+
listAttachments: (taskId: Parameters<typeof Task.listTaskAttachments>[0], request?: OptionalRequest<typeof Task.listTaskAttachments, 1>) => Promise<AppToken.PageResponse<Attachment.Attachment>>;
|
|
153
|
+
getAttachment: (taskId: Parameters<typeof Task.getTaskAttachment>[0], attachmentId: Parameters<typeof Task.getTaskAttachment>[1]) => Promise<Attachment.Attachment>;
|
|
154
|
+
uploadAttachment: (taskId: Parameters<typeof Task.uploadTaskAttachment>[0], attachmentTypeId: Parameters<typeof Task.uploadTaskAttachment>[1], file: Parameters<typeof Task.uploadTaskAttachment>[2], remark?: Parameters<typeof Task.uploadTaskAttachment>[3]) => Promise<Attachment.Attachment>;
|
|
155
|
+
deleteAttachment: (taskId: Parameters<typeof Task.deleteTaskAttachment>[0], attachmentId: Parameters<typeof Task.deleteTaskAttachment>[1]) => Promise<void>;
|
|
156
|
+
};
|
|
157
|
+
taskTypes: {
|
|
158
|
+
create: (request: Parameters<typeof TaskType.createTaskType>[0]) => Promise<TaskType.TaskType>;
|
|
159
|
+
update: (taskTypeId: Parameters<typeof TaskType.updateTaskType>[0], request: Parameters<typeof TaskType.updateTaskType>[1]) => Promise<TaskType.TaskType>;
|
|
160
|
+
delete: (taskTypeId: Parameters<typeof TaskType.deleteTaskType>[0]) => Promise<void>;
|
|
161
|
+
get: (taskTypeId: Parameters<typeof TaskType.getTaskType>[0]) => Promise<TaskType.TaskType>;
|
|
162
|
+
list: (request?: OptionalRequest<typeof TaskType.listTaskTypes, 0>) => Promise<AppToken.PageResponse<TaskType.TaskType>>;
|
|
163
|
+
listEnabled: (request?: OptionalRequest<typeof TaskType.listEnabledTaskTypes, 0>) => Promise<TaskType.TaskType[]>;
|
|
164
|
+
};
|
|
165
|
+
rbac: {
|
|
166
|
+
getRole: (roleId: Parameters<typeof Rbac.getRole>[0]) => Promise<Rbac.Role>;
|
|
167
|
+
listRoles: (request?: OptionalRequest<typeof Rbac.listRoles, 0>) => Promise<AppToken.PageResponse<Rbac.Role>>;
|
|
168
|
+
createRole: (request: Parameters<typeof Rbac.createRole>[0]) => Promise<Rbac.Role>;
|
|
169
|
+
updateRole: (roleId: Parameters<typeof Rbac.updateRole>[0], request: Parameters<typeof Rbac.updateRole>[1]) => Promise<Rbac.Role>;
|
|
170
|
+
deleteRole: (roleId: Parameters<typeof Rbac.deleteRole>[0]) => Promise<void>;
|
|
171
|
+
getPrivilege: (privilegeId: Parameters<typeof Rbac.getPrivilege>[0]) => Promise<Rbac.Privilege>;
|
|
172
|
+
listPrivileges: (request?: OptionalRequest<typeof Rbac.listPrivileges, 0>) => Promise<AppToken.PageResponse<Rbac.Privilege>>;
|
|
173
|
+
createPrivilege: (request: Parameters<typeof Rbac.createPrivilege>[0]) => Promise<Rbac.Privilege>;
|
|
174
|
+
updatePrivilege: (privilegeId: Parameters<typeof Rbac.updatePrivilege>[0], request: Parameters<typeof Rbac.updatePrivilege>[1]) => Promise<Rbac.Privilege>;
|
|
175
|
+
deletePrivilege: (privilegeId: Parameters<typeof Rbac.deletePrivilege>[0]) => Promise<void>;
|
|
176
|
+
getUserRoles: (userId: Parameters<typeof Rbac.getUserRoles>[0]) => Promise<Rbac.Role[]>;
|
|
177
|
+
assignRolesToUser: (userId: Parameters<typeof Rbac.assignRolesToUser>[0], request: Parameters<typeof Rbac.assignRolesToUser>[1]) => Promise<Rbac.Role[]>;
|
|
178
|
+
unassignRolesFromUser: (userId: Parameters<typeof Rbac.unassignRolesFromUser>[0], request: Parameters<typeof Rbac.unassignRolesFromUser>[1]) => Promise<void>;
|
|
179
|
+
getUserPrivileges: (userId: Parameters<typeof Rbac.getUserPrivileges>[0]) => Promise<Rbac.Privilege[]>;
|
|
180
|
+
assignPrivilegesToUser: (userId: Parameters<typeof Rbac.assignPrivilegesToUser>[0], request: Parameters<typeof Rbac.assignPrivilegesToUser>[1]) => Promise<Rbac.Privilege[]>;
|
|
181
|
+
unassignPrivilegesFromUser: (userId: Parameters<typeof Rbac.unassignPrivilegesFromUser>[0], request: Parameters<typeof Rbac.unassignPrivilegesFromUser>[1]) => Promise<void>;
|
|
182
|
+
assignPrivilegesToRole: (roleId: Parameters<typeof Rbac.assignPrivilegesToRole>[0], request: Parameters<typeof Rbac.assignPrivilegesToRole>[1]) => Promise<Rbac.Privilege[]>;
|
|
183
|
+
unassignPrivilegesFromRole: (roleId: Parameters<typeof Rbac.unassignPrivilegesFromRole>[0], request: Parameters<typeof Rbac.unassignPrivilegesFromRole>[1]) => Promise<void>;
|
|
184
|
+
};
|
|
185
|
+
acl: {
|
|
186
|
+
getRecord: (recordId: Parameters<typeof Acl.getAclRecord>[0]) => Promise<Acl.AclRecord>;
|
|
187
|
+
listRecords: (request?: OptionalRequest<typeof Acl.listAclRecords, 0>) => Promise<AppToken.PageResponse<Acl.AclRecord>>;
|
|
188
|
+
createRecord: (request: Parameters<typeof Acl.createAclRecord>[0]) => Promise<Acl.AclRecord>;
|
|
189
|
+
batchCreateRecords: (request: Parameters<typeof Acl.batchCreateAclRecords>[0]) => Promise<Acl.AclBatchCreateResponse>;
|
|
190
|
+
updateRecord: (recordId: Parameters<typeof Acl.updateAclRecord>[0], request: Parameters<typeof Acl.updateAclRecord>[1]) => Promise<Acl.AclRecord>;
|
|
191
|
+
deleteRecord: (recordId: Parameters<typeof Acl.deleteAclRecord>[0]) => Promise<void>;
|
|
192
|
+
getTemplate: (templateId: Parameters<typeof Acl.getAclTemplate>[0]) => Promise<Acl.AclTemplate>;
|
|
193
|
+
listTemplates: (request?: OptionalRequest<typeof Acl.listAclTemplates, 0>) => Promise<AppToken.PageResponse<Acl.AclTemplate>>;
|
|
194
|
+
createTemplate: (request: Parameters<typeof Acl.createAclTemplate>[0]) => Promise<Acl.AclTemplate>;
|
|
195
|
+
updateTemplate: (templateId: Parameters<typeof Acl.updateAclTemplate>[0], request: Parameters<typeof Acl.updateAclTemplate>[1]) => Promise<Acl.AclTemplate>;
|
|
196
|
+
deleteTemplate: (templateId: Parameters<typeof Acl.deleteAclTemplate>[0]) => Promise<void>;
|
|
197
|
+
listRecordAttachments: (recordId: Parameters<typeof Acl.listAclRecordAttachments>[0], request?: OptionalRequest<typeof Acl.listAclRecordAttachments, 1>) => Promise<AppToken.PageResponse<Attachment.Attachment>>;
|
|
198
|
+
getRecordAttachment: (recordId: Parameters<typeof Acl.getAclRecordAttachment>[0], attachmentId: Parameters<typeof Acl.getAclRecordAttachment>[1]) => Promise<Attachment.Attachment>;
|
|
199
|
+
uploadRecordAttachment: (recordId: Parameters<typeof Acl.uploadAclRecordAttachment>[0], attachmentTypeId: Parameters<typeof Acl.uploadAclRecordAttachment>[1], file: Parameters<typeof Acl.uploadAclRecordAttachment>[2], remark?: Parameters<typeof Acl.uploadAclRecordAttachment>[3]) => Promise<Attachment.Attachment>;
|
|
200
|
+
deleteRecordAttachment: (recordId: Parameters<typeof Acl.deleteAclRecordAttachment>[0], attachmentId: Parameters<typeof Acl.deleteAclRecordAttachment>[1]) => Promise<void>;
|
|
201
|
+
};
|
|
202
|
+
attachments: {
|
|
203
|
+
get: (attachmentId: Parameters<typeof Attachment.getAttachment>[0]) => Promise<Attachment.Attachment>;
|
|
204
|
+
listByRef: (request: Request<typeof Attachment.listAttachmentsByRef, 0>) => Promise<AppToken.PageResponse<Attachment.Attachment>>;
|
|
205
|
+
upload: (request: Parameters<typeof Attachment.uploadAttachment>[0]) => Promise<Attachment.Attachment>;
|
|
206
|
+
delete: (request: Parameters<typeof Attachment.deleteAttachment>[0]) => Promise<void>;
|
|
207
|
+
getUploadUrl: (request: Parameters<typeof Attachment.getAttachmentUploadUrl>[0]) => Promise<Attachment.UploadAuthorizationResponse>;
|
|
208
|
+
completeUpload: (attachmentId: Parameters<typeof Attachment.completeAttachmentUpload>[0], request: Parameters<typeof Attachment.completeAttachmentUpload>[1]) => Promise<Attachment.Attachment>;
|
|
209
|
+
getDownloadUrl: (request: Parameters<typeof Attachment.getAttachmentDownloadUrl>[0]) => Promise<Attachment.DownloadUrlResponse>;
|
|
210
|
+
};
|
|
211
|
+
attachmentTypes: {
|
|
212
|
+
list: (request?: OptionalRequest<typeof AttachmentType.listAttachmentTypes, 0>) => Promise<AppToken.PageResponse<AttachmentType.AttachmentType>>;
|
|
213
|
+
listByRef: (request: Request<typeof AttachmentType.listAttachmentTypesByRef, 0>) => Promise<AppToken.PageResponse<AttachmentType.AttachmentType>>;
|
|
214
|
+
get: (typeId: Parameters<typeof AttachmentType.getAttachmentType>[0]) => Promise<AttachmentType.AttachmentType>;
|
|
215
|
+
create: (request: Parameters<typeof AttachmentType.createAttachmentType>[0]) => Promise<AttachmentType.AttachmentType>;
|
|
216
|
+
update: (typeId: Parameters<typeof AttachmentType.updateAttachmentType>[0], request: Parameters<typeof AttachmentType.updateAttachmentType>[1]) => Promise<AttachmentType.AttachmentType>;
|
|
217
|
+
delete: (typeId: Parameters<typeof AttachmentType.deleteAttachmentType>[0]) => Promise<void>;
|
|
218
|
+
};
|
|
219
|
+
dashboard: {
|
|
220
|
+
getView: (viewName: Parameters<typeof Dashboard.getDashboardView>[0], request?: OptionalRequest<typeof Dashboard.getDashboardView, 1>) => Promise<AppToken.PageResponse<Dashboard.DashboardViewRow>>;
|
|
221
|
+
queryView: (request: Parameters<typeof Dashboard.queryDashboardView>[0]) => Promise<Dashboard.DashboardViewQueryResponse>;
|
|
222
|
+
};
|
|
223
|
+
appTokens: {
|
|
224
|
+
list: (request?: OptionalRequest<typeof AppToken.listAppTokens, 0>) => Promise<AppToken.PageResponse<AppToken.AppToken>>;
|
|
225
|
+
};
|
|
226
|
+
};
|
|
227
|
+
export type TaleAppClient = ReturnType<typeof createTaleAppClient>;
|
|
228
|
+
export {};
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import * as Acl from "./acl/index.js";
|
|
2
|
+
import * as AppToken from "./app-token/index.js";
|
|
3
|
+
import * as Attachment from "./attachment/index.js";
|
|
4
|
+
import * as AttachmentType from "./attachment-type/index.js";
|
|
5
|
+
import * as Auth from "./auth/index.js";
|
|
6
|
+
import * as Cms from "./cms/index.js";
|
|
7
|
+
import * as Dashboard from "./dashboard/index.js";
|
|
8
|
+
import * as Rbac from "./rbac/index.js";
|
|
9
|
+
import * as Task from "./task/index.js";
|
|
10
|
+
import * as TaskType from "./task-type/index.js";
|
|
11
|
+
import * as User from "./user/index.js";
|
|
12
|
+
import * as UserAttribute from "./user-attribute/index.js";
|
|
13
|
+
import * as UserGroup from "./user-group/index.js";
|
|
14
|
+
export function createTaleAppClient(options) {
|
|
15
|
+
const appOptions = () => ({ ...options });
|
|
16
|
+
const mergeRequest = (request) => ({ ...(request ?? {}), ...appOptions() });
|
|
17
|
+
return {
|
|
18
|
+
auth: {
|
|
19
|
+
login: (credentials, request) => Auth.login(credentials, {
|
|
20
|
+
...(request ?? {}),
|
|
21
|
+
baseUrl: options.baseUrl,
|
|
22
|
+
}),
|
|
23
|
+
validateToken: (token, request) => Auth.validateToken(token, {
|
|
24
|
+
...(request ?? {}),
|
|
25
|
+
baseUrl: options.baseUrl,
|
|
26
|
+
}),
|
|
27
|
+
loginWithSms: (phone) => Auth.loginWithSms(phone, { appToken: options.appToken }),
|
|
28
|
+
verifySmsCode: (request, optionsOverride) => Auth.verifySmsCode(request, mergeRequest(optionsOverride)),
|
|
29
|
+
registerWithSms: (request, optionsOverride) => Auth.registerWithSms(request, mergeRequest(optionsOverride)),
|
|
30
|
+
},
|
|
31
|
+
users: {
|
|
32
|
+
create: (request) => User.createUser(request, appOptions()),
|
|
33
|
+
getById: (userId, request) => User.getUserById(userId, mergeRequest(request)),
|
|
34
|
+
delete: (userId) => User.deleteUser(userId, appOptions()),
|
|
35
|
+
list: (request) => User.listUsers(mergeRequest(request)),
|
|
36
|
+
update: (userId, request) => User.updateUser(userId, request, appOptions()),
|
|
37
|
+
updatePassword: (request) => User.updateUserPassword(request, appOptions()),
|
|
38
|
+
uploadAvatar: (userId, file) => User.uploadAvatar(userId, file, appOptions()),
|
|
39
|
+
getAvatarPresignedUrl: (userId) => User.getAvatarPresignedUrl(userId, appOptions()),
|
|
40
|
+
updateFrozenStatus: (userId, isFrozen) => User.updateUserFrozenStatus(userId, isFrozen, appOptions()),
|
|
41
|
+
getFrozenStatus: (userId) => User.getUserFrozenStatus(userId, appOptions()),
|
|
42
|
+
},
|
|
43
|
+
userGroups: {
|
|
44
|
+
get: (groupId) => UserGroup.getUserGroup(groupId, appOptions()),
|
|
45
|
+
list: (request) => UserGroup.listUserGroups(mergeRequest(request)),
|
|
46
|
+
create: (request) => UserGroup.createUserGroup(request, appOptions()),
|
|
47
|
+
update: (groupId, request) => UserGroup.updateUserGroup(groupId, request, appOptions()),
|
|
48
|
+
delete: (groupId) => UserGroup.deleteUserGroup(groupId, appOptions()),
|
|
49
|
+
listMembers: (groupId, request) => UserGroup.listUserGroupMembers(groupId, mergeRequest(request)),
|
|
50
|
+
addMembers: (groupId, request) => UserGroup.addUserGroupMembers(groupId, request, appOptions()),
|
|
51
|
+
removeMembers: (groupId, request) => UserGroup.removeUserGroupMembers(groupId, request, appOptions()),
|
|
52
|
+
getUserGroups: (userId, request) => UserGroup.getUserGroups(userId, mergeRequest(request)),
|
|
53
|
+
},
|
|
54
|
+
userAttributes: {
|
|
55
|
+
createDefinition: (request) => UserAttribute.createUserAttributeDefinition(request, appOptions()),
|
|
56
|
+
updateDefinition: (definitionId, request) => UserAttribute.updateUserAttributeDefinition(definitionId, request, appOptions()),
|
|
57
|
+
deleteDefinition: (definitionId) => UserAttribute.deleteUserAttributeDefinition(definitionId, appOptions()),
|
|
58
|
+
getDefinition: (definitionId) => UserAttribute.getUserAttributeDefinition(definitionId, appOptions()),
|
|
59
|
+
listDefinitions: (request) => UserAttribute.listUserAttributeDefinitions(mergeRequest(request)),
|
|
60
|
+
listEnabledDefinitions: (request) => UserAttribute.listEnabledUserAttributeDefinitions(mergeRequest(request)),
|
|
61
|
+
toggleDefinitionStatus: (definitionId, enabled) => UserAttribute.toggleUserAttributeDefinitionStatus(definitionId, enabled, appOptions()),
|
|
62
|
+
set: (userId, attributeDefinitionId, request) => UserAttribute.setUserAttribute(userId, attributeDefinitionId, request, appOptions()),
|
|
63
|
+
get: (userId, definitionId) => UserAttribute.getUserAttribute(userId, definitionId, appOptions()),
|
|
64
|
+
delete: (userId, definitionId) => UserAttribute.deleteUserAttribute(userId, definitionId, appOptions()),
|
|
65
|
+
getUserAttributes: (userId) => UserAttribute.getUserAttributes(userId, appOptions()),
|
|
66
|
+
listUserAttributes: (userId, request) => UserAttribute.listUserAttributes(userId, mergeRequest(request)),
|
|
67
|
+
listAttributeUsers: (definitionId, request) => UserAttribute.listAttributeUsers(definitionId, mergeRequest(request)),
|
|
68
|
+
listAll: (request) => UserAttribute.listAllUserAttributes(mergeRequest(request)),
|
|
69
|
+
},
|
|
70
|
+
cms: {
|
|
71
|
+
getFolder: (folderId) => Cms.getFolder(folderId, appOptions()),
|
|
72
|
+
listFolders: (request) => Cms.listFolders(mergeRequest(request)),
|
|
73
|
+
createFolder: (request) => Cms.createFolder(request, appOptions()),
|
|
74
|
+
updateFolder: (folderId, request) => Cms.updateFolder(folderId, request, appOptions()),
|
|
75
|
+
deleteFolder: (folderId) => Cms.deleteFolder(folderId, appOptions()),
|
|
76
|
+
getFile: (fileId) => Cms.getFile(fileId, appOptions()),
|
|
77
|
+
listFiles: (request) => Cms.listFiles(mergeRequest(request)),
|
|
78
|
+
createFile: (request) => Cms.createFile(request, appOptions()),
|
|
79
|
+
updateFile: (fileId, request) => Cms.updateFile(fileId, request, appOptions()),
|
|
80
|
+
updateFileContent: (fileId, content) => Cms.updateFileContent(fileId, content, appOptions()),
|
|
81
|
+
deleteFile: (fileId) => Cms.deleteFile(fileId, appOptions()),
|
|
82
|
+
getFilePresignedUrl: (fileId, expireTimeInSeconds) => Cms.getFilePresignedUrl(fileId, expireTimeInSeconds, appOptions()),
|
|
83
|
+
batchGetFilePresignedUrl: (fileIds, expireTimeInSeconds) => Cms.batchGetFilePresignedUrl(fileIds, expireTimeInSeconds, appOptions()),
|
|
84
|
+
getOssMetadata: (fileId) => Cms.getOssMetadata(fileId, appOptions()),
|
|
85
|
+
getUploadAuthorization: (request) => Cms.getUploadAuthorization(request, appOptions()),
|
|
86
|
+
getFileStsCredentials: (fileId, fileExtension, durationSeconds) => Cms.getFileStsCredentials(fileId, fileExtension, durationSeconds, appOptions()),
|
|
87
|
+
fileUploadComplete: (fileId, request) => Cms.fileUploadComplete(fileId, request, appOptions()),
|
|
88
|
+
setFilePreviewImage: (fileId, request) => Cms.setFilePreviewImage(fileId, request, appOptions()),
|
|
89
|
+
listFileAttachments: (fileId, request) => Cms.listFileAttachments(fileId, mergeRequest(request)),
|
|
90
|
+
getFileAttachment: (fileId, attachmentId) => Cms.getFileAttachment(fileId, attachmentId, appOptions()),
|
|
91
|
+
uploadFileAttachment: (fileId, attachmentTypeId, file, remark) => Cms.uploadFileAttachment(fileId, attachmentTypeId, file, remark, appOptions()),
|
|
92
|
+
deleteFileAttachment: (fileId, attachmentId) => Cms.deleteFileAttachment(fileId, attachmentId, appOptions()),
|
|
93
|
+
},
|
|
94
|
+
tasks: {
|
|
95
|
+
create: (request) => Task.createUserTask(request, appOptions()),
|
|
96
|
+
batchCreate: (request) => Task.batchCreateUserTasks(request, appOptions()),
|
|
97
|
+
get: (taskId) => Task.getUserTask(taskId, appOptions()),
|
|
98
|
+
batchGet: (request) => Task.batchGetUserTasks(request, appOptions()),
|
|
99
|
+
list: (request) => Task.listUserTasks(mergeRequest(request)),
|
|
100
|
+
update: (taskId, request) => Task.updateUserTask(taskId, request, appOptions()),
|
|
101
|
+
delete: (taskId) => Task.deleteUserTask(taskId, appOptions()),
|
|
102
|
+
getInput: (taskId) => Task.getTaskInput(taskId, appOptions()),
|
|
103
|
+
getOutput: (taskId) => Task.getTaskOutput(taskId, appOptions()),
|
|
104
|
+
updateInput: (taskId, input) => Task.updateTaskInput(taskId, input, appOptions()),
|
|
105
|
+
updateOutput: (taskId, output) => Task.updateTaskOutput(taskId, output, appOptions()),
|
|
106
|
+
getStatus: (taskId) => Task.getTaskStatus(taskId, appOptions()),
|
|
107
|
+
updateStatus: (taskId, status) => Task.updateTaskStatus(taskId, status, appOptions()),
|
|
108
|
+
getStatistics: (userId) => Task.getTaskStatistics(userId, appOptions()),
|
|
109
|
+
getFrozenStatus: (taskId) => Task.getTaskFrozenStatus(taskId, appOptions()),
|
|
110
|
+
updateFrozenStatus: (taskId, isFrozen) => Task.updateTaskFrozenStatus(taskId, isFrozen, appOptions()),
|
|
111
|
+
listAttachments: (taskId, request) => Task.listTaskAttachments(taskId, mergeRequest(request)),
|
|
112
|
+
getAttachment: (taskId, attachmentId) => Task.getTaskAttachment(taskId, attachmentId, appOptions()),
|
|
113
|
+
uploadAttachment: (taskId, attachmentTypeId, file, remark) => Task.uploadTaskAttachment(taskId, attachmentTypeId, file, remark, appOptions()),
|
|
114
|
+
deleteAttachment: (taskId, attachmentId) => Task.deleteTaskAttachment(taskId, attachmentId, appOptions()),
|
|
115
|
+
},
|
|
116
|
+
taskTypes: {
|
|
117
|
+
create: (request) => TaskType.createTaskType(request, appOptions()),
|
|
118
|
+
update: (taskTypeId, request) => TaskType.updateTaskType(taskTypeId, request, appOptions()),
|
|
119
|
+
delete: (taskTypeId) => TaskType.deleteTaskType(taskTypeId, appOptions()),
|
|
120
|
+
get: (taskTypeId) => TaskType.getTaskType(taskTypeId, appOptions()),
|
|
121
|
+
list: (request) => TaskType.listTaskTypes(mergeRequest(request)),
|
|
122
|
+
listEnabled: (request) => TaskType.listEnabledTaskTypes(mergeRequest(request)),
|
|
123
|
+
},
|
|
124
|
+
rbac: {
|
|
125
|
+
getRole: (roleId) => Rbac.getRole(roleId, appOptions()),
|
|
126
|
+
listRoles: (request) => Rbac.listRoles(mergeRequest(request)),
|
|
127
|
+
createRole: (request) => Rbac.createRole(request, appOptions()),
|
|
128
|
+
updateRole: (roleId, request) => Rbac.updateRole(roleId, request, appOptions()),
|
|
129
|
+
deleteRole: (roleId) => Rbac.deleteRole(roleId, appOptions()),
|
|
130
|
+
getPrivilege: (privilegeId) => Rbac.getPrivilege(privilegeId, appOptions()),
|
|
131
|
+
listPrivileges: (request) => Rbac.listPrivileges(mergeRequest(request)),
|
|
132
|
+
createPrivilege: (request) => Rbac.createPrivilege(request, appOptions()),
|
|
133
|
+
updatePrivilege: (privilegeId, request) => Rbac.updatePrivilege(privilegeId, request, appOptions()),
|
|
134
|
+
deletePrivilege: (privilegeId) => Rbac.deletePrivilege(privilegeId, appOptions()),
|
|
135
|
+
getUserRoles: (userId) => Rbac.getUserRoles(userId, appOptions()),
|
|
136
|
+
assignRolesToUser: (userId, request) => Rbac.assignRolesToUser(userId, request, appOptions()),
|
|
137
|
+
unassignRolesFromUser: (userId, request) => Rbac.unassignRolesFromUser(userId, request, appOptions()),
|
|
138
|
+
getUserPrivileges: (userId) => Rbac.getUserPrivileges(userId, appOptions()),
|
|
139
|
+
assignPrivilegesToUser: (userId, request) => Rbac.assignPrivilegesToUser(userId, request, appOptions()),
|
|
140
|
+
unassignPrivilegesFromUser: (userId, request) => Rbac.unassignPrivilegesFromUser(userId, request, appOptions()),
|
|
141
|
+
assignPrivilegesToRole: (roleId, request) => Rbac.assignPrivilegesToRole(roleId, request, appOptions()),
|
|
142
|
+
unassignPrivilegesFromRole: (roleId, request) => Rbac.unassignPrivilegesFromRole(roleId, request, appOptions()),
|
|
143
|
+
},
|
|
144
|
+
acl: {
|
|
145
|
+
getRecord: (recordId) => Acl.getAclRecord(recordId, appOptions()),
|
|
146
|
+
listRecords: (request) => Acl.listAclRecords(mergeRequest(request)),
|
|
147
|
+
createRecord: (request) => Acl.createAclRecord(request, appOptions()),
|
|
148
|
+
batchCreateRecords: (request) => Acl.batchCreateAclRecords(request, appOptions()),
|
|
149
|
+
updateRecord: (recordId, request) => Acl.updateAclRecord(recordId, request, appOptions()),
|
|
150
|
+
deleteRecord: (recordId) => Acl.deleteAclRecord(recordId, appOptions()),
|
|
151
|
+
getTemplate: (templateId) => Acl.getAclTemplate(templateId, appOptions()),
|
|
152
|
+
listTemplates: (request) => Acl.listAclTemplates(mergeRequest(request)),
|
|
153
|
+
createTemplate: (request) => Acl.createAclTemplate(request, appOptions()),
|
|
154
|
+
updateTemplate: (templateId, request) => Acl.updateAclTemplate(templateId, request, appOptions()),
|
|
155
|
+
deleteTemplate: (templateId) => Acl.deleteAclTemplate(templateId, appOptions()),
|
|
156
|
+
listRecordAttachments: (recordId, request) => Acl.listAclRecordAttachments(recordId, mergeRequest(request)),
|
|
157
|
+
getRecordAttachment: (recordId, attachmentId) => Acl.getAclRecordAttachment(recordId, attachmentId, appOptions()),
|
|
158
|
+
uploadRecordAttachment: (recordId, attachmentTypeId, file, remark) => Acl.uploadAclRecordAttachment(recordId, attachmentTypeId, file, remark, appOptions()),
|
|
159
|
+
deleteRecordAttachment: (recordId, attachmentId) => Acl.deleteAclRecordAttachment(recordId, attachmentId, appOptions()),
|
|
160
|
+
},
|
|
161
|
+
attachments: {
|
|
162
|
+
get: (attachmentId) => Attachment.getAttachment(attachmentId, appOptions()),
|
|
163
|
+
listByRef: (request) => Attachment.listAttachmentsByRef(mergeRequest(request)),
|
|
164
|
+
upload: (request) => Attachment.uploadAttachment(mergeRequest(request)),
|
|
165
|
+
delete: (request) => Attachment.deleteAttachment(mergeRequest(request)),
|
|
166
|
+
getUploadUrl: (request) => Attachment.getAttachmentUploadUrl(mergeRequest(request)),
|
|
167
|
+
completeUpload: (attachmentId, request) => Attachment.completeAttachmentUpload(attachmentId, request, appOptions()),
|
|
168
|
+
getDownloadUrl: (request) => Attachment.getAttachmentDownloadUrl(mergeRequest(request)),
|
|
169
|
+
},
|
|
170
|
+
attachmentTypes: {
|
|
171
|
+
list: (request) => AttachmentType.listAttachmentTypes(mergeRequest(request)),
|
|
172
|
+
listByRef: (request) => AttachmentType.listAttachmentTypesByRef(mergeRequest(request)),
|
|
173
|
+
get: (typeId) => AttachmentType.getAttachmentType(typeId, appOptions()),
|
|
174
|
+
create: (request) => AttachmentType.createAttachmentType(request, appOptions()),
|
|
175
|
+
update: (typeId, request) => AttachmentType.updateAttachmentType(typeId, request, appOptions()),
|
|
176
|
+
delete: (typeId) => AttachmentType.deleteAttachmentType(typeId, appOptions()),
|
|
177
|
+
},
|
|
178
|
+
dashboard: {
|
|
179
|
+
getView: (viewName, request) => Dashboard.getDashboardView(viewName, mergeRequest(request)),
|
|
180
|
+
queryView: (request) => Dashboard.queryDashboardView(request, appOptions()),
|
|
181
|
+
},
|
|
182
|
+
appTokens: {
|
|
183
|
+
list: (request) => AppToken.listAppTokens(mergeRequest(request)),
|
|
184
|
+
},
|
|
185
|
+
};
|
|
186
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -14,6 +14,8 @@ export * from "./attachment-type/index.js";
|
|
|
14
14
|
export * from "./app/index.js";
|
|
15
15
|
export * from "./app-token/index.js";
|
|
16
16
|
export * from "./dashboard/index.js";
|
|
17
|
+
export * from "./admin.js";
|
|
18
|
+
export * from "./app-client.js";
|
|
17
19
|
export * from "./errors.js";
|
|
18
20
|
export type { CommonOptions, PageResponse, UserGroup, Role, Privilege, AppInfo, User, } from "./common/types.js";
|
|
19
21
|
export type { Attachment, AttachmentRefType, ListAttachmentsByRefRequest, UploadAttachmentRequest, UploadAuthorizationRequest, CompleteUploadRequest, DeleteAttachmentRequest, DownloadAttachmentUrlRequest, DownloadUrlResponse, AttachmentOptions, } from "./attachment/types.js";
|
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@turinhub/tale-js-sdk",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0",
|
|
4
4
|
"description": "Official TypeScript SDK for Tale backend services",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"tale",
|
|
@@ -22,6 +22,21 @@
|
|
|
22
22
|
"author": "Turinhub <dev@turinhub.com>",
|
|
23
23
|
"type": "module",
|
|
24
24
|
"main": "dist/index.js",
|
|
25
|
+
"exports": {
|
|
26
|
+
".": {
|
|
27
|
+
"types": "./dist/index.d.ts",
|
|
28
|
+
"import": "./dist/index.js"
|
|
29
|
+
},
|
|
30
|
+
"./admin": {
|
|
31
|
+
"types": "./dist/admin.d.ts",
|
|
32
|
+
"import": "./dist/admin.js"
|
|
33
|
+
},
|
|
34
|
+
"./app": {
|
|
35
|
+
"types": "./dist/app-client.d.ts",
|
|
36
|
+
"import": "./dist/app-client.js"
|
|
37
|
+
},
|
|
38
|
+
"./dist/*": "./dist/*"
|
|
39
|
+
},
|
|
25
40
|
"scripts": {
|
|
26
41
|
"test": "pnpm run build && node --env-file=.env --experimental-vm-modules ./node_modules/jest/bin/jest.js",
|
|
27
42
|
"test:unit": "pnpm run build && node --env-file=.env --experimental-vm-modules ./node_modules/jest/bin/jest.js --testPathIgnorePatterns='integration'",
|