@byted-apaas/server-sdk-node 1.1.20-beta.9 → 1.1.21-beta.1
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/context/context.d.ts +7 -0
- package/context/push/pushCenter.d.ts +55 -0
- package/context/push/pushCenter.js +62 -0
- package/context/task/taskCenter.d.ts +32 -0
- package/context/task/taskCenter.js +38 -0
- package/global/application/flow/flow.d.ts +3 -2
- package/global/application/flow/impl/flow.d.ts +1 -1
- package/global/application/flow/impl/flow.js +4 -4
- package/global/global.d.ts +10 -0
- package/hooks/api.d.ts +1 -1
- package/hooks/api.js +4 -4
- package/hooks/hooks.js +6 -0
- package/package.json +2 -2
- package/request/interface.d.ts +8 -1
- package/request/openapi.d.ts +9 -2
- package/request/openapi.js +115 -6
package/context/context.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ import { IDBGetter } from './db/db';
|
|
|
5
5
|
import { Context as CommonContext } from '@byted-apaas/server-common-node';
|
|
6
6
|
import { IMetaData } from './metadata/metadata';
|
|
7
7
|
import { _IIntegration } from './integration/IIntegration';
|
|
8
|
+
import { TaskCenter } from "./task/taskCenter";
|
|
9
|
+
import { PushCenter } from "./push/pushCenter";
|
|
8
10
|
export declare class Context<T, mt, cf, gv> extends CommonContext implements IContext<T, mt, cf, gv> {
|
|
9
11
|
/**
|
|
10
12
|
* 操作数据库中的记录数据
|
|
@@ -33,6 +35,11 @@ export declare class Context<T, mt, cf, gv> extends CommonContext implements ICo
|
|
|
33
35
|
* 向消息中心推送及更新消息
|
|
34
36
|
*/
|
|
35
37
|
msg: Message;
|
|
38
|
+
taskCenter: TaskCenter;
|
|
39
|
+
/**
|
|
40
|
+
* 推送中心
|
|
41
|
+
*/
|
|
42
|
+
pushCenter: PushCenter;
|
|
36
43
|
/**
|
|
37
44
|
* 根据 apiName 获取对应的全局变量
|
|
38
45
|
* @param apiName 全局变量的 API Name
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export interface _ReceiverInfo {
|
|
2
|
+
receiver_id: string;
|
|
3
|
+
receiver_id_type?: string;
|
|
4
|
+
tags?: Map<string, string>;
|
|
5
|
+
variables?: _Variable[];
|
|
6
|
+
extra?: Map<string, string>;
|
|
7
|
+
}
|
|
8
|
+
export interface _Variable {
|
|
9
|
+
key: string;
|
|
10
|
+
value?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* 推送中心类
|
|
14
|
+
*/
|
|
15
|
+
export declare class PushCenter {
|
|
16
|
+
/**
|
|
17
|
+
* 批量发布消息
|
|
18
|
+
* @param receiverInfos 接收者信息
|
|
19
|
+
* @param channelIDs 管道ID
|
|
20
|
+
* @param template 模版
|
|
21
|
+
* @param msgType 消息类型
|
|
22
|
+
* @param batchNo 批量编号
|
|
23
|
+
* @param senderID 发送者ID
|
|
24
|
+
* @param senderIDType 发送者ID类型
|
|
25
|
+
* @param subBatchNo 批量子编号
|
|
26
|
+
* @param tags 标签信息
|
|
27
|
+
* @param extra 扩展信息
|
|
28
|
+
*/
|
|
29
|
+
sendMessageBatch(receiverInfos: _ReceiverInfo[], channelIDs: string[], template: string, msgType: string, batchNo: string, senderID: string, senderIDType: string, subBatchNo?: string, tags?: Map<string, string>, extra?: Map<string, string>): Promise<any>;
|
|
30
|
+
/**
|
|
31
|
+
* 批量获取消息状态
|
|
32
|
+
* @param batchNo 批量编号
|
|
33
|
+
* @param subBatchNo 子批次编号
|
|
34
|
+
* @param tags 标签列表
|
|
35
|
+
*/
|
|
36
|
+
getMessageBatchStatus(batchNo: string, subBatchNo: string, tags?: Map<string, string>): Promise<any>;
|
|
37
|
+
/**
|
|
38
|
+
* 获取消息状态
|
|
39
|
+
* @param batchNo 批量编号
|
|
40
|
+
* @param subBatchNo 子批量编号
|
|
41
|
+
* @param receiverIDs 接收者ID列表
|
|
42
|
+
* @param tags 标签列表
|
|
43
|
+
* @param withFeedback 是否获取已读反馈
|
|
44
|
+
* @param offset 是否获取已读反馈
|
|
45
|
+
* @param limit 是否获取已读反馈
|
|
46
|
+
*/
|
|
47
|
+
getMessageStatus(batchNo: string, subBatchNo: string, receiverIDs?: string[], tags?: Map<string, string>, withFeedback?: boolean, offset?: number, limit?: number): Promise<any>;
|
|
48
|
+
/**
|
|
49
|
+
* 撤回消息
|
|
50
|
+
* @param batchNo 批量编号
|
|
51
|
+
* @param subBatchNo 子批量编号
|
|
52
|
+
* @param receiverIDs 接收者ID列表
|
|
53
|
+
*/
|
|
54
|
+
recallMessageBatch(batchNo: string, subBatchNo: string, receiverIDs?: string[]): Promise<any>;
|
|
55
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2022 ByteDance Ltd. and/or its affiliates
|
|
3
|
+
// SPDX-License-Identifier: MIT
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.PushCenter = void 0;
|
|
6
|
+
const Request = require("../../request/interface");
|
|
7
|
+
/**
|
|
8
|
+
* 推送中心类
|
|
9
|
+
*/
|
|
10
|
+
class PushCenter {
|
|
11
|
+
/**
|
|
12
|
+
* 批量发布消息
|
|
13
|
+
* @param receiverInfos 接收者信息
|
|
14
|
+
* @param channelIDs 管道ID
|
|
15
|
+
* @param template 模版
|
|
16
|
+
* @param msgType 消息类型
|
|
17
|
+
* @param batchNo 批量编号
|
|
18
|
+
* @param senderID 发送者ID
|
|
19
|
+
* @param senderIDType 发送者ID类型
|
|
20
|
+
* @param subBatchNo 批量子编号
|
|
21
|
+
* @param tags 标签信息
|
|
22
|
+
* @param extra 扩展信息
|
|
23
|
+
*/
|
|
24
|
+
async sendMessageBatch(receiverInfos, channelIDs, template, msgType, batchNo, senderID, senderIDType, subBatchNo, tags, extra) {
|
|
25
|
+
return await Request.GetInstance().sendMessageBatch(receiverInfos, channelIDs, template, msgType, batchNo, senderID, senderIDType, subBatchNo, tags, extra);
|
|
26
|
+
}
|
|
27
|
+
;
|
|
28
|
+
/**
|
|
29
|
+
* 批量获取消息状态
|
|
30
|
+
* @param batchNo 批量编号
|
|
31
|
+
* @param subBatchNo 子批次编号
|
|
32
|
+
* @param tags 标签列表
|
|
33
|
+
*/
|
|
34
|
+
async getMessageBatchStatus(batchNo, subBatchNo, tags) {
|
|
35
|
+
return await Request.GetInstance().getMessageBatchStatus(batchNo, subBatchNo, tags);
|
|
36
|
+
}
|
|
37
|
+
;
|
|
38
|
+
/**
|
|
39
|
+
* 获取消息状态
|
|
40
|
+
* @param batchNo 批量编号
|
|
41
|
+
* @param subBatchNo 子批量编号
|
|
42
|
+
* @param receiverIDs 接收者ID列表
|
|
43
|
+
* @param tags 标签列表
|
|
44
|
+
* @param withFeedback 是否获取已读反馈
|
|
45
|
+
* @param offset 是否获取已读反馈
|
|
46
|
+
* @param limit 是否获取已读反馈
|
|
47
|
+
*/
|
|
48
|
+
async getMessageStatus(batchNo, subBatchNo, receiverIDs, tags, withFeedback, offset, limit) {
|
|
49
|
+
return await Request.GetInstance().getMessageStatus(batchNo, subBatchNo, receiverIDs, tags, withFeedback, offset, limit);
|
|
50
|
+
}
|
|
51
|
+
;
|
|
52
|
+
/**
|
|
53
|
+
* 撤回消息
|
|
54
|
+
* @param batchNo 批量编号
|
|
55
|
+
* @param subBatchNo 子批量编号
|
|
56
|
+
* @param receiverIDs 接收者ID列表
|
|
57
|
+
*/
|
|
58
|
+
async recallMessageBatch(batchNo, subBatchNo, receiverIDs) {
|
|
59
|
+
return await Request.GetInstance().recallMessageBatch(batchNo, subBatchNo, receiverIDs);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.PushCenter = PushCenter;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export interface _Task {
|
|
2
|
+
task_id?: string;
|
|
3
|
+
apaas_record?: _APaaSRecord;
|
|
4
|
+
}
|
|
5
|
+
export interface _APaaSRecord {
|
|
6
|
+
object_id?: string;
|
|
7
|
+
object_api_name?: string;
|
|
8
|
+
record_id?: string;
|
|
9
|
+
record_data?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* 任务中心类
|
|
13
|
+
*/
|
|
14
|
+
export declare class TaskCenter {
|
|
15
|
+
/**
|
|
16
|
+
* 推送任务
|
|
17
|
+
* @param tasks 任务
|
|
18
|
+
* @param cacheDuration 缓存时长
|
|
19
|
+
*/
|
|
20
|
+
syncTasks(tasks?: _Task[], cacheDuration?: number): Promise<any>;
|
|
21
|
+
/**
|
|
22
|
+
* 查询任务详情(从缓存)
|
|
23
|
+
* @param task 任务
|
|
24
|
+
*/
|
|
25
|
+
getTaskDetail(task?: _Task): Promise<any>;
|
|
26
|
+
/**
|
|
27
|
+
* 刷新任务详情缓存
|
|
28
|
+
* @param tasks 任务
|
|
29
|
+
* @param cacheDuration 缓存时长
|
|
30
|
+
*/
|
|
31
|
+
refreshTasksCache(tasks?: _Task[], cacheDuration?: number): Promise<any>;
|
|
32
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2022 ByteDance Ltd. and/or its affiliates
|
|
3
|
+
// SPDX-License-Identifier: MIT
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.TaskCenter = void 0;
|
|
6
|
+
const Request = require("../../request/interface");
|
|
7
|
+
/**
|
|
8
|
+
* 任务中心类
|
|
9
|
+
*/
|
|
10
|
+
class TaskCenter {
|
|
11
|
+
/**
|
|
12
|
+
* 推送任务
|
|
13
|
+
* @param tasks 任务
|
|
14
|
+
* @param cacheDuration 缓存时长
|
|
15
|
+
*/
|
|
16
|
+
async syncTasks(tasks, cacheDuration) {
|
|
17
|
+
return await Request.GetInstance().syncTasks(tasks, cacheDuration);
|
|
18
|
+
}
|
|
19
|
+
;
|
|
20
|
+
/**
|
|
21
|
+
* 查询任务详情(从缓存)
|
|
22
|
+
* @param task 任务
|
|
23
|
+
*/
|
|
24
|
+
async getTaskDetail(task) {
|
|
25
|
+
return await Request.GetInstance().getTaskDetail(task);
|
|
26
|
+
}
|
|
27
|
+
;
|
|
28
|
+
/**
|
|
29
|
+
* 刷新任务详情缓存
|
|
30
|
+
* @param tasks 任务
|
|
31
|
+
* @param cacheDuration 缓存时长
|
|
32
|
+
*/
|
|
33
|
+
async refreshTasksCache(tasks, cacheDuration) {
|
|
34
|
+
return await Request.GetInstance().refreshTasksCache(tasks, cacheDuration);
|
|
35
|
+
}
|
|
36
|
+
;
|
|
37
|
+
}
|
|
38
|
+
exports.TaskCenter = TaskCenter;
|
|
@@ -8,12 +8,13 @@ export interface Flow {
|
|
|
8
8
|
getExecutionUserTaskInfo: (executionId: number) => Promise<FlowTaskInfo[]>;
|
|
9
9
|
/**
|
|
10
10
|
* 执行流程
|
|
11
|
-
* @param
|
|
11
|
+
* @param apiName 流程的 APIName
|
|
12
12
|
* @param options 流程执行选项
|
|
13
|
+
* @param async 是否异步执行
|
|
13
14
|
* - params 流程入参
|
|
14
15
|
* @constructor
|
|
15
16
|
*/
|
|
16
|
-
execute: (
|
|
17
|
+
execute: (apiName: string, options?: ExecuteOptions, async?: boolean) => Promise<ExecutionResult>;
|
|
17
18
|
/**
|
|
18
19
|
* 撤销流程实例 (仅支持撤销包含人工任务的流程实例)
|
|
19
20
|
* @param executionId 流程实例 Id
|
|
@@ -11,7 +11,7 @@ export declare class Flow implements IFlow {
|
|
|
11
11
|
*/
|
|
12
12
|
instanceId: number;
|
|
13
13
|
constructor(flowParams: any);
|
|
14
|
-
execute(
|
|
14
|
+
execute(apiName: string, options: ExecuteOptions | undefined, async?: boolean | undefined): Promise<ExecutionResult>;
|
|
15
15
|
getExecutionInfo(executionId: number): Promise<ExecutionInfo>;
|
|
16
16
|
getExecutionUserTaskInfo(executionId: number): Promise<FlowTaskInfo[]>;
|
|
17
17
|
revokeExecution(executionId: number, options: RevokeExecutionOptions): Promise<void>;
|
|
@@ -10,9 +10,9 @@ class Flow {
|
|
|
10
10
|
this.apiName = flowParams?.apiName;
|
|
11
11
|
this.instanceId = flowParams?.instanceId;
|
|
12
12
|
}
|
|
13
|
-
async execute(
|
|
14
|
-
if (!
|
|
15
|
-
throw new exceptions_1.InvalidParamError(`param's type (${
|
|
13
|
+
async execute(apiName, options, async) {
|
|
14
|
+
if (!apiName || typeof apiName !== 'string') {
|
|
15
|
+
throw new exceptions_1.InvalidParamError(`param's type (${apiName}) need string, but is ${typeof apiName}`);
|
|
16
16
|
}
|
|
17
17
|
if (options && options.params && server_common_node_1.checkUtils.isNotObject(options.params)) {
|
|
18
18
|
throw new exceptions_1.InvalidParamError(`options.params's type (${options}) need object, but is ${Array.isArray(options) ? 'array' : typeof options.params}`);
|
|
@@ -20,7 +20,7 @@ class Flow {
|
|
|
20
20
|
if (!options) {
|
|
21
21
|
options = {};
|
|
22
22
|
}
|
|
23
|
-
return await Request.GetInstance().executeFlow(
|
|
23
|
+
return await Request.GetInstance().executeFlow(apiName, options, async);
|
|
24
24
|
}
|
|
25
25
|
async getExecutionInfo(executionId) {
|
|
26
26
|
if (!executionId || typeof executionId !== 'number') {
|
package/global/global.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ import { Flow } from './application/flow/flow';
|
|
|
6
6
|
import { _Resources } from '../context/resources/impl/resources';
|
|
7
7
|
import { Message } from '../context/msg/msg';
|
|
8
8
|
import { _IIntegration } from '../context/integration/IIntegration';
|
|
9
|
+
import { TaskCenter } from "../context/task/taskCenter";
|
|
10
|
+
import { PushCenter } from "../context/push/pushCenter";
|
|
9
11
|
declare global {
|
|
10
12
|
export namespace application {
|
|
11
13
|
/**
|
|
@@ -30,6 +32,14 @@ declare global {
|
|
|
30
32
|
/**
|
|
31
33
|
* metadataV3 接口
|
|
32
34
|
*/
|
|
35
|
+
/**
|
|
36
|
+
* 消息中心
|
|
37
|
+
*/
|
|
38
|
+
let taskCenter: TaskCenter;
|
|
39
|
+
/**
|
|
40
|
+
* 推送中心
|
|
41
|
+
*/
|
|
42
|
+
let pushCenter: PushCenter;
|
|
33
43
|
/**
|
|
34
44
|
* 常量
|
|
35
45
|
*/
|
package/hooks/api.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export declare function mountWorkflowFeature(context: any): void;
|
|
|
18
18
|
export declare function terminateWorkflow(): (workflowInstanceId: number, options: any) => Promise<void>;
|
|
19
19
|
export declare function mockFlowFeature(context: any): any;
|
|
20
20
|
export declare function mockGetExecutionUserTaskInfo(): (executionId: bigint) => Promise<FlowTaskInfo[]>;
|
|
21
|
-
export declare function mockExecuteFlow(): (
|
|
21
|
+
export declare function mockExecuteFlow(): (apiName: string, options?: ExecuteOptions) => Promise<ExecutionResult>;
|
|
22
22
|
export declare function mockRevokeExecution(): (executionId: number, options: RevokeExecutionOptions) => Promise<void>;
|
|
23
23
|
export declare function mockGetExecutionInfo(): (executionId: number) => Promise<ExecutionInfo>;
|
|
24
24
|
export declare function invokeMicroservice(): (apiName: string) => {
|
package/hooks/api.js
CHANGED
|
@@ -257,9 +257,9 @@ function mockGetExecutionUserTaskInfo() {
|
|
|
257
257
|
}
|
|
258
258
|
exports.mockGetExecutionUserTaskInfo = mockGetExecutionUserTaskInfo;
|
|
259
259
|
function mockExecuteFlow() {
|
|
260
|
-
return async (
|
|
261
|
-
if (!
|
|
262
|
-
throw new exceptions_1.InvalidParamError(`param's type (${
|
|
260
|
+
return async (apiName, options) => {
|
|
261
|
+
if (!apiName || typeof apiName !== 'string') {
|
|
262
|
+
throw new exceptions_1.InvalidParamError(`param's type (${apiName}) need string, but is ${typeof apiName}`);
|
|
263
263
|
}
|
|
264
264
|
if (options && options.params && checkUtils.isNotObject(options.params)) {
|
|
265
265
|
throw new exceptions_1.InvalidParamError(`options.params's type (${options}) need object, but is ${Array.isArray(options) ? 'array' : typeof options.params}`);
|
|
@@ -267,7 +267,7 @@ function mockExecuteFlow() {
|
|
|
267
267
|
if (!options) {
|
|
268
268
|
options = {};
|
|
269
269
|
}
|
|
270
|
-
return await Request.GetInstance().executeFlow(
|
|
270
|
+
return await Request.GetInstance().executeFlow(apiName, options, false);
|
|
271
271
|
};
|
|
272
272
|
}
|
|
273
273
|
exports.mockExecuteFlow = mockExecuteFlow;
|
package/hooks/hooks.js
CHANGED
|
@@ -11,6 +11,8 @@ const common_1 = require("../request/common");
|
|
|
11
11
|
const integration_1 = require("../context/integration/impl/integration");
|
|
12
12
|
const metadataApi = require("../context/metadata/metadata");
|
|
13
13
|
const flow_1 = require("../global/application/flow/flow");
|
|
14
|
+
const taskCenter_1 = require("../context/task/taskCenter");
|
|
15
|
+
const pushCenter_1 = require("../context/push/pushCenter");
|
|
14
16
|
/**
|
|
15
17
|
* 根据 key 获取对应的全局变量
|
|
16
18
|
* @param key 全局变量的 key
|
|
@@ -57,6 +59,8 @@ function mountContext(context, logger, requireFunc) {
|
|
|
57
59
|
context.function = api.getFunctionSync(context, logger);
|
|
58
60
|
context.tasks = new tasks_1.Tasks(context.function);
|
|
59
61
|
context.msg = new msg_1.Message();
|
|
62
|
+
context.taskCenter = new taskCenter_1.TaskCenter();
|
|
63
|
+
context.pushCenter = new pushCenter_1.PushCenter();
|
|
60
64
|
context.resources = new resources_1._Resources();
|
|
61
65
|
context.integration = new integration_1._Integration();
|
|
62
66
|
context.getVar = getVar;
|
|
@@ -83,6 +87,8 @@ function mountApplication(context) {
|
|
|
83
87
|
global.application.publicAPI.method = server_common_node_1.utils.getHttpMethod();
|
|
84
88
|
global.application.publicAPI.headers = server_common_node_1.utils.getHttpHeaders();
|
|
85
89
|
global.application.msg = new msg_1.Message();
|
|
90
|
+
global.application.taskCenter = new taskCenter_1.TaskCenter();
|
|
91
|
+
global.application.pushCenter = new pushCenter_1.PushCenter();
|
|
86
92
|
global.application.resources = new resources_1._Resources();
|
|
87
93
|
global.application.metadata = metadataApi.metadata(context);
|
|
88
94
|
// (global as any).application.metadataV3 = metadataApi.metadataV3(context);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@byted-apaas/server-sdk-node",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.21-beta.1",
|
|
4
4
|
"description": "aPaaS Server SDK",
|
|
5
5
|
"author": "zhouwexin <zhouwexin@bytedance.com>",
|
|
6
6
|
"homepage": "",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"clean": "tsc --build --clean && rm -rf **/*.js.map"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@byted-apaas/server-common-node": "2.0.
|
|
16
|
+
"@byted-apaas/server-common-node": "^2.0.20-beta.2",
|
|
17
17
|
"@jorgeferrero/stream-to-buffer": "^2.0.6",
|
|
18
18
|
"dayjs": "^1.9.6",
|
|
19
19
|
"form-data": "^3.0.0",
|
package/request/interface.d.ts
CHANGED
|
@@ -66,6 +66,13 @@ export interface IInnerAPIBaseRequest {
|
|
|
66
66
|
downloadFileByToken: (fileToken: string, filePath?: string) => Promise<Buffer | undefined>;
|
|
67
67
|
createMessage: (msg: any) => Promise<number>;
|
|
68
68
|
updateMessage: (msgId: number, msg: any) => Promise<void>;
|
|
69
|
+
syncTasks: (tasks: any, cacheDuration: number) => Promise<number>;
|
|
70
|
+
getTaskDetail: (task: any) => Promise<any>;
|
|
71
|
+
refreshTasksCache: (tasks: any, cacheDuration: number) => Promise<number>;
|
|
72
|
+
sendMessageBatch: (receiverInfos: any, channelIDs: string[], template: string, msgType: string, batchNo: string, senderID: string, senderIDType: string, subBatchNo?: string, tags?: Map<string, string>, extra?: Map<string, string>) => Promise<string>;
|
|
73
|
+
getMessageBatchStatus: (batchNo: string, subBatchNo: string, tags?: Map<string, string>) => Promise<any>;
|
|
74
|
+
getMessageStatus: (batchNo: string, subBatchNo: string, receiverIDs?: string[], tags?: Map<string, string>, withFeedback?: boolean, offset?: number, limit?: number) => Promise<any>;
|
|
75
|
+
recallMessageBatch: (batchNo: string, subBatchNo: string, receiverIDs?: string[]) => Promise<any>;
|
|
69
76
|
getFields: (objectApiName: string) => Promise<any>;
|
|
70
77
|
getField: (objectApiName: string, fieldApiName: string) => Promise<any>;
|
|
71
78
|
terminateWorkflowInstance: (workflowInstanceId: number, operator: number, reason: string) => Promise<void>;
|
|
@@ -84,7 +91,7 @@ export interface IInnerAPIBaseRequest {
|
|
|
84
91
|
}, params: any) => Promise<any>;
|
|
85
92
|
createAsyncTaskV2: (name: string, params: any) => Promise<any>;
|
|
86
93
|
getExecutionUserTaskInfo: (executionId: bigint) => Promise<any>;
|
|
87
|
-
executeFlow: (APIName: string, options: any) => Promise<ExecutionResult>;
|
|
94
|
+
executeFlow: (APIName: string, options: any, async: any) => Promise<ExecutionResult>;
|
|
88
95
|
revokeExecution: (executionId: number, revokeOptions: RevokeExecutionOptions) => Promise<void>;
|
|
89
96
|
getExecutionInfo: (executionId: number) => Promise<ExecutionInfo>;
|
|
90
97
|
getTenantInfo: (appCtx: AppCtx) => Promise<any>;
|
package/request/openapi.d.ts
CHANGED
|
@@ -33,6 +33,13 @@ export declare class RequestHttp implements IInnerAPIRequest {
|
|
|
33
33
|
downloadFileByToken(fileToken: string, filePath?: string): Promise<Buffer | undefined>;
|
|
34
34
|
createMessage(msg: any): Promise<number>;
|
|
35
35
|
updateMessage(msgId: number, msg: any): Promise<void>;
|
|
36
|
+
syncTasks(tasks: any, cacheDuration: number): Promise<any>;
|
|
37
|
+
getTaskDetail(task: any): Promise<any>;
|
|
38
|
+
sendMessageBatch(receiverInfos: any, channelIDs: string[], template: string, msgType: string, batchNo: string, senderID: string, senderIDType: string, subBatchNo?: string, tags?: Map<string, string>, extra?: Map<string, string>): Promise<string>;
|
|
39
|
+
getMessageBatchStatus(batchNo: string, subBatchNo: string, tags?: Map<string, string>): Promise<any>;
|
|
40
|
+
getMessageStatus(batchNo: string, subBatchNo: string, receiverIDs?: string[], tags?: Map<string, string>, withFeedback?: boolean, offset?: number, limit?: number): Promise<any>;
|
|
41
|
+
recallMessageBatch(batchNo: string, subBatchNo: string, receiverIDs?: string[]): Promise<any>;
|
|
42
|
+
refreshTasksCache(cacheDuration: number, tasks: any): Promise<any>;
|
|
36
43
|
getFields(objectApiName: string): any;
|
|
37
44
|
getField(objectApiName: string, fieldApiName: string): any;
|
|
38
45
|
terminateWorkflowInstance(workflowInstanceId: number, operator: number, reason: string): any;
|
|
@@ -56,7 +63,7 @@ export declare class RequestHttp implements IInnerAPIRequest {
|
|
|
56
63
|
}, params: any): Promise<any>;
|
|
57
64
|
createAsyncTaskV2(name: string, params: any): Promise<any>;
|
|
58
65
|
getExecutionUserTaskInfo(executionId: bigint): Promise<any>;
|
|
59
|
-
executeFlow(
|
|
66
|
+
executeFlow(apiName: string, options: any, async: any): Promise<ExecutionResult>;
|
|
60
67
|
revokeExecution(executionId: number, revokeOptions: RevokeExecutionOptions): Promise<void>;
|
|
61
68
|
getExecutionInfo(executionId: number): Promise<ExecutionInfo>;
|
|
62
69
|
getTenantInfo(appCtx: AppCtx): Promise<any>;
|
|
@@ -79,6 +86,6 @@ export declare class RequestHttp implements IInnerAPIRequest {
|
|
|
79
86
|
getApprovalInstance(params: IGetApprovalInstanceOptions): Promise<IApprovalInstance>;
|
|
80
87
|
}
|
|
81
88
|
export declare function getExecutionUserTaskInfo(executionId: bigint): Promise<any>;
|
|
82
|
-
export declare function executeFlow(
|
|
89
|
+
export declare function executeFlow(apiName: string, option: any, async: any): Promise<ExecutionResult>;
|
|
83
90
|
export declare function revokeExecution(executionId: number, revokeOptions: RevokeExecutionOptions): Promise<void>;
|
|
84
91
|
export declare function getExecutionInfo(executionId: number): Promise<ExecutionInfo>;
|
package/request/openapi.js
CHANGED
|
@@ -11,7 +11,8 @@ const constants_3 = require("@byted-apaas/server-common-node/constants/constants
|
|
|
11
11
|
const common_1 = require("./common");
|
|
12
12
|
const utils_1 = require("@byted-apaas/server-common-node/utils/utils");
|
|
13
13
|
const permissionUtils = require("@byted-apaas/server-common-node/utils/permissionUtils");
|
|
14
|
-
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
15
|
+
const { URLSearchParams } = require('url'); //nolint:byted_s_ts_no_require_imports
|
|
15
16
|
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
16
17
|
const nodeCls = require('node-cls'); //nolint:byted_s_ts_no_require_imports
|
|
17
18
|
const fs = require('fs');
|
|
@@ -1039,6 +1040,13 @@ class RequestHttp {
|
|
|
1039
1040
|
this.openSDKUploadFile = openSDKUploadFile;
|
|
1040
1041
|
this.openSDKUploadAvatar = openSDKUploadAvatar;
|
|
1041
1042
|
this.openSDKDownloadAvatar = openSDKDownloadAvatar;
|
|
1043
|
+
this.syncTasks = syncTasks;
|
|
1044
|
+
this.getTaskDetail = getTaskDetail;
|
|
1045
|
+
this.refreshTasksCache = refreshTasksCache;
|
|
1046
|
+
this.sendMessageBatch = sendMessageBatch;
|
|
1047
|
+
this.getMessageBatchStatus = getMessageBatchStatus;
|
|
1048
|
+
this.getMessageStatus = getMessageStatus;
|
|
1049
|
+
this.recallMessageBatch = recallMessageBatch;
|
|
1042
1050
|
}
|
|
1043
1051
|
updateWorkflowVariables(ctx, instanceId, variables, variableTypes) {
|
|
1044
1052
|
}
|
|
@@ -1097,6 +1105,27 @@ class RequestHttp {
|
|
|
1097
1105
|
updateMessage(msgId, msg) {
|
|
1098
1106
|
return null;
|
|
1099
1107
|
}
|
|
1108
|
+
syncTasks(tasks, cacheDuration) {
|
|
1109
|
+
return null;
|
|
1110
|
+
}
|
|
1111
|
+
getTaskDetail(task) {
|
|
1112
|
+
return null;
|
|
1113
|
+
}
|
|
1114
|
+
sendMessageBatch(receiverInfos, channelIDs, template, msgType, batchNo, senderID, senderIDType, subBatchNo, tags, extra) {
|
|
1115
|
+
return null;
|
|
1116
|
+
}
|
|
1117
|
+
getMessageBatchStatus(batchNo, subBatchNo, tags) {
|
|
1118
|
+
return null;
|
|
1119
|
+
}
|
|
1120
|
+
getMessageStatus(batchNo, subBatchNo, receiverIDs, tags, withFeedback, offset, limit) {
|
|
1121
|
+
return null;
|
|
1122
|
+
}
|
|
1123
|
+
recallMessageBatch(batchNo, subBatchNo, receiverIDs) {
|
|
1124
|
+
return null;
|
|
1125
|
+
}
|
|
1126
|
+
refreshTasksCache(cacheDuration, tasks) {
|
|
1127
|
+
return null;
|
|
1128
|
+
}
|
|
1100
1129
|
getFields(objectApiName) {
|
|
1101
1130
|
}
|
|
1102
1131
|
getField(objectApiName, fieldApiName) {
|
|
@@ -1126,8 +1155,8 @@ class RequestHttp {
|
|
|
1126
1155
|
async getExecutionUserTaskInfo(executionId) {
|
|
1127
1156
|
return await getExecutionUserTaskInfo(executionId);
|
|
1128
1157
|
}
|
|
1129
|
-
async executeFlow(
|
|
1130
|
-
return await executeFlow(
|
|
1158
|
+
async executeFlow(apiName, options, async) {
|
|
1159
|
+
return await executeFlow(apiName, options, async);
|
|
1131
1160
|
}
|
|
1132
1161
|
async revokeExecution(executionId, revokeOptions) {
|
|
1133
1162
|
return await revokeExecution(executionId, revokeOptions);
|
|
@@ -1414,17 +1443,20 @@ async function getExecutionUserTaskInfo(executionId) {
|
|
|
1414
1443
|
return res.taskList;
|
|
1415
1444
|
}
|
|
1416
1445
|
exports.getExecutionUserTaskInfo = getExecutionUserTaskInfo;
|
|
1417
|
-
async function executeFlow(
|
|
1418
|
-
if (!
|
|
1446
|
+
async function executeFlow(apiName, option, async) {
|
|
1447
|
+
if (!apiName) {
|
|
1419
1448
|
throw new exceptions.InvalidParamError(`flow apiName is empty`);
|
|
1420
1449
|
}
|
|
1421
1450
|
let options = commonHttp.getOptions(null, constants_2.openapiHttpPath.executeFlow);
|
|
1422
|
-
|
|
1451
|
+
const urlPath = options._reqPath.replace(replaceKeys.namespace, await (0, common_1.getNamespaceForOpenAndFaaSSDK)()).replace(replaceKeys.apiName, apiName);
|
|
1423
1452
|
options.json = {
|
|
1424
1453
|
'operator': utils.getUserIDFromCtx(),
|
|
1425
1454
|
'variables': (0, common_1.transMapToFlowVariable)(option.params),
|
|
1426
1455
|
'loopMasks': utils.getLoopMasks(),
|
|
1427
1456
|
};
|
|
1457
|
+
if (async !== undefined) {
|
|
1458
|
+
options.json['async'] = async;
|
|
1459
|
+
}
|
|
1428
1460
|
let res = await openapi.doRequest(null, urlPath, options);
|
|
1429
1461
|
return {
|
|
1430
1462
|
executionId: res.executionId,
|
|
@@ -1522,3 +1554,80 @@ async function getDefaultIntegrationTenantAccessToken() {
|
|
|
1522
1554
|
appId: res.appId,
|
|
1523
1555
|
};
|
|
1524
1556
|
}
|
|
1557
|
+
async function syncTasks(tasks, cacheDuration) {
|
|
1558
|
+
let options = commonHttp.getOptions(null, openapiHttpPath.taskCenterSyncTasks);
|
|
1559
|
+
let urlPath = options._reqPath.replace(replaceKeys.namespace, await (0, common_1.getNamespaceForOpenAndFaaSSDK)());
|
|
1560
|
+
options.json = {
|
|
1561
|
+
'tasks': tasks,
|
|
1562
|
+
'cache_duration': cacheDuration,
|
|
1563
|
+
};
|
|
1564
|
+
return await openapi.doRequest(null, urlPath, options);
|
|
1565
|
+
}
|
|
1566
|
+
async function getTaskDetail(task) {
|
|
1567
|
+
let options = commonHttp.getOptions(null, openapiHttpPath.taskCenterGetTaskDetail);
|
|
1568
|
+
let urlPath = options._reqPath.replace(replaceKeys.namespace, await (0, common_1.getNamespaceForOpenAndFaaSSDK)());
|
|
1569
|
+
options.json = {
|
|
1570
|
+
'task': task,
|
|
1571
|
+
};
|
|
1572
|
+
return await openapi.doRequest(null, urlPath, options);
|
|
1573
|
+
}
|
|
1574
|
+
async function refreshTasksCache(tasks, cacheDuration) {
|
|
1575
|
+
let options = commonHttp.getOptions(null, openapiHttpPath.taskCenterRefreshTasksCache);
|
|
1576
|
+
let urlPath = options._reqPath.replace(replaceKeys.namespace, await (0, common_1.getNamespaceForOpenAndFaaSSDK)());
|
|
1577
|
+
options.json = {
|
|
1578
|
+
'tasks': tasks,
|
|
1579
|
+
'cache_duration': cacheDuration,
|
|
1580
|
+
};
|
|
1581
|
+
return await openapi.doRequest(null, urlPath, options);
|
|
1582
|
+
}
|
|
1583
|
+
async function sendMessageBatch(receiverInfos, channelIDs, template, msgType, batchNo, senderID, senderIDType, subBatchNo, tags, extra) {
|
|
1584
|
+
let options = commonHttp.getOptions(null, openapiHttpPath.pushCenterSendMessageBatch);
|
|
1585
|
+
let urlPath = options._reqPath.replace(replaceKeys.namespace, await (0, common_1.getNamespaceForOpenAndFaaSSDK)());
|
|
1586
|
+
options.json = {
|
|
1587
|
+
'receiver_infos': receiverInfos,
|
|
1588
|
+
'channel_ids': channelIDs,
|
|
1589
|
+
'template': template,
|
|
1590
|
+
'msg_type': msgType,
|
|
1591
|
+
'batch_no': batchNo,
|
|
1592
|
+
'sender_id': senderID,
|
|
1593
|
+
'sender_id_type': senderIDType,
|
|
1594
|
+
'sub_batch_no': subBatchNo,
|
|
1595
|
+
'tags': tags,
|
|
1596
|
+
'extra': extra,
|
|
1597
|
+
};
|
|
1598
|
+
return await openapi.doRequest(null, urlPath, options);
|
|
1599
|
+
}
|
|
1600
|
+
async function getMessageBatchStatus(batchNo, subBatchNo, tags) {
|
|
1601
|
+
let options = commonHttp.getOptions(null, openapiHttpPath.pushCenterGetMessageBatchStatus);
|
|
1602
|
+
let urlPath = options._reqPath.replace(replaceKeys.namespace, await (0, common_1.getNamespaceForOpenAndFaaSSDK)());
|
|
1603
|
+
options.json = {
|
|
1604
|
+
'batch_no': batchNo,
|
|
1605
|
+
'sub_batch_no': subBatchNo,
|
|
1606
|
+
'tags': tags,
|
|
1607
|
+
};
|
|
1608
|
+
return await openapi.doRequest(null, urlPath, options);
|
|
1609
|
+
}
|
|
1610
|
+
async function getMessageStatus(batchNo, subBatchNo, receiverIDs, tags, withFeedback, offset, limit) {
|
|
1611
|
+
let options = commonHttp.getOptions(null, openapiHttpPath.pushCenterGetMessageStatus);
|
|
1612
|
+
let urlPath = options._reqPath.replace(replaceKeys.namespace, await (0, common_1.getNamespaceForOpenAndFaaSSDK)());
|
|
1613
|
+
options.json = {
|
|
1614
|
+
'batch_no': batchNo,
|
|
1615
|
+
'sub_batch_no': subBatchNo,
|
|
1616
|
+
'receiver_ids': receiverIDs,
|
|
1617
|
+
'tags': tags,
|
|
1618
|
+
'with_feedback': withFeedback,
|
|
1619
|
+
'offset': offset,
|
|
1620
|
+
'limit': limit,
|
|
1621
|
+
};
|
|
1622
|
+
return await openapi.doRequest(null, urlPath, options);
|
|
1623
|
+
}
|
|
1624
|
+
async function recallMessageBatch(batchNo, subBatchNo, receiverIDs) {
|
|
1625
|
+
let options = commonHttp.getOptions(null, openapiHttpPath.pushCenterRecallMessageBatch);
|
|
1626
|
+
let urlPath = options._reqPath.replace(replaceKeys.namespace, await (0, common_1.getNamespaceForOpenAndFaaSSDK)());
|
|
1627
|
+
options.json = {
|
|
1628
|
+
'batch_no': batchNo,
|
|
1629
|
+
'sub_batch_no': subBatchNo,
|
|
1630
|
+
'receiver_ids': receiverIDs
|
|
1631
|
+
};
|
|
1632
|
+
return await openapi.doRequest(null, urlPath, options);
|
|
1633
|
+
}
|