@cloudbase/wx-cloud-client-sdk 1.4.0 → 1.5.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/lib/index.d.ts CHANGED
@@ -5,6 +5,8 @@ export * from './types';
5
5
  export { generateHTTPClient };
6
6
  declare const _default: {
7
7
  init: typeof init;
8
- generateHTTPClient: (callFunction: import("./types").CallFunction, fetch: (options: import("@cloudbase/adapter-interface").IFetchOptions) => any, baseUrl: string) => import("./types").OrmClient;
8
+ generateHTTPClient: (callFunction: import("./types").CallFunction, fetch: (options: import("@cloudbase/adapter-interface").IFetchOptions) => any, baseUrl: string, options?: {
9
+ sqlBaseUrl?: string | undefined;
10
+ } | undefined) => import("./types").OrmClient;
9
11
  };
10
12
  export default _default;
@@ -1,5 +1,14 @@
1
1
  import { SDKRequestInterface } from '@cloudbase/adapter-interface';
2
2
  import { OrmClient, CallFunction } from '../types';
3
3
  type ModelFetch = NonNullable<SDKRequestInterface['fetch']>;
4
- export declare const generateHTTPClient: (callFunction: CallFunction, fetch: ModelFetch, baseUrl: string) => OrmClient;
4
+ export declare const enum EQUERY_PARAM_TYPE {
5
+ ARRAY = "ARRAY",
6
+ BOOLEAN = "BOOLEAN",
7
+ NUMBER = "NUMBER",
8
+ OBJECT = "OBJECT",
9
+ STRING = "STRING"
10
+ }
11
+ export declare const generateHTTPClient: (callFunction: CallFunction, fetch: ModelFetch, baseUrl: string, options?: {
12
+ sqlBaseUrl?: string;
13
+ }) => OrmClient;
5
14
  export {};
@@ -284,6 +284,25 @@ export interface DataModelMethods<T> {
284
284
  records: T[];
285
285
  total?: number;
286
286
  }>>;
287
+ /**
288
+ * 运行 sql模板
289
+ * @param {Object} params - 包含模板名、模板参数、环境类型的参数对象。
290
+ * @returns {Promise<MethodResponse<unknown>>} 包含记录列表和总数的Promise对象。
291
+ */
292
+ runSQLTemplate?: (params: {
293
+ /**
294
+ * 模板名称
295
+ */
296
+ templateName: string;
297
+ /**
298
+ * 模板参数
299
+ */
300
+ params?: Record<string, any>;
301
+ /**
302
+ * 请求数据的环境类型,默认是 prod,可选值有 prod 和 pre
303
+ */
304
+ envType?: EnvType;
305
+ }) => Promise<MethodResponse<unknown>>;
287
306
  }
