@byted-apaas/server-sdk-node 0.0.2-beta.1 → 0.0.2-beta.3

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.
Files changed (163) hide show
  1. package/LICENSE +7 -0
  2. package/NOTICE +3 -0
  3. package/application/application.js +0 -1
  4. package/application/function/function.js +0 -1
  5. package/application/impl/common.js +0 -1
  6. package/application/impl/impl.js +2 -2
  7. package/constants/constants.js +2 -1
  8. package/context/context.js +2 -1
  9. package/context/db/db.js +2 -1
  10. package/context/db/impl/IObject.js +2 -1
  11. package/context/db/impl/db.js +0 -1
  12. package/context/db/impl/object.js +2 -1
  13. package/context/db/impl/oql/ioql.js +2 -1
  14. package/context/db/impl/oql/oql.js +2 -1
  15. package/context/db/impl/order.js +2 -1
  16. package/context/db/impl/propertiesStore.js +2 -1
  17. package/context/db/impl/queryBuilder.js +2 -1
  18. package/context/db/impl/transaction/index.js +2 -1
  19. package/context/db/impl/transaction/operation.js +0 -1
  20. package/context/db/impl/transaction.js +2 -1
  21. package/context/globalConfig/globalConfig.js +2 -1
  22. package/context/metadata/components/common.js +2 -1
  23. package/context/metadata/components/components.js +2 -1
  24. package/context/metadata/components/desktop/list.js +0 -1
  25. package/context/metadata/components/desktop/recordDetail.js +2 -1
  26. package/context/metadata/components/mobile/list.js +2 -1
  27. package/context/metadata/metadata.js +2 -1
  28. package/context/metadata/objects/fields.js +2 -1
  29. package/context/metadata/objects/fields.util.js +0 -1
  30. package/context/metadata/objects/objects.js +2 -1
  31. package/context/metadata/types/common.js +2 -1
  32. package/context/metadata/types/components.js +2 -1
  33. package/context/metadata/types/objects.js +2 -1
  34. package/context/msg/msg.js +2 -1
  35. package/context/resources/IResources.js +0 -1
  36. package/context/resources/impl/resources.js +2 -1
  37. package/context/tasks/tasks.js +0 -1
  38. package/data/index.js +0 -1
  39. package/hooks/api.js +0 -1
  40. package/hooks/hooks.js +0 -1
  41. package/kunlun/kunlun.js +2 -1
  42. package/kunlun/operator/IOperator.js +2 -1
  43. package/kunlun/operator/impl/expression.js +2 -1
  44. package/kunlun/operator/impl/logic.js +2 -1
  45. package/kunlun/operator/impl/logicV2.js +0 -1
  46. package/kunlun/operator/impl/operator.js +2 -1
  47. package/kunlun/operator/impl/operatorV2.js +0 -1
  48. package/lib/core.js +2 -1
  49. package/package.json +2 -13
  50. package/request/common.js +0 -1
  51. package/request/constants.js +0 -1
  52. package/request/faasinfra.js +0 -1
  53. package/request/innerapi.js +2 -1
  54. package/request/interface.js +2 -1
  55. package/request/openapi.js +2 -1
  56. package/types/types.js +2 -1
  57. package/LICENSE.md +0 -0
  58. package/application/application.js.map +0 -1
  59. package/application/application.ts +0 -40
  60. package/application/function/function.js.map +0 -1
  61. package/application/function/function.ts +0 -37
  62. package/application/impl/common.js.map +0 -1
  63. package/application/impl/common.ts +0 -50
  64. package/application/impl/impl.js.map +0 -1
  65. package/application/impl/impl.ts +0 -48
  66. package/constants/constants.js.map +0 -1
  67. package/constants/constants.ts +0 -12
  68. package/context/context.js.map +0 -1
  69. package/context/context.ts +0 -127
  70. package/context/db/db.js.map +0 -1
  71. package/context/db/db.ts +0 -77
  72. package/context/db/impl/IObject.js.map +0 -1
  73. package/context/db/impl/IObject.ts +0 -244
  74. package/context/db/impl/db.js.map +0 -1
  75. package/context/db/impl/db.ts +0 -95
  76. package/context/db/impl/object.js.map +0 -1
  77. package/context/db/impl/object.ts +0 -628
  78. package/context/db/impl/oql/ioql.js.map +0 -1
  79. package/context/db/impl/oql/ioql.ts +0 -6
  80. package/context/db/impl/oql/oql.js.map +0 -1
  81. package/context/db/impl/oql/oql.ts +0 -22
  82. package/context/db/impl/order.js.map +0 -1
  83. package/context/db/impl/order.ts +0 -16
  84. package/context/db/impl/propertiesStore.js.map +0 -1
  85. package/context/db/impl/propertiesStore.ts +0 -28
  86. package/context/db/impl/queryBuilder.js.map +0 -1
  87. package/context/db/impl/queryBuilder.ts +0 -103
  88. package/context/db/impl/transaction/index.js.map +0 -1
  89. package/context/db/impl/transaction/index.ts +0 -337
  90. package/context/db/impl/transaction/operation.js.map +0 -1
  91. package/context/db/impl/transaction/operation.ts +0 -72
  92. package/context/db/impl/transaction.js.map +0 -1
  93. package/context/db/impl/transaction.ts +0 -76
  94. package/context/globalConfig/globalConfig.js.map +0 -1
  95. package/context/globalConfig/globalConfig.ts +0 -11
  96. package/context/metadata/components/common.js.map +0 -1
  97. package/context/metadata/components/common.ts +0 -19
  98. package/context/metadata/components/components.js.map +0 -1
  99. package/context/metadata/components/components.ts +0 -19
  100. package/context/metadata/components/desktop/list.js.map +0 -1
  101. package/context/metadata/components/desktop/list.ts +0 -457
  102. package/context/metadata/components/desktop/recordDetail.js.map +0 -1
  103. package/context/metadata/components/desktop/recordDetail.ts +0 -64
  104. package/context/metadata/components/mobile/list.js.map +0 -1
  105. package/context/metadata/components/mobile/list.ts +0 -176
  106. package/context/metadata/metadata.js.map +0 -1
  107. package/context/metadata/metadata.ts +0 -175
  108. package/context/metadata/objects/fields.js.map +0 -1
  109. package/context/metadata/objects/fields.ts +0 -454
  110. package/context/metadata/objects/fields.util.js.map +0 -1
  111. package/context/metadata/objects/fields.util.ts +0 -360
  112. package/context/metadata/objects/objects.js.map +0 -1
  113. package/context/metadata/objects/objects.ts +0 -27
  114. package/context/metadata/types/common.js.map +0 -1
  115. package/context/metadata/types/common.ts +0 -10
  116. package/context/metadata/types/components.js.map +0 -1
  117. package/context/metadata/types/components.ts +0 -105
  118. package/context/metadata/types/objects.js.map +0 -1
  119. package/context/metadata/types/objects.ts +0 -251
  120. package/context/msg/msg.js.map +0 -1
  121. package/context/msg/msg.ts +0 -49
  122. package/context/resources/IResources.js.map +0 -1
  123. package/context/resources/IResources.ts +0 -73
  124. package/context/resources/impl/resources.js.map +0 -1
  125. package/context/resources/impl/resources.ts +0 -170
  126. package/context/tasks/tasks.js.map +0 -1
  127. package/context/tasks/tasks.ts +0 -159
  128. package/data/index.js.map +0 -1
  129. package/data/index.ts +0 -30
  130. package/hooks/api.js.map +0 -1
  131. package/hooks/api.ts +0 -341
  132. package/hooks/hooks.js.map +0 -1
  133. package/hooks/hooks.ts +0 -100
  134. package/kunlun/kunlun.js.map +0 -1
  135. package/kunlun/kunlun.ts +0 -69
  136. package/kunlun/operator/IOperator.js.map +0 -1
  137. package/kunlun/operator/IOperator.ts +0 -163
  138. package/kunlun/operator/impl/expression.js.map +0 -1
  139. package/kunlun/operator/impl/expression.ts +0 -71
  140. package/kunlun/operator/impl/logic.js.map +0 -1
  141. package/kunlun/operator/impl/logic.ts +0 -595
  142. package/kunlun/operator/impl/logicV2.js.map +0 -1
  143. package/kunlun/operator/impl/logicV2.ts +0 -254
  144. package/kunlun/operator/impl/operator.js.map +0 -1
  145. package/kunlun/operator/impl/operator.ts +0 -255
  146. package/kunlun/operator/impl/operatorV2.js.map +0 -1
  147. package/kunlun/operator/impl/operatorV2.ts +0 -249
  148. package/lib/core.js.map +0 -1
  149. package/lib/core.ts +0 -4
  150. package/request/common.js.map +0 -1
  151. package/request/common.ts +0 -91
  152. package/request/constants.js.map +0 -1
  153. package/request/constants.ts +0 -25
  154. package/request/faasinfra.js.map +0 -1
  155. package/request/faasinfra.ts +0 -393
  156. package/request/innerapi.js.map +0 -1
  157. package/request/innerapi.ts +0 -1645
  158. package/request/interface.js.map +0 -1
  159. package/request/interface.ts +0 -166
  160. package/request/openapi.js.map +0 -1
  161. package/request/openapi.ts +0 -1220
  162. package/types/types.js.map +0 -1
  163. package/types/types.ts +0 -105
