@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.
@@ -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 APIName 流程的 APIName
11
+ * @param apiName 流程的 APIName
12
12
  * @param options 流程执行选项
13
+ * @param async 是否异步执行
13
14
  * - params 流程入参
14
15
  * @constructor
15
16
  */
16
- execute: (APIName: string, options?: ExecuteOptions) => Promise<ExecutionResult>;
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(APIName: string, options: ExecuteOptions | undefined): Promise<ExecutionResult>;
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(APIName, options) {
14
- if (!APIName || typeof APIName !== 'string') {
15
- throw new exceptions_1.InvalidParamError(`param's type (${APIName}) need string, but is ${typeof APIName}`);
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(APIName, options);
23
+ return await Request.GetInstance().executeFlow(apiName, options, async);
24
24
  }
25
25
  async getExecutionInfo(executionId) {
26
26
  if (!executionId || typeof executionId !== 'number') {
@@ -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(): (APIName: string, options?: ExecuteOptions) => Promise<ExecutionResult>;
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 (APIName, options) => {
261
- if (!APIName || typeof APIName !== 'string') {
262
- throw new exceptions_1.InvalidParamError(`param's type (${APIName}) need string, but is ${typeof APIName}`);
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(APIName, options);
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.20-beta.9",
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.19",
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",
@@ -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>;
@@ -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(APIName: string, options: any): Promise<ExecutionResult>;
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(APIName: string, option: any): Promise<ExecutionResult>;
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>;
@@ -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
- const { URLSearchParams } = require('url');
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(APIName, options) {
1130
- return await executeFlow(APIName, options);
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(APIName, option) {
1418
- if (!APIName) {
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
- let urlPath = options._reqPath.replace(replaceKeys.namespace, await (0, common_1.getNamespaceForOpenAndFaaSSDK)()).replace(replaceKeys.apiName, APIName);
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
+ }