288
307
  /**
289
308
  * 模型方法返回值的定义
@@ -145,7 +145,7 @@ function getUserAgent() {
145
145
  return ua_1;
146
146
  }
147
147
  }
148
- var VERSION = "1.4.0";
148
+ var VERSION = "1.5.0";
149
149
 
150
150
  var callDataSource = function (_a) {
151
151
  var dataSourceName = _a.dataSourceName, methodName = _a.methodName, params = _a.params, realMethodName = _a.realMethodName, callFunction = _a.callFunction, _b = _a.envType, envType = _b === void 0 ? 'prod' : _b, mode = _a.mode;
@@ -434,7 +434,7 @@ var HTTP_DATA_MODEL_METHODS = {
434
434
  };
435
435
  var UNKNOWN_ERROR_MESSAGE = 'Unknown error occurred';
436
436
  var NOT_SUPPORTED_CODE = 'NotSupported';
437
- var generateHTTPClient = function (callFunction, fetch, baseUrl) {
437
+ var generateHTTPClient = function (callFunction, fetch, baseUrl, options) {
438
438
  var rawQueryClient = createRawQueryClient(callFunction);
439
439
  return new Proxy({}, {
440
440
  get: function (_, modelName) {
@@ -443,7 +443,7 @@ var generateHTTPClient = function (callFunction, fetch, baseUrl) {
443
443
  if (Object.prototype.hasOwnProperty.call(rawQueryClient, modelName)) {
444
444
  return rawQueryClient[modelName];
445
445
  }
446
- return generateHTTPClientByDataSourceName(baseUrl, modelName, fetch);
446
+ return generateHTTPClientByDataSourceName(baseUrl, modelName, fetch, options);
447
447
  }
448
448
  });
449
449
  };
@@ -453,59 +453,139 @@ var createWxCloudSDKError = function (message, modelName, methodName, code, requ
453
453
  requestId: requestId
454
454
  });
455
455
  };
456
- var generateHTTPClientByDataSourceName = function (baseUrl, modelName, fetch) {
456
+ var generateHTTPClientByDataSourceName = function (baseUrl, modelName, fetch, options) {
457
457
  var client = new Proxy({}, {
458
458
  get: function (_, methodName) {
459
- var httpDataModelMethod = HTTP_DATA_MODEL_METHODS[methodName];
460
- if (!httpDataModelMethod) {
461
- var error = new Error("\u4E0D\u652F\u6301\u7684\u64CD\u4F5C: ".concat(methodName));
462
- throw new WxCloudSDKError(error.message || UNKNOWN_ERROR_MESSAGE, {
463
- originError: error,
464
- code: NOT_SUPPORTED_CODE,
465
- requestId: 'N/A'
466
- });
459
+ if (methodName !== 'runSQLTemplate') {
460
+ var httpDataModelMethod_1 = HTTP_DATA_MODEL_METHODS[methodName];
461
+ if (!httpDataModelMethod_1) {
462
+ var error = new Error("\u4E0D\u652F\u6301\u7684\u64CD\u4F5C: ".concat(methodName));
463
+ throw new WxCloudSDKError(error.message || UNKNOWN_ERROR_MESSAGE, {
464
+ originError: error,
465
+ code: NOT_SUPPORTED_CODE,
466
+ requestId: 'N/A'
467
+ });
468
+ }
469
+ return function (params) {
470
+ if (params === void 0) { params = {}; }
471
+ return __awaiter(void 0, void 0, void 0, function () {
472
+ var getUrl, method, _a, defaultParams, effectiveParams, envType, url, result, error_1;
473
+ var _b;
474
+ return __generator(this, function (_c) {
475
+ switch (_c.label) {
476
+ case 0:
477
+ getUrl = httpDataModelMethod_1.getUrl, method = httpDataModelMethod_1.method, _a = httpDataModelMethod_1.defaultParams, defaultParams = _a === void 0 ? {} : _a;
478
+ effectiveParams = Object.assign({}, defaultParams, params);
479
+ envType = effectiveParams.envType === 'pre' ? 'pre' : 'prod';
480
+ url = [baseUrl, envType, getUrl(modelName)].join('/');
481
+ _c.label = 1;
482
+ case 1:
483
+ _c.trys.push([1, 3, , 4]);
484
+ return [4 /*yield*/, fetch({
485
+ url: url,
486
+ body: JSON.stringify(effectiveParams),
487
+ method: method
488
+ })];
489
+ case 2:
490
+ result = _c.sent();
491
+ if (result.code) {
492
+ // 抛出错误
493
+ throw createWxCloudSDKError(result === null || result === void 0 ? void 0 : result.message, modelName, methodName, result === null || result === void 0 ? void 0 : result.code, result === null || result === void 0 ? void 0 : result.requestId);
494
+ }
495
+ if (methodName === 'get') {
496
+ // 和 callFunction 实现保持一致
497
+ Object.assign(result, { data: (_b = result.data.record) !== null && _b !== void 0 ? _b : result.data });
498
+ }
499
+ return [2 /*return*/, result];
500
+ case 3:
501
+ error_1 = _c.sent();
502
+ throw new WxCloudSDKError((error_1 === null || error_1 === void 0 ? void 0 : error_1.message) || UNKNOWN_ERROR_MESSAGE, {
503
+ originError: error_1
504
+ });
505
+ case 4: return [2 /*return*/];
506
+ }
507
+ });
508
+ });
509
+ };
467
510
  }