@@ -1,37 +0,0 @@
1
- import {AppCtx} from "../application";
2
-
3
- import {GetInstance} from "../../request/interface"
4
- import * as nodeClsCtx from "@byted-apaas/server-common-node/utils/nodeClsCtx";
5
- import * as utils from "@byted-apaas/server-common-node/utils/utils";
6
- import {InvalidParamError} from "@byted-apaas/server-common-node/utils/exceptions";
7
- import {setModeForOpenSDK} from "@byted-apaas/server-common-node/utils/utils";
8
- import {runCtxForOpenSDK} from "../impl/common";
9
-
10
- const crypto = require("crypto")
11
-
12
- export interface IFunction {
13
- /**
14
- * 调用函数
15
- * @param params 函数入参
16
- */
17
- invoke(params: Record<string, any>): Promise<any>;
18
- }
19
-
20
- export class Function implements IFunction {
21
- appCtx: AppCtx
22
- apiName: string
23
-
24
- constructor(appCtx: AppCtx, apiName: string) {
25
- this.appCtx = appCtx
26
- this.apiName = apiName;
27
- }
28
-
29
- async invoke(params: Record<string, any>): Promise<any> {
30
- return await runCtxForOpenSDK(this.appCtx, async () => {
31
- return await GetInstance().invokeFuncWithAuth({
32
- APIName: this.apiName,
33
- isInvokeByAPIName: true
34
- }, params);
35
- });
36
- }
37
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["common.ts"],"names":[],"mappings":";;;AACA,qEAAqE;AACrE,+EAA+E;AAC/E,iFAAmF;AAEnF,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE1B,KAAK,UAAU,gBAAgB,CAAC,MAAc,EAAE,OAAiB;IACpE,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;QACrC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YACpB,MAAM,IAAI,8BAAiB,CAAC,iCAAiC,CAAC,CAAC;SAClE;QACD,OAAO,UAAU,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YACrC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACvC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACrC,QAAQ,MAAM,CAAC,GAAG,EAAE;gBAChB,aAAa;gBACb,KAAK,gBAAgB;oBACjB,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;oBAC5B,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACpB,MAAM;gBACV,aAAa;gBACb,KAAK,YAAY;oBACb,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACxB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACpB,MAAM;gBACV,KAAK,SAAS;oBACV,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACxB,MAAM;gBACV,KAAK,MAAM;oBACP,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACrB,MAAM;gBACV,KAAK,QAAQ;oBACT,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACvB,MAAM;gBACV;oBACI,MAAM,IAAI,8BAAiB,CAAC,kCAAkC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;aACnF;YACD,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACnC,KAAK,CAAC,SAAS,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE;gBACnB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;aAC1D;YACD,OAAO,MAAM,OAAO,EAAE,CAAC;QAC3B,CAAC,CACJ,CAAA;KACJ;IACD,OAAO,MAAM,OAAO,EAAE,CAAC;AAC3B,CAAC;AA1CD,4CA0CC"}
@@ -1,50 +0,0 @@
1
- import {AppCtx} from "../application";
2
- import * as utils from "@byted-apaas/server-common-node/utils/utils";
3
- import * as nodeClsCtx from "@byted-apaas/server-common-node/utils/nodeClsCtx";
4
- import {InvalidParamError} from "@byted-apaas/server-common-node/utils/exceptions";
5
-
6
- const crypto = require("crypto");
7
-
8
- export async function runCtxForOpenSDK(appCtx: AppCtx, promise: Function): Promise<any> {
9
- if (appCtx && appCtx.mode === "openSDK") {
10
- if (!appCtx.credential) {
11
- throw new InvalidParamError(`credential is empty for openSDK`);
12
- }
13
- return nodeClsCtx.getReqCtx().run(async () => {
14
- utils.setModeForOpenSDK(appCtx.mode);
15
- utils.setCredential(appCtx.credential);
16
- utils.setDebugType(appCtx.debugType);
17
- switch (appCtx.env) {
18
- // @ts-ignore
19
- case "developmentboe":
20
- utils.setEnv('development');
21
- utils.setBoe("boe");
22
- break;
23
- // @ts-ignore
24
- case "stagingboe":
25
- utils.setEnv('staging');
26
- utils.setBoe("boe");
27
- break;
28
- case "staging":
29
- utils.setEnv('staging');
30
- break;
31
- case "gray":
32
- utils.setEnv("gray");
33
- break;
34
- case "online":
35
- utils.setEnv("online");
36
- break;
37
- default:
38
- throw new InvalidParamError(`platformEnvType is invalid for ${appCtx.env}`);
39
- }
40
- utils.setInvokeFuncName("openSDK");
41
- utils.setTenant(await appCtx.credential.getTenantInfo());
42
- if (!utils.getLogID()) {
43
- utils.setLogID(crypto.randomBytes(16).toString('hex'));
44
- }
45
- return await promise();
46
- }
47
- )
48
- }
49
- return await promise();
50
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"impl.js","sourceRoot":"","sources":["impl.ts"],"names":[],"mappings":";;;AACA,sFAAoF;AACpF,iDAAuD;AACvD,gFAA2E;AAC3E,mDAAyD;AAEzD,iDAAmD;AAGnD,sEAAyE;AAGzE,MAAa,WAAW;IAMpB,YAAY,QAAgB,EAAE,YAAoB;QAC9C,IAAI,CAAC,MAAM,GAAG;YACV,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,IAAI,0BAAa,CAAC,QAAQ,EAAE,YAAY,CAAC;YACrD,SAAS,EAAE,GAAG;YACd,GAAG,EAAE,QAAQ;SAChB,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,kBAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,6BAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,IAAI,WAAI,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,IAAI,EAAE;YAClC,OAAO,MAAM,IAAA,sBAAa,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC,CAAA;IACL,CAAC;IAED,aAAa,CAAC,QAAgB;QAC1B,OAAO,IAAI,mBAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,GAAG,CAAC,eAAgC;QAChC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,eAAe,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW;IACX,cAAc;QACV,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC;QAC5B,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAnCD,kCAmCC"}
@@ -1,48 +0,0 @@
1
- import {ITool, IToolsExtra} from "@byted-apaas/server-common-node/kunlun/tool/Itool";
2
- import {AppCredential} from "@byted-apaas/server-common-node/credential/credential";
3
- import {ApplicationDB} from "../../context/db/impl/db";
4
- import {Tool} from "@byted-apaas/server-common-node/kunlun/tool/impl/tool";
5
- import {Function, IFunction} from "../function/function";
6
- import {AppCtx, IApplication} from "../application";
7
- import {getTenantInfo} from "../../request/common";
8
- import {_IOpenSDKResources} from "../../context/resources/IResources";
9
- import {IDBSync} from "../../context/db/db";
10
- import {_OpenSDKResources} from "../../context/resources/impl/resources";
11
- import {PlatformEnvType} from "@byted-apaas/server-common-node/constants/constants";
12
-
13
- export class Application implements IApplication {
14
- private appCtx: AppCtx;
15
- data: IDBSync;
16
- resources: _IOpenSDKResources;
17
- tools: ITool & IToolsExtra;
18
-
19
- constructor(clientID: string, clientSecret: string) {
20
- this.appCtx = {
21
- mode: "openSDK",
22
- credential: new AppCredential(clientID, clientSecret),
23
- debugType: "0",
24
- env: "online"
25
- }
26
- this.data = new ApplicationDB(this.appCtx);
27
- this.resources = new _OpenSDKResources(this.appCtx);
28
- this.tools = new Tool();
29
- this.tools.getTenantInfo = async () => {
30
- return await getTenantInfo(this.appCtx);
31
- }
32
- }
33
-
34
- cloudfunction(funcName: string): IFunction {
35
- return new Function(this.appCtx, funcName);
36
- }
37
-
38
- env(platformEnvType: PlatformEnvType): IApplication {
39
- this.appCtx.env = platformEnvType;
40
- return this;
41
- }
42
-
43
- // 设置本地调试模式
44
- localDebugMode(): IApplication {
45
- this.appCtx.debugType = "2";
46
- return this;
47
- }
48
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG;IACvB,GAAG,EAAE,sCAAsC;CAC9C,CAAA;AAEY,QAAA,cAAc,GAAG;IAC1B,UAAU,EAAE,sBAAsB;IAClC,QAAQ,EAAE,UAAU;CACvB,CAAA;AAEY,QAAA,eAAe,GAAG;IAC3B,QAAQ,EAAE,GAAG;CAChB,CAAA"}
@@ -1,12 +0,0 @@
1
- export const notifyModel = {
2
- key: "ee.kunlun.cloudfunction.faas_buildin",
3
- }
4
-
5
- export const httpHeaderKeys = {
6
- statusCode: "X-Kunlun-Status-Code",
7
- location: "Location",
8
- }
9
-
10
- export const httpStatusCodes = {
11
- redirect: 302,
12
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["context.ts"],"names":[],"mappings":";;;AAIA,wEAA0E;AAE1E,gBAAgB;AAEhB,MAAa,OAAuB,SAAQ,4BAAgB;IAcxD;;;OAGG;IACH,QAAQ,CAAC,QAAY;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IAWD;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAuB,OAAY;QAC3C,OAAO,IAAI,CAAC;IAChB,CAAC;IAAA,CAAC;CAwBL;AA7DD,0BA6DC"}
@@ -1,127 +0,0 @@
1
- import { _Resources } from "./resources/impl/resources";
2
- import { Tasks } from "./tasks/tasks";
3
- import { Message } from "./msg/msg";
4
- import { IDBGetter } from "./db/db";
5
- import { Context as CommonContext } from '@byted-apaas/server-common-node'
6
- import { IMetaData } from "./metadata/metadata";
7
- // TODO MERGE cf
8
-
9
- export class Context<T, mt, cf, gv> extends CommonContext<T> implements IContext<T, mt, cf, gv> {
10
- /**
11
- * 操作数据库中的记录数据
12
- */
13
- db: IDBGetter<T, mt>;
14
- /**
15
- * 元数据读写
16
- */
17
- metadata: IMetaData<mt>;
18
- /**
19
- * 静态资源类操作
20
- */
21
- resources: _Resources;
22
-
23
- /**
24
- * 全局函数
25
- * @param funcName 函数名
26
- */
27
- function(funcName: cf): { invoke: (params: any) => Promise<any>; } {
28
- return null;
29
- }
30
-
31
- /**
32
- * 任务操作
33
- */
34
- tasks: Tasks<cf>;
35
- /**
36
- * 向消息中心推送及更新消息
37
- */
38
- msg: Message;
39
-
40
- /**
41
- * 根据 apiName 获取对应的全局变量
42
- * @param apiName 全局变量的 API Name
43
- */
44
- async getVar<Key extends keyof gv>(apiName: Key): Promise<gv[Key]> {
45
- return null;
46
- };
47
-
48
- // /**
49
- // * 微服务
50
- // * @param apiName 微服务的名称
51
- // */
52
- // microservice(apiName: string): {
53
- // /**
54
- // * 同步调用微服务
55
- // * @param path 请求路径,如:/ping
56
- // * @param method 请求方法,默认为 GET
57
- // * @param params 请求参数,默认为 undefined
58
- // */
59
- // invoke: (path: string, method?: string, params?: any) => Promise<any>;
60
- // /**
61
- // * 异步调用微服务
62
- // * @param path 请求路径,如:/ping
63
- // * @param method 请求方法,默认为 GET
64
- // * @param params 请求参数,默认为 undefined
65
- // */
66
- // invokeAsync: (path: string, method?: string, params?: any) => Promise<any>;
67
- // } {
68
- // return undefined;
69
- // };
70
- }
71
-
72
- export interface IContext<T, mt = {}, cf = "", gv = {}> {
73
- /**
74
- * 操作数据库中的记录数据
75
- */
76
- db: IDBGetter<T, mt>;
77
- /**
78
- * 元数据读写
79
- */
80
- metadata: IMetaData<mt>;
81
- /**
82
- * 静态资源类操作
83
- */
84
- resources: _Resources;
85
-
86
- /**
87
- * 全局函数
88
- * @param funcName 函数名
89
- */
90
- function(funcName: cf): { invoke: (params: any) => Promise<any>; };
91
-
92
- /**
93
- * 任务操作
94
- */
95
- tasks: Tasks<cf>;
96
- /**
97
- * 向消息中心推送及更新消息
98
- */
99
- msg: Message;
100
-
101
- /**
102
- * 根据 apiName 获取对应的全局变量
103
- * @param apiName 全局变量的 API Name
104
- */
105
- getVar<Key extends keyof gv>(apiName: Key): Promise<gv[Key]>;
106
-
107
- // /**
108
- // * 微服务
109
- // * @param apiName 微服务的名称
110
- // */
111
- // microservice(apiName: string): {
112
- // /**
113
- // * 同步调用微服务
114
- // * @param path 请求路径,如:/ping
115
- // * @param method 请求方法,默认为 GET
116
- // * @param params 请求参数,默认为 undefined
117
- // */
118
- // invoke: (path: string, method?: string, params?: any) => Promise<any>;
119
- // /**
120
- // * 异步调用微服务
121
- // * @param path 请求路径,如:/ping
122
- // * @param method 请求方法,默认为 GET
123
- // * @param params 请求参数,默认为 undefined
124
- // */
125
- // invokeAsync: (path: string, method?: string, params?: any) => Promise<any>;
126
- // };
127
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["db.ts"],"names":[],"mappings":""}
package/context/db/db.ts DELETED
@@ -1,77 +0,0 @@
1
- import { currentObjApiName } from '../../data'
2
- import { _IKAllEndpoint, _IKSyncEndpoint, _IKQuery } from './impl/IObject';
3
- import { ITransactionGetter } from './impl/transaction';
4
- import { IOql } from './impl/oql/ioql';
5
-
6
- /**
7
- * - IDBGetter 是声明 DB interface 的顶级入口,在使用时应该避免直接使用 IDB 和 IDBWithCurrentObject
8
- * 应该直接使用 IDBGetter。
9
- * - 目前 IDBGetter 支持的是 currentObject 方法的动态声明,使用泛型实现,期望传入的 T 是 Context 结构。
10
- * - 如果 Context 有 objectApiName 属性,则拥有 .db.currentObject 和 .db.transaction.currentObject
11
- */
12
- export type IDBGetter<T, mt> = T extends { 'objectApiName': string } ? IDB<T, mt> & IDBWithCurrentObject<{}, mt> : IDB<{}, mt>;
13
-
14
- /**
15
- * IDB 经由 IDBGetter 返回,是 DB 的基础接口结构
16
- */
17
- export interface IDB<T, mt> {
18
- /**
19
- * 操作指定对象的记录数据
20
- * @param objectApiName 指定对象的 ApiName
21
- * @example
22
- * ```
23
- * context.db.object("_user").where({
24
- * gender: "male"
25
- * }).find()
26
- * ```
27
- */
28
- object<T extends keyof mt>(objectApiName: T): _IKAllEndpoint<mt[T]> & _IKQuery<mt[T]>;
29
-
30
- /**
31
- * 创建一个新的空事务
32
- * @example
33
- * ```
34
- * let tx = context.db.newTransaction();
35
- * let user = tx.object("_user").registerCreate({
36
- * _name: new kunlun.type.Multilingual({ zh: "用户1", en: "user1" }),
37
- * });
38
- * let contract = tx.object("contract").registerCreate({
39
- * _name: new kunlun.type.Multilingual({ zh: "用户1的合同", en: "user1's contract" }),
40
- * user: {id: user._id}
41
- * });
42
- * await tx.commit();
43
- * ```
44
- */
45
- newTransaction(): ITransactionGetter<T, mt>;
46
- /**
47
- * OQL 操作
48
- * @param oql OQL 语句
49
- * @example
50
- * ```
51
- * let users = await context.db.oql("select _email from _user").execute();
52
- * ```
53
- */
54
- oql(oql: string): IOql;
55
- }
56
-
57
- /**
58
- * IDBWithCurrentObject 经由 IDBGetter 返回,是 DB 的动态增加的接口结构
59
- */
60
- export interface IDBWithCurrentObject<T, mt> {
61
- /**
62
- * 无需入参,操作当前对象的记录数据
63
- */
64
- // @ts-ignore
65
- currentObject(): _IKAllEndpoint<mt[currentObjApiName]> & _IKQuery<mt[currentObjApiName]>;
66
- }
67
-
68
- /**
69
- * IDBSync 仅包含同步调用接口,当前应用场景为 OpenSDK
70
- */
71
- export interface IDBSync<mt = Record<string, never>> {
72
- /**
73
- * 操作指定对象的记录数据
74
- * @param objectApiName 指定对象的 ApiName
75
- */
76
- object(objectApiName: string): _IKSyncEndpoint<mt> & _IKQuery<mt>;
77
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"IObject.js","sourceRoot":"","sources":["IObject.ts"],"names":[],"mappings":";;AAEsF,CAAC"}
@@ -1,244 +0,0 @@
1
- import { _Cond, _Record, _WhereCond } from '../../../types/types'
2
-
3
- export interface _IKAllEndpoint<T> extends _IKSyncEndpoint<T>, _IKAsyncEndpoint<T> { };
4
-
5
- export interface _IKSyncEndpoint<T> {
6
- /**
7
- * 创建记录
8
- * @param recordMap 用于创建的一条记录
9
- * @paramExample {_name: "John", age: 19, gender: "male"}
10
- * @example
11
- * ```
12
- * context.db.object("_department").create({
13
- * _name: new kunlun.type.Multilingual({ zh: "部门" }),
14
- * _manager: { _id: 1660000000 },
15
- * _status: "_active"
16
- * })
17
- * ```
18
- */
19
- create(recordMap: _Cond<T>): Promise<{ _id: number }>;
20
- /**
21
- * 删除记录
22
- * @param recordID 用于删除的一条记录的 ID
23
- * @example
24
- * ```
25
- * context.db.object("_user").delete(123456789123)
26
- * ```
27
- */
28
- delete(recordID: number): Promise<void>;
29
- /**
30
- * 删除记录
31
- * @param record 用于删除的一条完整记录
32
- * @example
33
- * ```
34
- * context.db.object("_user").delete(context.targetRecord.original)
35
- * ```
36
- */
37
- delete(record: _Cond<T>): Promise<void>;
38
- /**
39
- * 指定 _id 后,更新对应记录
40
- * @param _id 主键
41
- * @param recordMap 用于更新的一条记录
42
- * @paramExample {_name: "John", age: 19, gender: "male"}
43
- * @example
44
- * ```
45
- * context.db.object("_user").update(1660000000, {
46
- * gender: "male"
47
- * })
48
- * ```
49
- */
50
- update(_id: number, recordMap: _Cond<T>): Promise<void>;
51
- /**
52
- * 指定 _id 后,更新对应记录
53
- * @param recordMap 用于更新的一条记录,需对 _id 赋值
54
- * @paramExample {_id: 1660000000, _name: "John", age: 19, gender: "male"}
55
- * @example
56
- * ```
57
- * context.db.object("_user").update({
58
- * _id: 1660000000,
59
- * gender: "male"
60
- * })
61
- * ```
62
- */
63
- update(recordMap: _Cond<T>): Promise<void>;
64
- /**
65
- * 批量创建记录
66
- * @param recordMapList 多条用于创建的记录数据组成的数组
67
- * @paramExample [{_name: "John", age: 19, gender: "male"}, {_name: "Alis", age: 16, gender: "female"}]
68
- */
69
- batchCreate(recordMapList: _Cond<T>[]): Promise<number[]>;
70
- /**
71
- * 批量删除记录
72
- * @param recordIdList 多个用于删除的记录 ID 组成的数组
73
- * @paramExample [1001, 1002, 1003]
74
- */
75
- batchDelete(recordIdList: number[]): Promise<void>;
76
- /**
77
- * 批量删除记录
78
- * @param recordList 多条用于删除的记录数据组成的数组,记录数据需对 _id 赋值
79
- * @paramExample [{_id: 1001, _name: "John", gender: "male"}, {_id: 1002, _name: "Alis", gender: "female"}]
80
- */
81
- batchDelete(recordList: _Cond<T>[]): Promise<void>;
82
- /**
83
- * 根据 _id 批量更新记录
84
- * @param recordMapList 多条用于更新的记录数据组成的数组,记录数据需对 _id 赋值
85
- * @paramExample [{_id: 1001, _name: "John", gender: "male"}, {_id: 1002, _name: "Alis", gender: "female"}]
86
- */
87
- batchUpdate(recordMapList: _Cond<T>[]): Promise<void>;
88
- }
89
-
90
- export interface _IKAsyncEndpoint<T> {
91
- /**
92
- * 批量创建记录(为异步任务)
93
- * @param recordMapList 用于创建的多条记录
94
- * @paramExample [{_name: "John", age: 19, gender: "male"}, {_name: "Alis", age: 16, gender: "female"}]
95
- */
96
- batchCreateAsync(recordMapList: _Cond<T>[]): Promise<{ taskID: number }>;
97
- /**
98
- * 批量删除记录(为异步任务)
99
- * @param recordIDList 用于删除的多条记录的 ID 列表
100
- */
101
- batchDeleteAsync(recordIDList: number[]): Promise<{ taskID: number }>;
102
- /**
103
- * 批量删除记录(为异步任务)
104
- * @param recordList 用于删除的多条完整记录的列表
105
- */
106
- batchDeleteAsync(recordList: _Cond<T>[]): Promise<{ taskID: number }>;
107
- /**
108
- * 根据 _id 批量更新记录(为异步任务)
109
- * @param recordMapList 用于更新的多条记录,需对 _id 赋值
110
- * @paramExample [{_id: 1001, _name: "John", gender: "male"}, {_id: 1002, _name: "Alis", gender: "female"}]
111
- */
112
- batchUpdateAsync(recordMapList: _Cond<T>[]): Promise<{ taskID: number }>;
113
- }
114
-
115
- export interface _IKQuery<T> {
116
- /**
117
- * 无需入参,返回全部符合条件的记录
118
- * @example
119
- * ```
120
- * context.db.object("_user").where({
121
- * gender: "male"
122
- * }).findAll()
123
- * ```
124
- */
125
- findAll(): Promise<_Record<T>[]>;
126
- /**
127
- * 无需入参,返回符合条件的记录,单次返回 200 条
128
- * @example
129
- * ```
130
- * context.db.object("_user").where({
131
- * gender: "male"
132
- * }).find()
133
- * ```
134
- */
135
- find(): Promise<_Record<T>[]>;
136
- /**
137
- * 无需入参,返回排在第一位的记录
138
- * @example
139
- * ```
140
- * context.db.object("_user").where({
141
- * gender: "male"
142
- * }).findOne()
143
- * ```
144
- */
145
- findOne(): Promise<_Record<T>>;
146
- /**
147
- * 根据指定字段升序排序(a -> z, 0 -> 9)
148
- * @param fieldApiNames 排序依据的字段数组,按先后顺序确定优先级
149
- * @example
150
- * ```
151
- * context.db.object("_user").orderBy(["_email", "_phoneNumber"]).find()
152
- * ```
153
- */
154
- orderBy<K extends keyof T>(fieldApiNames: K[]): _IKQuery<T>;
155
- /**
156
- * 根据指定字段升序排序(a -> z, 0 -> 9)
157
- * @param fieldApiNames 排序依据的字段,按先后顺序确定优先级,用逗号分隔
158
- * @example
159
- * ```
160
- * context.db.object("_user").orderBy("_email", "_phoneNumber").find()
161
- * ```
162
- */
163
- orderBy<K extends keyof T>(...fieldApiNames: K[]): _IKQuery<T>;
164
- /**
165
- * 根据指定字段降序排序(z -> a, 9 -> 0)
166
- * @param fieldApiNames 排序依据的字段数组,按先后顺序确定优先级
167
- * @example
168
- * ```
169
- * context.db.object("_user").orderByDesc("_email", "_phoneNumber").find()
170
- * ```
171
- */
172
- orderByDesc<K extends keyof T>(fieldApiNames: K[]): _IKQuery<T>;
173
- /**
174
- * 根据指定字段降序排序(z -> a, 9 -> 0)
175
- * @param fieldApiNames 排序依据的字段,按先后顺序确定优先级,用逗号分隔
176
- * @example
177
- * ```
178
- * context.db.object("_user").orderByDesc("_email", "_phoneNumber").find()
179
- * ```
180
- */
181
- orderByDesc<K extends keyof T>(...fieldApiNames: K[]): _IKQuery<T>;
182
- /**
183
- * 指定需返回的字段
184
- * @param fieldApiNames 需返回的字段数组
185
- * @example
186
- * ```
187
- * context.db.object("_user").select(["_name", "_email"]).find()
188
- * ```
189
- */
190
- select<K extends keyof T>(fieldApiNames: K[]): _IKQuery<T>;
191
- /**
192
- * 指定需返回的字段
193
- * @param fieldApiNames 需返回的字段,用逗号分隔
194
- * @example
195
- * ```
196
- * context.db.object("_user").select("_name", "_email").find()
197
- * ```
198
- */
199
- select<K extends keyof T>(...fieldApiNames: K[]): _IKQuery<T>;
200
- /**
201
- * 设置查询条件
202
- * @param conditionMap 对字段赋值以指定查询筛选条件
203
- * @paramExample {gender: "male"}
204
- * @example
205
- * ```
206
- * context.db.object("_user").where({
207
- * gender: "male"
208
- * }).find()
209
- * ```
210
- */
211
- where(conditionMap: _WhereCond<T>): _IKQuery<T>;
212
- /**
213
- * 设置查询条件
214
- */
215
- where(): _IKQuery<T>;
216
- /**
217
- * 指定分页查询的数量
218
- * @param limit 分页查询的数量
219
- * @paramExample 10
220
- * @example
221
- * ```
222
- * context.db.object("_user").limit(10)
223
- * ```
224
- */
225
- limit(limit: number): _IKQuery<T>;
226
- /**
227
- * 指定分页查询的偏移量
228
- * @param offset 分页查询的偏移量
229
- * @paramExample 0
230
- * @example
231
- * ```
232
- * context.db.object("_user").offset(0)
233
- * ```
234
- */
235
- offset(offset: number): _IKQuery<T>;
236
- /**
237
- * 指定条件的行数
238
- * @example
239
- * ```
240
- * context.db.object("_user").count()
241
- * ```
242
- */
243
- count(): Promise<number>;
244
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["db.ts"],"names":[],"mappings":";;;AAAA,qCAAwD;AAKxD,wEAA4D;AAC5D,+CAAiD;AAEjD,mCAAgC;AAGhC,MAAa,EAAE;IAGX,YAAY,aAAsB;QAC9B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;IACtC,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAqB,aAAgB;QACvC,OAAO,IAAI,iBAAQ,CAAQ,aAAuB,CAAC,CAAA;IACvD,CAAC;IAAA,CAAC;IAEF;;;;;;;;;;;;;;OAcG;IACH,cAAc;QACV,OAAO,IAAI,mBAAW,CAAC,IAAI,CAAC,aAAa,CAAyC,CAAA;IACtF,CAAC;IAAA,CAAC;IAEF;;;;;;;OAOG;IACH,GAAG,CAAC,GAAW;QACX,OAAO,IAAI,SAAG,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;CACJ;AAnDD,gBAmDC;AAED,MAAa,mBAAyC,SAAQ,EAAS;IACnE;;OAEG;IACH,aAAa;IACb,aAAa;QACT,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACrB,MAAM,IAAI,+BAAU,CAAC,aAAa,CAAC,gCAAgC,CAAC,CAAC;SACxE;QACD,OAAO,IAAI,iBAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC5C,CAAC;IAAA,CAAC;IAEF,YAAY,aAAqB;QAC7B,KAAK,CAAC,aAAa,CAAC,CAAA;IACxB,CAAC;CACJ;AAfD,kDAeC;AAED;;GAEG;AACH,MAAa,aAAa;IAGtB,YAAY,MAAc;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC;IAED,MAAM,CAAC,aAAqB;QACxB,OAAO,IAAI,4BAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;CACJ;AAVD,sCAUC"}