468
- return function (params) {
469
- if (params === void 0) { params = {}; }
470
- return __awaiter(void 0, void 0, void 0, function () {
471
- var getUrl, method, _a, defaultParams, effectiveParams, envType, url, result, error_1;
472
- var _b;
473
- return __generator(this, function (_c) {
474
- switch (_c.label) {
511
+ else {
512
+ if (!(options === null || options === void 0 ? void 0 : options.sqlBaseUrl)) {
513
+ var error = new Error("\u4E0D\u652F\u6301\u7684\u64CD\u4F5C: ".concat(methodName));
514
+ throw new WxCloudSDKError(error.message || UNKNOWN_ERROR_MESSAGE, {
515
+ originError: error,
516
+ code: NOT_SUPPORTED_CODE,
517
+ requestId: 'N/A'
518
+ });
519
+ }
520
+ return function (props) { return __awaiter(void 0, void 0, void 0, function () {
521
+ var params, templateName, _envType, envType, url, parameter, result, error_2;
522
+ var _a, _b, _c, _d, _e, _f, _g, _h;
523
+ return __generator(this, function (_j) {
524
+ switch (_j.label) {
475
525
  case 0:
476
- getUrl = httpDataModelMethod.getUrl, method = httpDataModelMethod.method, _a = httpDataModelMethod.defaultParams, defaultParams = _a === void 0 ? {} : _a;
477
- effectiveParams = Object.assign({}, defaultParams, params);
478
- envType = effectiveParams.envType === 'pre' ? 'pre' : 'prod';
479
- url = [baseUrl, envType, getUrl(modelName)].join('/');
480
- _c.label = 1;
526
+ params = props.params, templateName = props.templateName, _envType = props.envType;
527
+ envType = _envType === 'pre' ? 'pre' : 'prod';
528
+ url = [options.sqlBaseUrl, envType, templateName, 'run'].join('/');
529
+ parameter = Object.entries(params || {}).reduce(function (list, _a) {
530
+ var key = _a[0], value = _a[1];
531
+ if (value !== undefined) {
532
+ var type = "OBJECT" /* EQUERY_PARAM_TYPE.OBJECT */;
533
+ var typeofValue = typeof value;
534
+ switch (typeofValue) {
535
+ case 'boolean': {
536
+ type = "BOOLEAN" /* EQUERY_PARAM_TYPE.BOOLEAN */;
537
+ break;
538
+ }
539
+ case 'number': {
540
+ type = "NUMBER" /* EQUERY_PARAM_TYPE.NUMBER */;
541
+ break;
542
+ }
543
+ case 'string': {
544
+ type = "STRING" /* EQUERY_PARAM_TYPE.STRING */;
545
+ break;
546
+ }
547
+ default: {
548
+ if (Array.isArray(value)) {
549
+ type = "ARRAY" /* EQUERY_PARAM_TYPE.ARRAY */;
550
+ }
551
+ else {
552
+ type = "OBJECT" /* EQUERY_PARAM_TYPE.OBJECT */;
553
+ }
554
+ }
555
+ }
556
+ list.push({
557
+ key: key,
558
+ type: type,
559
+ value: type === "STRING" /* EQUERY_PARAM_TYPE.STRING */ ? value : JSON.stringify(value)
560
+ });
561
+ }
562
+ return list;
563
+ }, []);
564
+ _j.label = 1;
481
565
  case 1:
482
- _c.trys.push([1, 3, , 4]);
566
+ _j.trys.push([1, 3, , 4]);
483
567
  return [4 /*yield*/, fetch({
484
568
  url: url,
485
- body: JSON.stringify(effectiveParams),
486
- method: method
569
+ body: JSON.stringify({ parameter: parameter }),
570
+ method: 'POST'
487
571
  })];
488
572
  case 2:
489
- result = _c.sent();
490
- if (result.code) {
573
+ result = _j.sent();
574
+ if ((_a = result === null || result === void 0 ? void 0 : result.Response) === null || _a === void 0 ? void 0 : _a.Error) {
491
575
  // 抛出错误
492
- throw createWxCloudSDKError(result === null || result === void 0 ? void 0 : result.message, modelName, methodName, result === null || result === void 0 ? void 0 : result.code, result === null || result === void 0 ? void 0 : result.requestId);
576
+ throw createWxCloudSDKError((_c = (_b = result === null || result === void 0 ? void 0 : result.Response) === null || _b === void 0 ? void 0 : _b.Error) === null || _c === void 0 ? void 0 : _c.Message, modelName, methodName, (_e = (_d = result === null || result === void 0 ? void 0 : result.Response) === null || _d === void 0 ? void 0 : _d.Error) === null || _e === void 0 ? void 0 : _e.Code, (_f = result === null || result === void 0 ? void 0 : result.Response) === null || _f === void 0 ? void 0 : _f.RequestId);
493
577
  }
494
- if (methodName === 'get') {
495
- // 和 callFunction 实现保持一致
496
- Object.assign(result, { data: (_b = result.data.record) !== null && _b !== void 0 ? _b : result.data });
497
- }
498
- return [2 /*return*/, result];
578
+ return [2 /*return*/, __assign(__assign({}, ((_g = result === null || result === void 0 ? void 0 : result.Response) !== null && _g !== void 0 ? _g : {})), { data: (_h = result === null || result === void 0 ? void 0 : result.Response) === null || _h === void 0 ? void 0 : _h.Data })];
499
579
  case 3:
500
- error_1 = _c.sent();
501
- throw new WxCloudSDKError((error_1 === null || error_1 === void 0 ? void 0 : error_1.message) || UNKNOWN_ERROR_MESSAGE, {
502
- originError: error_1
580
+ error_2 = _j.sent();
581
+ throw new WxCloudSDKError((error_2 === null || error_2 === void 0 ? void 0 : error_2.message) || UNKNOWN_ERROR_MESSAGE, {
582
+ originError: error_2
503
583
  });
504
584
  case 4: return [2 /*return*/];
505
585
  }
506
586
  });
507
- });
508
- };
587
+ }); };
588
+ }
509
589
  }
510
590
  });
511
591
  return client;
@@ -141,7 +141,7 @@ function getUserAgent() {
141
141
  return ua_1;
142
142
  }
143
143
  }
144
- var VERSION = "1.4.0";
144
+ var VERSION = "1.5.0";
145
145
 
146
146
  var callDataSource = function (_a) {
147
147
  var dataSourceName = _a.dataSourceName, methodName = _a.methodName, params = _a.params, realMethodName = _a.realMethodName, callFunction = _a.callFunction, _b = _a.envType, envType = _b === void 0 ? 'prod' : _b, mode = _a.mode;
@@ -430,7 +430,7 @@ var HTTP_DATA_MODEL_METHODS = {
430
430
  };
431
431
  var UNKNOWN_ERROR_MESSAGE = 'Unknown error occurred';
432
432
  var NOT_SUPPORTED_CODE = 'NotSupported';
433
- var generateHTTPClient = function (callFunction, fetch, baseUrl) {
433
+ var generateHTTPClient = function (callFunction, fetch, baseUrl, options) {
434
434
  var rawQueryClient = createRawQueryClient(callFunction);
435
435
  return new Proxy({}, {
436
436
  get: function (_, modelName) {
@@ -439,7 +439,7 @@ var generateHTTPClient = function (callFunction, fetch, baseUrl) {
439
439
  if (Object.prototype.hasOwnProperty.call(rawQueryClient, modelName)) {
440
440
  return rawQueryClient[modelName];
441
441
  }
442
- return generateHTTPClientByDataSourceName(baseUrl, modelName, fetch);
442
+ return generateHTTPClientByDataSourceName(baseUrl, modelName, fetch, options);
443
443
  }
444
444
  });
445
445
  };
@@ -449,59 +449,139 @@ var createWxCloudSDKError = function (message, modelName, methodName, code, requ
449
449
  requestId: requestId
450
450
  });
451
451
  };
452
- var generateHTTPClientByDataSourceName = function (baseUrl, modelName, fetch) {
452
+ var generateHTTPClientByDataSourceName = function (baseUrl, modelName, fetch, options) {
453
453
  var client = new Proxy({}, {
454
454
  get: function (_, methodName) {
455
- var httpDataModelMethod = HTTP_DATA_MODEL_METHODS[methodName];
456
- if (!httpDataModelMethod) {
457
- var error = new Error("\u4E0D\u652F\u6301\u7684\u64CD\u4F5C: ".concat(methodName));
458
- throw new WxCloudSDKError(error.message || UNKNOWN_ERROR_MESSAGE, {
459
- originError: error,
460
- code: NOT_SUPPORTED_CODE,
461
- requestId: 'N/A'
462
- });
455
+ if (methodName !== 'runSQLTemplate') {
456
+ var httpDataModelMethod_1 = HTTP_DATA_MODEL_METHODS[methodName];
457
+ if (!httpDataModelMethod_1) {
458
+ var error = new Error("\u4E0D\u652F\u6301\u7684\u64CD\u4F5C: ".concat(methodName));
459
+ throw new WxCloudSDKError(error.message || UNKNOWN_ERROR_MESSAGE, {
460
+ originError: error,
461
+ code: NOT_SUPPORTED_CODE,
462
+ requestId: 'N/A'
463
+ });
464
+ }
465
+ return function (params) {
466
+ if (params === void 0) { params = {}; }
467
+ return __awaiter(void 0, void 0, void 0, function () {
468
+ var getUrl, method, _a, defaultParams, effectiveParams, envType, url, result, error_1;
469
+ var _b;
470
+ return __generator(this, function (_c) {
471
+ switch (_c.label) {
472
+ case 0:
473
+ getUrl = httpDataModelMethod_1.getUrl, method = httpDataModelMethod_1.method, _a = httpDataModelMethod_1.defaultParams, defaultParams = _a === void 0 ? {} : _a;
474
+ effectiveParams = Object.assign({}, defaultParams, params);
475
+ envType = effectiveParams.envType === 'pre' ? 'pre' : 'prod';
476
+ url = [baseUrl, envType, getUrl(modelName)].join('/');
477
+ _c.label = 1;
478
+ case 1:
479
+ _c.trys.push([1, 3, , 4]);
480
+ return [4 /*yield*/, fetch({
481
+ url: url,
482
+ body: JSON.stringify(effectiveParams),
483
+ method: method
484
+ })];
485
+ case 2:
486
+ result = _c.sent();
487
+ if (result.code) {
488
+ // 抛出错误
489
+ throw createWxCloudSDKError(result === null || result === void 0 ? void 0 : result.message, modelName, methodName, result === null || result === void 0 ? void 0 : result.code, result === null || result === void 0 ? void 0 : result.requestId);
490
+ }
491
+ if (methodName === 'get') {
492
+ // 和 callFunction 实现保持一致
493
+ Object.assign(result, { data: (_b = result.data.record) !== null && _b !== void 0 ? _b : result.data });
494
+ }
495
+ return [2 /*return*/, result];
496
+ case 3:
497
+ error_1 = _c.sent();
498
+ throw new WxCloudSDKError((error_1 === null || error_1 === void 0 ? void 0 : error_1.message) || UNKNOWN_ERROR_MESSAGE, {
499
+ originError: error_1
500
+ });
501
+ case 4: return [2 /*return*/];
502
+ }
503
+ });
504
+ });
505
+ };
463
506
  }
464
- return function (params) {
465
- if (params === void 0) { params = {}; }
466
- return __awaiter(void 0, void 0, void 0, function () {
467
- var getUrl, method, _a, defaultParams, effectiveParams, envType, url, result, error_1;
468
- var _b;
469
- return __generator(this, function (_c) {
470
- switch (_c.label) {
507
+ else {
508
+ if (!(options === null || options === void 0 ? void 0 : options.sqlBaseUrl)) {
509
+ var error = new Error("\u4E0D\u652F\u6301\u7684\u64CD\u4F5C: ".concat(methodName));
510
+ throw new WxCloudSDKError(error.message || UNKNOWN_ERROR_MESSAGE, {
511
+ originError: error,
512
+ code: NOT_SUPPORTED_CODE,
513
+ requestId: 'N/A'
514
+ });
515
+ }
516
+ return function (props) { return __awaiter(void 0, void 0, void 0, function () {
517
+ var params, templateName, _envType, envType, url, parameter, result, error_2;
518
+ var _a, _b, _c, _d, _e, _f, _g, _h;
519
+ return __generator(this, function (_j) {
520
+ switch (_j.label) {
471
521
  case 0:
472
- getUrl = httpDataModelMethod.getUrl, method = httpDataModelMethod.method, _a = httpDataModelMethod.defaultParams, defaultParams = _a === void 0 ? {} : _a;
473
- effectiveParams = Object.assign({}, defaultParams, params);
474
- envType = effectiveParams.envType === 'pre' ? 'pre' : 'prod';
475
- url = [baseUrl, envType, getUrl(modelName)].join('/');
476
- _c.label = 1;
522
+ params = props.params, templateName = props.templateName, _envType = props.envType;
523
+ envType = _envType === 'pre' ? 'pre' : 'prod';
524
+ url = [options.sqlBaseUrl, envType, templateName, 'run'].join('/');
525
+ parameter = Object.entries(params || {}).reduce(function (list, _a) {
526
+ var key = _a[0], value = _a[1];
527
+ if (value !== undefined) {
528
+ var type = "OBJECT" /* EQUERY_PARAM_TYPE.OBJECT */;
529
+ var typeofValue = typeof value;
530
+ switch (typeofValue) {
531
+ case 'boolean': {
532
+ type = "BOOLEAN" /* EQUERY_PARAM_TYPE.BOOLEAN */;
533
+ break;
534
+ }
535
+ case 'number': {
536
+ type = "NUMBER" /* EQUERY_PARAM_TYPE.NUMBER */;
537
+ break;
538
+ }
539
+ case 'string': {
540
+ type = "STRING" /* EQUERY_PARAM_TYPE.STRING */;
541
+ break;
542
+ }
543
+ default: {
544
+ if (Array.isArray(value)) {
545
+ type = "ARRAY" /* EQUERY_PARAM_TYPE.ARRAY */;
546
+ }
547
+ else {
548
+ type = "OBJECT" /* EQUERY_PARAM_TYPE.OBJECT */;
549
+ }
550
+ }
551
+ }
552
+ list.push({
553
+ key: key,
554
+ type: type,
555
+ value: type === "STRING" /* EQUERY_PARAM_TYPE.STRING */ ? value : JSON.stringify(value)
556
+ });
557
+ }
558
+ return list;
559
+ }, []);
560
+ _j.label = 1;
477
561
  case 1:
478
- _c.trys.push([1, 3, , 4]);
562
+ _j.trys.push([1, 3, , 4]);
479
563
  return [4 /*yield*/, fetch({
480
564
  url: url,
481
- body: JSON.stringify(effectiveParams),
482
- method: method
565
+ body: JSON.stringify({ parameter: parameter }),
566
+ method: 'POST'
483
567
  })];
484
568
  case 2:
485
- result = _c.sent();
486
- if (result.code) {
569
+ result = _j.sent();
570
+ if ((_a = result === null || result === void 0 ? void 0 : result.Response) === null || _a === void 0 ? void 0 : _a.Error) {
487
571
  // 抛出错误
488
- throw createWxCloudSDKError(result === null || result === void 0 ? void 0 : result.message, modelName, methodName, result === null || result === void 0 ? void 0 : result.code, result === null || result === void 0 ? void 0 : result.requestId);
572
+ throw createWxCloudSDKError((_c = (_b = result === null || result === void 0 ? void 0 : result.Response) === null || _b === void 0 ? void 0 : _b.Error) === null || _c === void 0 ? void 0 : _c.Message, modelName, methodName, (_e = (_d = result === null || result === void 0 ? void 0 : result.Response) === null || _d === void 0 ? void 0 : _d.Error) === null || _e === void 0 ? void 0 : _e.Code, (_f = result === null || result === void 0 ? void 0 : result.Response) === null || _f === void 0 ? void 0 : _f.RequestId);
489
573
  }
490
- if (methodName === 'get') {
491
- // 和 callFunction 实现保持一致
492
- Object.assign(result, { data: (_b = result.data.record) !== null && _b !== void 0 ? _b : result.data });
493
- }
494
- return [2 /*return*/, result];
574
+ return [2 /*return*/, __assign(__assign({}, ((_g = result === null || result === void 0 ? void 0 : result.Response) !== null && _g !== void 0 ? _g : {})), { data: (_h = result === null || result === void 0 ? void 0 : result.Response) === null || _h === void 0 ? void 0 : _h.Data })];
495
575
  case 3:
496
- error_1 = _c.sent();
497
- throw new WxCloudSDKError((error_1 === null || error_1 === void 0 ? void 0 : error_1.message) || UNKNOWN_ERROR_MESSAGE, {
498
- originError: error_1
576
+ error_2 = _j.sent();
577
+ throw new WxCloudSDKError((error_2 === null || error_2 === void 0 ? void 0 : error_2.message) || UNKNOWN_ERROR_MESSAGE, {
578
+ originError: error_2
499
579
  });
500
580
  case 4: return [2 /*return*/];
501
581
  }
502
582
  });
503
- });
504
- };
583
+ }); };
584
+ }
505
585
  }
506
586
  });
507
587
  return client;
@@ -147,7 +147,7 @@
147
147
  return ua_1;
148
148
  }
149
149
  }
150
- var VERSION = "1.4.0";
150
+ var VERSION = "1.5.0";
151
151
 
152
152
  var callDataSource = function (_a) {
153
153
  var dataSourceName = _a.dataSourceName, methodName = _a.methodName, params = _a.params, realMethodName = _a.realMethodName, callFunction = _a.callFunction, _b = _a.envType, envType = _b === void 0 ? 'prod' : _b, mode = _a.mode;
@@ -436,7 +436,7 @@
436
436
  };
437
437
  var UNKNOWN_ERROR_MESSAGE = 'Unknown error occurred';
438
438
  var NOT_SUPPORTED_CODE = 'NotSupported';
439
- var generateHTTPClient = function (callFunction, fetch, baseUrl) {
439
+ var generateHTTPClient = function (callFunction, fetch, baseUrl, options) {
440
440
  var rawQueryClient = createRawQueryClient(callFunction);
441
441
  return new Proxy({}, {
442
442
  get: function (_, modelName) {
@@ -445,7 +445,7 @@
445
445
  if (Object.prototype.hasOwnProperty.call(rawQueryClient, modelName)) {
446
446
  return rawQueryClient[modelName];
447
447
  }
448
- return generateHTTPClientByDataSourceName(baseUrl, modelName, fetch);
448
+ return generateHTTPClientByDataSourceName(baseUrl, modelName, fetch, options);
449
449
  }
450
450
  });
451
451
  };
@@ -455,59 +455,139 @@
455
455
  requestId: requestId
456
456
  });
457
457
  };
458
- var generateHTTPClientByDataSourceName = function (baseUrl, modelName, fetch) {
458
+ var generateHTTPClientByDataSourceName = function (baseUrl, modelName, fetch, options) {
459
459
  var client = new Proxy({}, {
460
460
  get: function (_, methodName) {
461
- var httpDataModelMethod = HTTP_DATA_MODEL_METHODS[methodName];
462
- if (!httpDataModelMethod) {
463
- var error = new Error("\u4E0D\u652F\u6301\u7684\u64CD\u4F5C: ".concat(methodName));
464
- throw new WxCloudSDKError(error.message || UNKNOWN_ERROR_MESSAGE, {
465
- originError: error,
466
- code: NOT_SUPPORTED_CODE,
467
- requestId: 'N/A'
468
- });
461
+ if (methodName !== 'runSQLTemplate') {
462
+ var httpDataModelMethod_1 = HTTP_DATA_MODEL_METHODS[methodName];
463
+ if (!httpDataModelMethod_1) {
464
+ var error = new Error("\u4E0D\u652F\u6301\u7684\u64CD\u4F5C: ".concat(methodName));
465
+ throw new WxCloudSDKError(error.message || UNKNOWN_ERROR_MESSAGE, {
466
+ originError: error,
467
+ code: NOT_SUPPORTED_CODE,
468
+ requestId: 'N/A'
469
+ });
470
+ }
471
+ return function (params) {
472
+ if (params === void 0) { params = {}; }
473
+ return __awaiter(void 0, void 0, void 0, function () {
474
+ var getUrl, method, _a, defaultParams, effectiveParams, envType, url, result, error_1;
475
+ var _b;
476
+ return __generator(this, function (_c) {
477
+ switch (_c.label) {
478
+ case 0:
479
+ getUrl = httpDataModelMethod_1.getUrl, method = httpDataModelMethod_1.method, _a = httpDataModelMethod_1.defaultParams, defaultParams = _a === void 0 ? {} : _a;
480
+ effectiveParams = Object.assign({}, defaultParams, params);
481
+ envType = effectiveParams.envType === 'pre' ? 'pre' : 'prod';
482
+ url = [baseUrl, envType, getUrl(modelName)].join('/');
483
+ _c.label = 1;
484
+ case 1:
485
+ _c.trys.push([1, 3, , 4]);
486
+ return [4 /*yield*/, fetch({
487
+ url: url,
488
+ body: JSON.stringify(effectiveParams),
489
+ method: method
490
+ })];
491
+ case 2:
492
+ result = _c.sent();
493
+ if (result.code) {
494
+ // 抛出错误
495
+ throw createWxCloudSDKError(result === null || result === void 0 ? void 0 : result.message, modelName, methodName, result === null || result === void 0 ? void 0 : result.code, result === null || result === void 0 ? void 0 : result.requestId);
496
+ }
497
+ if (methodName === 'get') {
498
+ // 和 callFunction 实现保持一致
499
+ Object.assign(result, { data: (_b = result.data.record) !== null && _b !== void 0 ? _b : result.data });
500
+ }
501
+ return [2 /*return*/, result];
502
+ case 3:
503
+ error_1 = _c.sent();
504
+ throw new WxCloudSDKError((error_1 === null || error_1 === void 0 ? void 0 : error_1.message) || UNKNOWN_ERROR_MESSAGE, {
505
+ originError: error_1
506
+ });
507
+ case 4: return [2 /*return*/];
508
+ }
509
+ });
510
+ });
511
+ };
469
512
  }
470
- return function (params) {
471
- if (params === void 0) { params = {}; }
472
- return __awaiter(void 0, void 0, void 0, function () {
473
- var getUrl, method, _a, defaultParams, effectiveParams, envType, url, result, error_1;
474
- var _b;
475
- return __generator(this, function (_c) {
476
- switch (_c.label) {
513
+ else {
514
+ if (!(options === null || options === void 0 ? void 0 : options.sqlBaseUrl)) {
515
+ var error = new Error("\u4E0D\u652F\u6301\u7684\u64CD\u4F5C: ".concat(methodName));
516
+ throw new WxCloudSDKError(error.message || UNKNOWN_ERROR_MESSAGE, {
517
+ originError: error,
518
+ code: NOT_SUPPORTED_CODE,
519
+ requestId: 'N/A'
520
+ });
521
+ }
522
+ return function (props) { return __awaiter(void 0, void 0, void 0, function () {
523
+ var params, templateName, _envType, envType, url, parameter, result, error_2;
524
+ var _a, _b, _c, _d, _e, _f, _g, _h;
525
+ return __generator(this, function (_j) {
526
+ switch (_j.label) {
477
527
  case 0:
478
- getUrl = httpDataModelMethod.getUrl, method = httpDataModelMethod.method, _a = httpDataModelMethod.defaultParams, defaultParams = _a === void 0 ? {} : _a;
479
- effectiveParams = Object.assign({}, defaultParams, params);
480
- envType = effectiveParams.envType === 'pre' ? 'pre' : 'prod';
481
- url = [baseUrl, envType, getUrl(modelName)].join('/');
482
- _c.label = 1;
528
+ params = props.params, templateName = props.templateName, _envType = props.envType;
529
+ envType = _envType === 'pre' ? 'pre' : 'prod';
530
+ url = [options.sqlBaseUrl, envType, templateName, 'run'].join('/');
531
+ parameter = Object.entries(params || {}).reduce(function (list, _a) {
532
+ var key = _a[0], value = _a[1];
533
+ if (value !== undefined) {
534
+ var type = "OBJECT" /* EQUERY_PARAM_TYPE.OBJECT */;
535
+ var typeofValue = typeof value;
536
+ switch (typeofValue) {
537
+ case 'boolean': {
538
+ type = "BOOLEAN" /* EQUERY_PARAM_TYPE.BOOLEAN */;
539
+ break;
540
+ }
541
+ case 'number': {
542
+ type = "NUMBER" /* EQUERY_PARAM_TYPE.NUMBER */;
543
+ break;
544
+ }
545
+ case 'string': {
546
+ type = "STRING" /* EQUERY_PARAM_TYPE.STRING */;
547
+ break;
548
+ }
549
+ default: {
550
+ if (Array.isArray(value)) {
551
+ type = "ARRAY" /* EQUERY_PARAM_TYPE.ARRAY */;
552
+ }
553
+ else {
554
+ type = "OBJECT" /* EQUERY_PARAM_TYPE.OBJECT */;
555
+ }
556
+ }
557
+ }
558
+ list.push({
559
+ key: key,
560
+ type: type,
561
+ value: type === "STRING" /* EQUERY_PARAM_TYPE.STRING */ ? value : JSON.stringify(value)
562
+ });
563
+ }
564
+ return list;
565
+ }, []);
566
+ _j.label = 1;
483
567
  case 1:
484
- _c.trys.push([1, 3, , 4]);
568
+ _j.trys.push([1, 3, , 4]);
485
569
  return [4 /*yield*/, fetch({
486
570
  url: url,
487
- body: JSON.stringify(effectiveParams),
488
- method: method
571
+ body: JSON.stringify({ parameter: parameter }),
572
+ method: 'POST'
489
573
  })];
490
574
  case 2:
491
- result = _c.sent();
492
- if (result.code) {
575
+ result = _j.sent();
576
+ if ((_a = result === null || result === void 0 ? void 0 : result.Response) === null || _a === void 0 ? void 0 : _a.Error) {
493
577
  // 抛出错误
494
- throw createWxCloudSDKError(result === null || result === void 0 ? void 0 : result.message, modelName, methodName, result === null || result === void 0 ? void 0 : result.code, result === null || result === void 0 ? void 0 : result.requestId);
578
+ throw createWxCloudSDKError((_c = (_b = result === null || result === void 0 ? void 0 : result.Response) === null || _b === void 0 ? void 0 : _b.Error) === null || _c === void 0 ? void 0 : _c.Message, modelName, methodName, (_e = (_d = result === null || result === void 0 ? void 0 : result.Response) === null || _d === void 0 ? void 0 : _d.Error) === null || _e === void 0 ? void 0 : _e.Code, (_f = result === null || result === void 0 ? void 0 : result.Response) === null || _f === void 0 ? void 0 : _f.RequestId);
495
579
  }
496
- if (methodName === 'get') {
497
- // 和 callFunction 实现保持一致
498
- Object.assign(result, { data: (_b = result.data.record) !== null && _b !== void 0 ? _b : result.data });
499
- }
500
- return [2 /*return*/, result];
580
+ return [2 /*return*/, __assign(__assign({}, ((_g = result === null || result === void 0 ? void 0 : result.Response) !== null && _g !== void 0 ? _g : {})), { data: (_h = result === null || result === void 0 ? void 0 : result.Response) === null || _h === void 0 ? void 0 : _h.Data })];
501
581
  case 3:
502
- error_1 = _c.sent();
503
- throw new WxCloudSDKError((error_1 === null || error_1 === void 0 ? void 0 : error_1.message) || UNKNOWN_ERROR_MESSAGE, {
504
- originError: error_1
582
+ error_2 = _j.sent();
583
+ throw new WxCloudSDKError((error_2 === null || error_2 === void 0 ? void 0 : error_2.message) || UNKNOWN_ERROR_MESSAGE, {
584
+ originError: error_2
505
585
  });
506
586
  case 4: return [2 /*return*/];
507
587
  }
508
588
  });
509
- });
510
- };
589
+ }); };
590
+ }
511
591
  }
512
592
  });
513
593
  return client;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudbase/wx-cloud-client-sdk",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },