@steedos/objectql 2.7.27-beta.6 → 3.0.0-beta.100

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 (146) hide show
  1. package/lib/actions/field_updates.js +3 -4
  2. package/lib/actions/field_updates.js.map +1 -1
  3. package/lib/actions/types/field_update_target.d.ts +1 -1
  4. package/lib/actions/types/workflow_notification.d.ts +1 -1
  5. package/lib/actions/types/workflow_outbound_message.d.ts +1 -1
  6. package/lib/actions/types/workflow_rule.d.ts +1 -1
  7. package/lib/actions/workflow_notifications.js +2 -3
  8. package/lib/actions/workflow_notifications.js.map +1 -1
  9. package/lib/actions/workflow_outbound_messages.js +2 -3
  10. package/lib/actions/workflow_outbound_messages.js.map +1 -1
  11. package/lib/actions/workflow_rule.d.ts +1 -1
  12. package/lib/actions/workflow_rule.js.map +1 -1
  13. package/lib/broker.js.map +1 -1
  14. package/lib/driver/driver.d.ts +2 -2
  15. package/lib/driver/field-encrytion/mongosharedconst.js +1 -2
  16. package/lib/driver/field-encrytion/mongosharedconst.js.map +1 -1
  17. package/lib/driver/fieldDBType.js +1 -1
  18. package/lib/driver/fieldDBType.js.map +1 -1
  19. package/lib/driver/format.js +1 -2
  20. package/lib/driver/format.js.map +1 -1
  21. package/lib/driver/metadata.d.ts +21 -36
  22. package/lib/driver/metadata.js +372 -168
  23. package/lib/driver/metadata.js.map +1 -1
  24. package/lib/driver/metadataOld.d.ts +40 -0
  25. package/lib/driver/metadataOld.js +222 -0
  26. package/lib/driver/metadataOld.js.map +1 -0
  27. package/lib/driver/meteorMongo.d.ts +2 -39
  28. package/lib/driver/meteorMongo.js +5 -758
  29. package/lib/driver/meteorMongo.js.map +1 -1
  30. package/lib/driver/mongo.d.ts +0 -1
  31. package/lib/driver/mongo.js +34 -33
  32. package/lib/driver/mongo.js.map +1 -1
  33. package/lib/driver/mysql.js.map +1 -1
  34. package/lib/driver/oracle.js.map +1 -1
  35. package/lib/driver/postgres.js.map +1 -1
  36. package/lib/driver/sqlite3.js.map +1 -1
  37. package/lib/driver/sqlserver.js.map +1 -1
  38. package/lib/errors/index.d.ts +1 -1
  39. package/lib/errors/index.js +7 -6
  40. package/lib/errors/index.js.map +1 -1
  41. package/lib/formula/core.d.ts +13 -1
  42. package/lib/formula/core.js +188 -120
  43. package/lib/formula/core.js.map +1 -1
  44. package/lib/formula/field_formula.js.map +1 -1
  45. package/lib/formula/index.d.ts +7 -6
  46. package/lib/formula/index.js +34 -5
  47. package/lib/formula/index.js.map +1 -1
  48. package/lib/formula/params.js +1 -2
  49. package/lib/formula/params.js.map +1 -1
  50. package/lib/formula/recompute.js.map +1 -1
  51. package/lib/formula/simple_params.js +1 -2
  52. package/lib/formula/simple_params.js.map +1 -1
  53. package/lib/formula/type.d.ts +7 -7
  54. package/lib/formula/type.js +1 -1
  55. package/lib/formula/type.js.map +1 -1
  56. package/lib/formula/util.js.map +1 -1
  57. package/lib/functions/function.js +22 -11
  58. package/lib/functions/function.js.map +1 -1
  59. package/lib/services/datasourceServiceFactory.js +66 -15
  60. package/lib/services/datasourceServiceFactory.js.map +1 -1
  61. package/lib/services/index.js +2 -3
  62. package/lib/services/index.js.map +1 -1
  63. package/lib/summary/core.js +53 -44
  64. package/lib/summary/core.js.map +1 -1
  65. package/lib/summary/field_summary.js.map +1 -1
  66. package/lib/summary/index.js.map +1 -1
  67. package/lib/summary/recompute.js.map +1 -1
  68. package/lib/summary/type.d.ts +1 -1
  69. package/lib/summary/type.js +2 -2
  70. package/lib/summary/type.js.map +1 -1
  71. package/lib/triggers/trigger.js +32 -18
  72. package/lib/triggers/trigger.js.map +1 -1
  73. package/lib/ts-types/permissionset.d.ts +1 -1
  74. package/lib/ts-types/profile.d.ts +1 -1
  75. package/lib/ts-types/triggerActionParams.d.ts +1 -1
  76. package/lib/typeorm/driver.js.map +1 -1
  77. package/lib/typeorm/util.d.ts +1 -1
  78. package/lib/typeorm/util.js +13 -15
  79. package/lib/typeorm/util.js.map +1 -1
  80. package/lib/types/action.d.ts +1 -1
  81. package/lib/types/action.js.map +1 -1
  82. package/lib/types/app.d.ts +1 -1
  83. package/lib/types/app.js +9 -5
  84. package/lib/types/app.js.map +1 -1
  85. package/lib/types/connection.d.ts +2 -2
  86. package/lib/types/connection.js +11 -7
  87. package/lib/types/connection.js.map +1 -1
  88. package/lib/types/dashboard.d.ts +1 -1
  89. package/lib/types/dashboard.js +2 -2
  90. package/lib/types/dashboard.js.map +1 -1
  91. package/lib/types/datasource.d.ts +13 -7
  92. package/lib/types/datasource.js +147 -103
  93. package/lib/types/datasource.js.map +1 -1
  94. package/lib/types/defaultValue.js +1 -2
  95. package/lib/types/defaultValue.js.map +1 -1
  96. package/lib/types/field.d.ts +5 -12
  97. package/lib/types/field.js +68 -58
  98. package/lib/types/field.js.map +1 -1
  99. package/lib/types/field_permission.js.map +1 -1
  100. package/lib/types/field_types.d.ts +1 -1
  101. package/lib/types/list_view.js.map +1 -1
  102. package/lib/types/listeners.d.ts +1 -1
  103. package/lib/types/method_base.js +2 -3
  104. package/lib/types/method_base.js.map +1 -1
  105. package/lib/types/object.d.ts +2 -1
  106. package/lib/types/object.js +715 -421
  107. package/lib/types/object.js.map +1 -1
  108. package/lib/types/object_events.js +1 -2
  109. package/lib/types/object_events.js.map +1 -1
  110. package/lib/types/object_layouts.js +4 -5
  111. package/lib/types/object_layouts.js.map +1 -1
  112. package/lib/types/object_permission.js.map +1 -1
  113. package/lib/types/query.d.ts +2 -2
  114. package/lib/types/report.d.ts +1 -1
  115. package/lib/types/report.js +2 -2
  116. package/lib/types/report.js.map +1 -1
  117. package/lib/types/restrictionRule.d.ts +1 -1
  118. package/lib/types/restrictionRule.js +79 -27
  119. package/lib/types/restrictionRule.js.map +1 -1
  120. package/lib/types/schema.d.ts +4 -5
  121. package/lib/types/schema.js +37 -55
  122. package/lib/types/schema.js.map +1 -1
  123. package/lib/types/shareRule.d.ts +1 -1
  124. package/lib/types/shareRule.js +86 -34
  125. package/lib/types/shareRule.js.map +1 -1
  126. package/lib/types/trigger.d.ts +2 -2
  127. package/lib/types/userSession.d.ts +5 -5
  128. package/lib/types/validation_rules.js +1 -2
  129. package/lib/types/validation_rules.js.map +1 -1
  130. package/lib/util/convert.js +2 -3
  131. package/lib/util/convert.js.map +1 -1
  132. package/lib/util/field.js.map +1 -1
  133. package/lib/util/function_expression.js.map +1 -1
  134. package/lib/util/index.d.ts +9 -9
  135. package/lib/util/index.js +150 -101
  136. package/lib/util/index.js.map +1 -1
  137. package/lib/util/locale.js.map +1 -1
  138. package/lib/util/permission_shares.js +1 -2
  139. package/lib/util/permission_shares.js.map +1 -1
  140. package/lib/util/suffix.js +0 -38
  141. package/lib/util/suffix.js.map +1 -1
  142. package/lib/util/transform.d.ts +2 -4
  143. package/lib/util/transform.js +11 -152
  144. package/lib/util/transform.js.map +1 -1
  145. package/lib/validators/index.js.map +1 -1
  146. package/package.json +15 -18
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/types/connection.ts"],"names":[],"mappings":";;;;AAAA,yBAA2F;AAC3F,gCAA2C;AAC3C,0BAA6B;AAK7B,SAAgB,aAAa,CAAC,cAAiC;IAAjC,+BAAA,EAAA,yBAAiC;IAC3D,OAAO,IAAA,oBAAgB,GAAE,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;AAC5D,CAAC;AAFD,sCAEC;AA0BD,SAAsB,gBAAgB,CAAC,aAAmB;;;;YAEtD,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,OAAO,aAAa,KAAK,WAAW,EAC7E;gBACI,UAAU,GAAI,IAAA,oBAAgB,GAAE,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA;gBAC7D,IAAI,UAAU,EAAE;oBACZ,UAAU,CAAC,OAAO,EAAE,CAAC;oBACrB,WAAO,UAAU,EAAC;iBACrB;;oBACG,MAAM,IAAI,KAAK,CAAE,gCAAyB,aAAa,CAAE,CAAC,CAAA;aACjE;iBAAM;gBACC,cAAc,GAAW,aAAa,CAAC,IAAI,CAAA,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;gBAChF,UAAU,GAAI,IAAA,oBAAgB,GAAE,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;gBAC9E,UAAU,CAAC,OAAO,EAAE,CAAC;gBACrB,WAAO,UAAU,EAAC;aACrB;;;;CACJ;AAhBD,4CAgBC;AAED,SAAsB,iBAAiB,CAAC,YAAiC;;;;;YAEjE,WAAW,GAAqB,EAAE,CAAA;YACtC,IAAI,CAAC,YAAY,EAAE;gBACX,YAAY,GAAG,IAAA,oBAAgB,GAAE,CAAC,cAAc,EAAE,CAAA;gBACtD,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,UAAC,UAAU,EAAE,OAAO;oBACrC,UAAU,CAAC,OAAO,EAAE,CAAC;oBACrB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACjC,CAAC,CAAC,CAAA;aAEL;iBAAM;gBACH,YAAY,CAAC,OAAO,CAAE,UAAM,OAAO;;;;oCACd,WAAM,gBAAgB,CAAC,OAAO,CAAC,EAAA;;gCAA5C,UAAU,GAAG,SAA+B;gCAChD,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;;;;qBAChC,CAAC,CAAC;aACN;YACD,WAAO,WAAW,EAAC;;;CACtB;AAjBD,8CAiBC;AAEM,IAAM,oBAAoB,GAAG,UAAO,cAAiC;IAAjC,+BAAA,EAAA,yBAAiC;;;;YACpE,MAAM,GAAO,IAAA,uBAAgB,GAAE,CAAC;YACpC,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC;gBAClE,WAAO,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,EAAA;;;;CAChD,CAAA;AAJY,QAAA,oBAAoB,wBAIhC;AAEY,QAAA,iBAAiB,GAAG;IACvB,MAAM,YAAC,OAAO;;;gBAChB,WAAO,gBAAgB,CAAC,OAAO,CAAC,EAAA;;;KACnC;CACJ,CAAA;AAEM,IAAM,oBAAoB,GAAG;IAChC,OAAO,yBAAiB,CAAC;AAC7B,CAAC,CAAA;AAFY,QAAA,oBAAoB,wBAEhC"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/types/connection.ts"],"names":[],"mappings":";;;AAOA,sCAEC;AA0BD,4CAgBC;AAED,8CAiBC;;AAtED,yBAA2F;AAC3F,gCAA2C;AAC3C,0BAA6B;AAK7B,SAAgB,aAAa,CAAC,cAAiC;IAAjC,+BAAA,EAAA,yBAAiC;IAC3D,OAAO,IAAA,oBAAgB,GAAE,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;AAC5D,CAAC;AA0BD,SAAsB,gBAAgB,CAAC,aAAmB;;;;YAEtD,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,OAAO,aAAa,KAAK,WAAW,EAC7E,CAAC;gBACG,UAAU,GAAI,IAAA,oBAAgB,GAAE,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA;gBAC7D,IAAI,UAAU,EAAE,CAAC;oBACb,UAAU,CAAC,OAAO,EAAE,CAAC;oBACrB,WAAO,UAAU,EAAC;gBACtB,CAAC;;oBACG,MAAM,IAAI,KAAK,CAAE,gCAAyB,aAAa,CAAE,CAAC,CAAA;YAClE,CAAC;iBAAM,CAAC;gBACA,cAAc,GAAW,aAAa,CAAC,IAAI,CAAA,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;gBAChF,UAAU,GAAI,IAAA,oBAAgB,GAAE,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;gBAC9E,UAAU,CAAC,OAAO,EAAE,CAAC;gBACrB,WAAO,UAAU,EAAC;YACtB,CAAC;;;;CACJ;AAED,SAAsB,iBAAiB,CAAC,YAAiC;;;;;YAEjE,WAAW,GAAqB,EAAE,CAAA;YACtC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACZ,YAAY,GAAG,IAAA,oBAAgB,GAAE,CAAC,cAAc,EAAE,CAAA;gBACtD,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,UAAC,UAAU,EAAE,OAAO;oBACrC,UAAU,CAAC,OAAO,EAAE,CAAC;oBACrB,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACjC,CAAC,CAAC,CAAA;YAEN,CAAC;iBAAM,CAAC;gBACJ,YAAY,CAAC,OAAO,CAAE,UAAM,OAAO;;;;oCACd,WAAM,gBAAgB,CAAC,OAAO,CAAC,EAAA;;gCAA5C,UAAU,GAAG,SAA+B;gCAChD,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;;;;qBAChC,CAAC,CAAC;YACP,CAAC;YACD,WAAO,WAAW,EAAC;;;CACtB;AAEM,IAAM,oBAAoB,GAAG;;;;;iHAAO,cAAiC;;QAAjC,+BAAA,EAAA,yBAAiC;;YACpE,MAAM,GAAO,IAAA,uBAAgB,GAAE,CAAC;YACpC,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC;gBAClE,WAAO,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,EAAA;;;;CAChD,CAAA;AAJY,QAAA,oBAAoB,wBAIhC;AAEY,QAAA,iBAAiB,GAAG;IACvB,MAAM,YAAC,OAAO;;;gBAChB,WAAO,gBAAgB,CAAC,OAAO,CAAC,EAAA;;;KACnC;CACJ,CAAA;AAEM,IAAM,oBAAoB,GAAG;IAChC,OAAO,yBAAiB,CAAC;AAC7B,CAAC,CAAA;AAFY,QAAA,oBAAoB,wBAEhC"}
@@ -1,5 +1,5 @@
1
1
  import { SteedosDataSourceType } from '.';
2
- export declare type SteedosDashboardTypeConfig = {
2
+ export type SteedosDashboardTypeConfig = {
3
3
  _id: string;
4
4
  name: string;
5
5
  apps: string[];
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDashboardConfig = exports.getDashboardConfigs = exports.addDashboardConfig = exports.addDashboardConfigFiles = exports.SteedosDashboardType = void 0;
3
+ exports.getDashboardConfig = exports.getDashboardConfigs = exports.addDashboardConfig = exports.SteedosDashboardType = void 0;
4
+ exports.addDashboardConfigFiles = addDashboardConfigFiles;
4
5
  var metadata_registrar_1 = require("@steedos/metadata-registrar");
5
6
  var _ = require("underscore");
6
7
  var SteedosDashboardType = (function () {
@@ -87,7 +88,6 @@ exports.SteedosDashboardType = SteedosDashboardType;
87
88
  function addDashboardConfigFiles(filePath) {
88
89
  (0, metadata_registrar_1.addConfigFiles)('dashboard', filePath);
89
90
  }
90
- exports.addDashboardConfigFiles = addDashboardConfigFiles;
91
91
  var addDashboardConfig = function (dashboardConfig) {
92
92
  (0, metadata_registrar_1.addConfig)('dashboard', dashboardConfig);
93
93
  };
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/types/dashboard.ts"],"names":[],"mappings":";;;AAOA,kEAA+F;AAE/F,8BAAiC;AASjC;IA6CI,8BAAY,MAAkC,EAAE,UAAiC;QAAjF,iBASC;QAXO,eAAU,GAAa,EAAE,CAAA;QAG7B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;QAC7B,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;QACrB,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,UAAC,KAAU,EAAE,GAAW;YACnC,IAAG,GAAG,IAAI,YAAY,EAAC;gBACnB,KAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;gBACjB,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;aAC5B;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IApDD,sBAAW,4CAAU;aAArB;YACI,OAAO,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;;;OAAA;IAED,sBAAW,qCAAG;aAAd;YACI,OAAO,IAAI,CAAC,IAAI,CAAC;QACrB,CAAC;aACD,UAAe,KAAa;YACxB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACtB,CAAC;;;OAHA;IAKD,sBAAW,sCAAI;aAAf;YACI,OAAO,IAAI,CAAC,KAAK,CAAC;QACtB,CAAC;aACD,UAAgB,KAAa;YACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,CAAC;;;OAHA;IAKD,sBAAW,6CAAW;aAAtB;YACI,OAAO,IAAI,CAAC,YAAY,CAAC;QAC7B,CAAC;aACD,UAAuB,KAAa;YAChC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC9B,CAAC;;;OAHA;IAMD,sBAAW,sCAAI;aAAf;YACI,OAAO,IAAI,CAAC,KAAK,CAAC;QACtB,CAAC;aACD,UAAgB,KAAe;YAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,CAAC;;;OAHA;IAMD,sBAAW,yCAAO;aAAlB;YACI,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;aACD,UAAmB,KAAe;YAC9B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC1B,CAAC;;;OAHA;IAkBD,uCAAQ,GAAR;QAAA,iBAMC;QALG,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAC,QAAQ;YAC7B,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACjB,CAAC;IACL,2BAAC;AAAD,CAAC,AA/DD,IA+DC;AA/DY,oDAAoB;AAiEjC,SAAgB,uBAAuB,CAAC,QAAgB;IACpD,IAAA,mCAAc,EAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAFD,0DAEC;AAEM,IAAM,kBAAkB,GAAG,UAAC,eAA2C;IAC1E,IAAA,8BAAS,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AAC5C,CAAC,CAAA;AAFY,QAAA,kBAAkB,sBAE9B;AAEM,IAAM,mBAAmB,GAAG;IAC/B,OAAO,IAAA,+BAAU,EAAC,WAAW,CAAC,CAAA;AAClC,CAAC,CAAA;AAFY,QAAA,mBAAmB,uBAE/B;AAEM,IAAM,kBAAkB,GAAG,UAAC,GAAW;IAC1C,OAAO,IAAA,8BAAS,EAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC,CAAA;AAFY,QAAA,kBAAkB,sBAE9B"}
1
+ {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/types/dashboard.ts"],"names":[],"mappings":";;;AAmFA,0DAEC;AA9ED,kEAA+F;AAE/F,8BAAiC;AASjC;IA6CI,8BAAY,MAAkC,EAAE,UAAiC;QAAjF,iBASC;QAXO,eAAU,GAAa,EAAE,CAAA;QAG7B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;QAC7B,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;QACrB,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,UAAC,KAAU,EAAE,GAAW;YACnC,IAAG,GAAG,IAAI,YAAY,EAAC,CAAC;gBACpB,KAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;gBACjB,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC7B,CAAC;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IApDD,sBAAW,4CAAU;aAArB;YACI,OAAO,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;;;OAAA;IAED,sBAAW,qCAAG;aAAd;YACI,OAAO,IAAI,CAAC,IAAI,CAAC;QACrB,CAAC;aACD,UAAe,KAAa;YACxB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACtB,CAAC;;;OAHA;IAKD,sBAAW,sCAAI;aAAf;YACI,OAAO,IAAI,CAAC,KAAK,CAAC;QACtB,CAAC;aACD,UAAgB,KAAa;YACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,CAAC;;;OAHA;IAKD,sBAAW,6CAAW;aAAtB;YACI,OAAO,IAAI,CAAC,YAAY,CAAC;QAC7B,CAAC;aACD,UAAuB,KAAa;YAChC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC9B,CAAC;;;OAHA;IAMD,sBAAW,sCAAI;aAAf;YACI,OAAO,IAAI,CAAC,KAAK,CAAC;QACtB,CAAC;aACD,UAAgB,KAAe;YAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,CAAC;;;OAHA;IAMD,sBAAW,yCAAO;aAAlB;YACI,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;aACD,UAAmB,KAAe;YAC9B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC1B,CAAC;;;OAHA;IAkBD,uCAAQ,GAAR;QAAA,iBAMC;QALG,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAC,QAAQ;YAC7B,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAI,CAAC,QAAQ,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACjB,CAAC;IACL,2BAAC;AAAD,CAAC,AA/DD,IA+DC;AA/DY,oDAAoB;AAiEjC,SAAgB,uBAAuB,CAAC,QAAgB;IACpD,IAAA,mCAAc,EAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAEM,IAAM,kBAAkB,GAAG,UAAC,eAA2C;IAC1E,IAAA,8BAAS,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AAC5C,CAAC,CAAA;AAFY,QAAA,kBAAkB,sBAE9B;AAEM,IAAM,mBAAmB,GAAG;IAC/B,OAAO,IAAA,+BAAU,EAAC,WAAW,CAAC,CAAA;AAClC,CAAC,CAAA;AAFY,QAAA,mBAAmB,uBAE/B;AAEM,IAAM,kBAAkB,GAAG,UAAC,GAAW;IAC1C,OAAO,IAAA,8BAAS,EAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC,CAAA;AAFY,QAAA,kBAAkB,sBAE9B"}
@@ -1,7 +1,7 @@
1
- import { Dictionary } from '@salesforce/ts-types';
2
- import { SteedosDriver } from '../driver';
3
- import { SteedosQueryOptions, SteedosQueryFilters } from './query';
4
- import { SteedosIDType, SteedosObjectType, SteedosObjectTypeConfig, SteedosSchema, SteedosObjectPermissionTypeConfig, SteedosObjectPermissionType } from '.';
1
+ import { Dictionary } from "@salesforce/ts-types";
2
+ import { SteedosDriver } from "../driver";
3
+ import { SteedosQueryOptions, SteedosQueryFilters } from "./query";
4
+ import { SteedosIDType, SteedosObjectType, SteedosObjectTypeConfig, SteedosSchema, SteedosObjectPermissionTypeConfig, SteedosObjectPermissionType } from ".";
5
5
  export declare enum SteedosDatabaseDriverType {
6
6
  Mongo = "mongo",
7
7
  MeteorMongo = "meteor-mongo",
@@ -11,7 +11,7 @@ export declare enum SteedosDatabaseDriverType {
11
11
  Oracle = "oracle",
12
12
  MySql = "mysql"
13
13
  }
14
- export declare type SteedosDataSourceTypeConfig = {
14
+ export type SteedosDataSourceTypeConfig = {
15
15
  name?: string;
16
16
  driver: SteedosDatabaseDriverType | string | SteedosDriver;
17
17
  logging?: boolean | Array<any>;
@@ -30,6 +30,7 @@ export declare type SteedosDataSourceTypeConfig = {
30
30
  getRoles?: Function;
31
31
  enable_space?: boolean;
32
32
  locale?: string;
33
+ documentDB?: boolean;
33
34
  };
34
35
  export declare class SteedosDataSourceType implements Dictionary {
35
36
  [key: string]: unknown;
@@ -51,6 +52,10 @@ export declare class SteedosDataSourceType implements Dictionary {
51
52
  private _schema;
52
53
  private _objects;
53
54
  private _cacheObjects?;
55
+ private metadataObjectsName?;
56
+ private _metadataAdapter;
57
+ private initializing;
58
+ private initPromise;
54
59
  get cacheObjects(): any;
55
60
  set cacheObjects(value: any);
56
61
  private _service?;
@@ -80,6 +85,7 @@ export declare class SteedosDataSourceType implements Dictionary {
80
85
  setObject(objectApiName: string, objectConfig: SteedosObjectTypeConfig): Promise<SteedosObjectType>;
81
86
  removeLocalObject(objectApiName: string): void;
82
87
  removeObject(object_name: string): void;
88
+ getAdapter(objectName: string): SteedosDriver;
83
89
  initDriver(): void;
84
90
  initObject(objectConfig: any): Promise<void>;
85
91
  initObjects(): Promise<boolean>;
@@ -114,9 +120,9 @@ export declare class SteedosDataSourceType implements Dictionary {
114
120
  registerEntities(): any;
115
121
  dropTables(): Promise<any>;
116
122
  createTables(): Promise<any>;
117
- init(): Promise<void>;
123
+ init(): Promise<any>;
118
124
  initObjectPermissions(): void;
119
- initTypeORM(): void;
125
+ initTypeORM(): Promise<void>;
120
126
  getAppsConfig(): Promise<any>;
121
127
  getDashboardsConfig(): any;
122
128
  connect(): Promise<void>;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDataSource = exports.SteedosDataSourceType = exports.SteedosDatabaseDriverType = void 0;
3
+ exports.SteedosDataSourceType = exports.SteedosDatabaseDriverType = void 0;
4
+ exports.getDataSource = getDataSource;
4
5
  var tslib_1 = require("tslib");
5
6
  var index_1 = require("../services/index");
6
7
  var driver_1 = require("../driver");
@@ -9,10 +10,10 @@ var _1 = require(".");
9
10
  var index_2 = require("../services/index");
10
11
  var path = require("path");
11
12
  var metadata_registrar_1 = require("@steedos/metadata-registrar");
12
- var clone = require('clone');
13
- var cachers = require('@steedos/cachers');
14
- var Fiber = require('fibers');
15
- var defaultDatasourceName = 'default';
13
+ var metadata_1 = require("../driver/metadata");
14
+ var clone = require("clone");
15
+ var cachers = require("@steedos/cachers");
16
+ var defaultDatasourceName = "default";
16
17
  var SteedosDatabaseDriverType;
17
18
  (function (SteedosDatabaseDriverType) {
18
19
  SteedosDatabaseDriverType["Mongo"] = "mongo";
@@ -22,11 +23,14 @@ var SteedosDatabaseDriverType;
22
23
  SteedosDatabaseDriverType["Postgres"] = "postgres";
23
24
  SteedosDatabaseDriverType["Oracle"] = "oracle";
24
25
  SteedosDatabaseDriverType["MySql"] = "mysql";
25
- })(SteedosDatabaseDriverType = exports.SteedosDatabaseDriverType || (exports.SteedosDatabaseDriverType = {}));
26
+ })(SteedosDatabaseDriverType || (exports.SteedosDatabaseDriverType = SteedosDatabaseDriverType = {}));
26
27
  var SteedosDataSourceType = (function () {
27
28
  function SteedosDataSourceType(datasource_name, config, schema) {
28
29
  this._objects = {};
29
30
  this._cacheObjects = [];
31
+ this.metadataObjectsName = {};
32
+ this.initializing = false;
33
+ this.initPromise = null;
30
34
  this._objectsConfig = {};
31
35
  this._objectsRolesPermission = {};
32
36
  this._objectsSpaceRolesPermission = {};
@@ -45,11 +49,13 @@ var SteedosDataSourceType = (function () {
45
49
  this._driver = config.driver;
46
50
  this._logging = config.logging;
47
51
  this._locale = config.locale;
48
- if (_.has(config, 'enable_space')) {
52
+ if (_.has(config, "enable_space")) {
49
53
  this._enable_space = config.enable_space;
50
54
  }
51
55
  else {
52
- if (this._driver == SteedosDatabaseDriverType.MeteorMongo || (this._driver == SteedosDatabaseDriverType.Mongo && this.name === defaultDatasourceName)) {
56
+ if (this._driver == SteedosDatabaseDriverType.MeteorMongo ||
57
+ (this._driver == SteedosDatabaseDriverType.Mongo &&
58
+ this.name === defaultDatasourceName)) {
53
59
  this._enable_space = true;
54
60
  }
55
61
  else {
@@ -58,7 +64,7 @@ var SteedosDataSourceType = (function () {
58
64
  }
59
65
  this.initDriver();
60
66
  if (config.getRoles && !_.isFunction(config.getRoles)) {
61
- throw new Error('getRoles must be a function');
67
+ throw new Error("getRoles must be a function");
62
68
  }
63
69
  this._getRoles = config.getRoles;
64
70
  }
@@ -120,9 +126,9 @@ var SteedosDataSourceType = (function () {
120
126
  enumerable: false,
121
127
  configurable: true
122
128
  });
123
- SteedosDataSourceType.prototype.getObjects = function (useCache) {
124
- if (useCache === void 0) { useCache = true; }
125
- return tslib_1.__awaiter(this, void 0, void 0, function () {
129
+ SteedosDataSourceType.prototype.getObjects = function () {
130
+ return tslib_1.__awaiter(this, arguments, void 0, function (useCache) {
131
+ if (useCache === void 0) { useCache = true; }
126
132
  return tslib_1.__generator(this, function (_a) {
127
133
  switch (_a.label) {
128
134
  case 0:
@@ -184,7 +190,10 @@ var SteedosDataSourceType = (function () {
184
190
  serviceName = (0, index_1.getObjectServiceName)(objectApiName);
185
191
  object = new _1.SteedosObjectType(objectApiName, this, objectConfig);
186
192
  this._objectsConfig[objectApiName] = objectConfig;
187
- findIndex = _.findIndex(this.cacheObjects, function (item) { var _a; return ((_a = item === null || item === void 0 ? void 0 : item.metadata) === null || _a === void 0 ? void 0 : _a.name) === objectApiName; });
193
+ findIndex = _.findIndex(this.cacheObjects, function (item) {
194
+ var _a;
195
+ return ((_a = item === null || item === void 0 ? void 0 : item.metadata) === null || _a === void 0 ? void 0 : _a.name) === objectApiName;
196
+ });
188
197
  if (findIndex != -1) {
189
198
  this.cacheObjects[findIndex] = Object.assign({ service: { name: serviceName } }, { metadata: objectConfig });
190
199
  }
@@ -205,6 +214,14 @@ var SteedosDataSourceType = (function () {
205
214
  this.removeLocalObject(object_name);
206
215
  this.schema.metadataRegister.removeObject(object_name);
207
216
  };
217
+ SteedosDataSourceType.prototype.getAdapter = function (objectName) {
218
+ if (this.name === "default" && this.metadataObjectsName[objectName]) {
219
+ return this._metadataAdapter;
220
+ }
221
+ else {
222
+ return this._adapter;
223
+ }
224
+ };
208
225
  SteedosDataSourceType.prototype.initDriver = function () {
209
226
  var driverConfig = {
210
227
  url: this._url,
@@ -217,8 +234,11 @@ var SteedosDataSourceType = (function () {
217
234
  timezone: this._timezone,
218
235
  options: this._options,
219
236
  logging: this._logging,
220
- locale: this._locale
237
+ locale: this._locale,
221
238
  };
239
+ if (this.name === "default") {
240
+ this._metadataAdapter = new metadata_1.MetadataDriver(driverConfig);
241
+ }
222
242
  if (_.isString(this.config.driver)) {
223
243
  switch (this.config.driver) {
224
244
  case SteedosDatabaseDriverType.Mongo:
@@ -252,26 +272,19 @@ var SteedosDataSourceType = (function () {
252
272
  };
253
273
  SteedosDataSourceType.prototype.initObject = function (objectConfig) {
254
274
  return tslib_1.__awaiter(this, void 0, void 0, function () {
255
- var localObjectConfig, _db;
275
+ var localObjectConfig;
256
276
  return tslib_1.__generator(this, function (_a) {
257
277
  switch (_a.label) {
258
278
  case 0:
279
+ if (objectConfig.isMetadata) {
280
+ this.metadataObjectsName[objectConfig.name] = true;
281
+ }
259
282
  localObjectConfig = (0, metadata_registrar_1.getObjectConfig)(objectConfig.name);
260
283
  if (localObjectConfig) {
261
284
  objectConfig.listeners = localObjectConfig.listeners;
262
285
  objectConfig.methods = localObjectConfig.methods;
263
286
  }
264
- else {
265
- (0, metadata_registrar_1.setObjectConfig)(objectConfig);
266
- }
267
- if (this.name === "meteor") {
268
- try {
269
- _db = Creator.createCollection(objectConfig);
270
- Creator.Collections[_db._name] = _db;
271
- }
272
- catch (error) {
273
- }
274
- }
287
+ (0, metadata_registrar_1.setObjectConfig)(objectConfig);
275
288
  return [4, this.setObject(objectConfig.name, objectConfig)];
276
289
  case 1:
277
290
  _a.sent();
@@ -281,41 +294,45 @@ var SteedosDataSourceType = (function () {
281
294
  });
282
295
  };
283
296
  SteedosDataSourceType.prototype.initObjects = function () {
284
- var e_1, _a;
285
297
  return tslib_1.__awaiter(this, void 0, void 0, function () {
286
- var objects, self, _b, _c, object, objectConfig, e_1_1;
287
- return tslib_1.__generator(this, function (_d) {
288
- switch (_d.label) {
298
+ var objects, self, _a, _b, _c, object, objectConfig, e_1_1;
299
+ var _d, e_1, _e, _f;
300
+ return tslib_1.__generator(this, function (_g) {
301
+ switch (_g.label) {
289
302
  case 0:
290
303
  objects = this.cacheObjects;
291
304
  self = this;
292
- _d.label = 1;
305
+ _g.label = 1;
293
306
  case 1:
294
- _d.trys.push([1, 7, 8, 13]);
295
- _b = tslib_1.__asyncValues(_.values(objects));
296
- _d.label = 2;
307
+ _g.trys.push([1, 7, 8, 13]);
308
+ _a = true, _b = tslib_1.__asyncValues(_.values(objects));
309
+ _g.label = 2;
297
310
  case 2: return [4, _b.next()];
298
311
  case 3:
299
- if (!(_c = _d.sent(), !_c.done)) return [3, 6];
300
- object = _c.value;
312
+ if (!(_c = _g.sent(), _d = _c.done, !_d)) return [3, 6];
313
+ _f = _c.value;
314
+ _a = false;
315
+ object = _f;
301
316
  objectConfig = object.metadata;
302
317
  return [4, self.initObject(objectConfig)];
303
318
  case 4:
304
- _d.sent();
305
- _d.label = 5;
306
- case 5: return [3, 2];
319
+ _g.sent();
320
+ _g.label = 5;
321
+ case 5:
322
+ _a = true;
323
+ return [3, 2];
307
324
  case 6: return [3, 13];
308
325
  case 7:
309
- e_1_1 = _d.sent();
326
+ e_1_1 = _g.sent();
310
327
  e_1 = { error: e_1_1 };
311
328
  return [3, 13];
312
329
  case 8:
313
- _d.trys.push([8, , 11, 12]);
314
- if (!(_c && !_c.done && (_a = _b.return))) return [3, 10];
315
- return [4, _a.call(_b)];
330
+ _g.trys.push([8, , 11, 12]);
331
+ if (!(!_a && !_d && (_e = _b.return))) return [3, 10];
332
+ return [4, _e.call(_b)];
316
333
  case 9:
317
- _d.sent();
318
- _d.label = 10;
334
+ _g.sent();
335
+ _g.label = 10;
319
336
  case 10: return [3, 12];
320
337
  case 11:
321
338
  if (e_1) throw e_1.error;
@@ -371,7 +388,8 @@ var SteedosDataSourceType = (function () {
371
388
  if (!objectPermissions) {
372
389
  this._objectsRolesPermission[object_name] = {};
373
390
  }
374
- this._objectsRolesPermission[object_name][objectRolePermission.name] = new _1.SteedosObjectPermissionType(object_name, objectRolePermission);
391
+ this._objectsRolesPermission[object_name][objectRolePermission.name] =
392
+ new _1.SteedosObjectPermissionType(object_name, objectRolePermission);
375
393
  };
376
394
  SteedosDataSourceType.prototype.getObjectRolesPermission = function (object_name) {
377
395
  return this._objectsRolesPermission[object_name];
@@ -388,7 +406,9 @@ var SteedosDataSourceType = (function () {
388
406
  this._objectsSpaceRolesPermission[object_name][spaceId][objectRolePermission.name] = new _1.SteedosObjectPermissionType(object_name, objectRolePermission);
389
407
  };
390
408
  SteedosDataSourceType.prototype.getObjectSpaceRolesPermission = function (object_name, spaceId) {
391
- var cacherPermissionObjects = cachers.getCacher('permission_objects').get('permission_objects');
409
+ var cacherPermissionObjects = cachers
410
+ .getCacher("permission_objects")
411
+ .get("permission_objects");
392
412
  if (_.isEmpty(cacherPermissionObjects)) {
393
413
  return;
394
414
  }
@@ -401,7 +421,8 @@ var SteedosDataSourceType = (function () {
401
421
  return permission;
402
422
  };
403
423
  SteedosDataSourceType.prototype.removeObjectSpacePermission = function (object_name, spaceId, objectRolePermissionName) {
404
- if (this._objectsSpaceRolesPermission[object_name] && this._objectsSpaceRolesPermission[object_name][spaceId]) {
424
+ if (this._objectsSpaceRolesPermission[object_name] &&
425
+ this._objectsSpaceRolesPermission[object_name][spaceId]) {
405
426
  delete this._objectsSpaceRolesPermission[object_name][spaceId][objectRolePermissionName];
406
427
  }
407
428
  };
@@ -413,7 +434,7 @@ var SteedosDataSourceType = (function () {
413
434
  if (!this._getRoles) return [3, 2];
414
435
  return [4, this._getRoles(userId)];
415
436
  case 1: return [2, _a.sent()];
416
- case 2: return [2, ['admin']];
437
+ case 2: return [2, ["admin"]];
417
438
  }
418
439
  });
419
440
  });
@@ -422,7 +443,7 @@ var SteedosDataSourceType = (function () {
422
443
  return tslib_1.__awaiter(this, void 0, void 0, function () {
423
444
  return tslib_1.__generator(this, function (_a) {
424
445
  switch (_a.label) {
425
- case 0: return [4, this._adapter.find(tableName, query, userId)];
446
+ case 0: return [4, this.getAdapter(tableName).find(tableName, query, userId)];
426
447
  case 1: return [2, _a.sent()];
427
448
  }
428
449
  });
@@ -432,7 +453,7 @@ var SteedosDataSourceType = (function () {
432
453
  return tslib_1.__awaiter(this, void 0, void 0, function () {
433
454
  return tslib_1.__generator(this, function (_a) {
434
455
  switch (_a.label) {
435
- case 0: return [4, this._adapter.aggregate(tableName, query, externalPipeline, userId)];
456
+ case 0: return [4, this.getAdapter(tableName).aggregate(tableName, query, externalPipeline, userId)];
436
457
  case 1: return [2, _a.sent()];
437
458
  }
438
459
  });
@@ -442,7 +463,7 @@ var SteedosDataSourceType = (function () {
442
463
  return tslib_1.__awaiter(this, void 0, void 0, function () {
443
464
  return tslib_1.__generator(this, function (_a) {
444
465
  switch (_a.label) {
445
- case 0: return [4, this._adapter.findOne(tableName, id, query, userId)];
466
+ case 0: return [4, this.getAdapter(tableName).findOne(tableName, id, query, userId)];
446
467
  case 1: return [2, _a.sent()];
447
468
  }
448
469
  });
@@ -452,7 +473,7 @@ var SteedosDataSourceType = (function () {
452
473
  return tslib_1.__awaiter(this, void 0, void 0, function () {
453
474
  return tslib_1.__generator(this, function (_a) {
454
475
  switch (_a.label) {
455
- case 0: return [4, this._adapter.insert(tableName, doc, userId)];
476
+ case 0: return [4, this.getAdapter(tableName).insert(tableName, doc, userId)];
456
477
  case 1: return [2, _a.sent()];
457
478
  }
458
479
  });
@@ -462,7 +483,7 @@ var SteedosDataSourceType = (function () {
462
483
  return tslib_1.__awaiter(this, void 0, void 0, function () {
463
484
  return tslib_1.__generator(this, function (_a) {
464
485
  switch (_a.label) {
465
- case 0: return [4, this._adapter.update(tableName, id, doc, userId)];
486
+ case 0: return [4, this.getAdapter(tableName).update(tableName, id, doc, userId)];
466
487
  case 1: return [2, _a.sent()];
467
488
  }
468
489
  });
@@ -472,7 +493,7 @@ var SteedosDataSourceType = (function () {
472
493
  return tslib_1.__awaiter(this, void 0, void 0, function () {
473
494
  return tslib_1.__generator(this, function (_a) {
474
495
  switch (_a.label) {
475
- case 0: return [4, this._adapter.updateOne(tableName, id, doc, userId)];
496
+ case 0: return [4, this.getAdapter(tableName).updateOne(tableName, id, doc, userId)];
476
497
  case 1: return [2, _a.sent()];
477
498
  }
478
499
  });
@@ -482,7 +503,7 @@ var SteedosDataSourceType = (function () {
482
503
  return tslib_1.__awaiter(this, void 0, void 0, function () {
483
504
  return tslib_1.__generator(this, function (_a) {
484
505
  switch (_a.label) {
485
- case 0: return [4, this._adapter.updateMany(tableName, queryFilters, doc, userId)];
506
+ case 0: return [4, this.getAdapter(tableName).updateMany(tableName, queryFilters, doc, userId)];
486
507
  case 1: return [2, _a.sent()];
487
508
  }
488
509
  });
@@ -492,15 +513,15 @@ var SteedosDataSourceType = (function () {
492
513
  return tslib_1.__awaiter(this, void 0, void 0, function () {
493
514
  return tslib_1.__generator(this, function (_a) {
494
515
  switch (_a.label) {
495
- case 0: return [4, this._adapter.delete(tableName, id, userId)];
516
+ case 0: return [4, this.getAdapter(tableName).delete(tableName, id, userId)];
496
517
  case 1: return [2, _a.sent()];
497
518
  }
498
519
  });
499
520
  });
500
521
  };
501
522
  SteedosDataSourceType.prototype.formatRecord = function (doc, objectConfig) {
502
- var formatRecord = this._adapter.formatRecord;
503
- if (typeof formatRecord === 'function') {
523
+ var formatRecord = this.getAdapter(objectConfig.name).formatRecord;
524
+ if (typeof formatRecord === "function") {
504
525
  return formatRecord(doc, objectConfig);
505
526
  }
506
527
  return doc;
@@ -509,7 +530,7 @@ var SteedosDataSourceType = (function () {
509
530
  return tslib_1.__awaiter(this, void 0, void 0, function () {
510
531
  return tslib_1.__generator(this, function (_a) {
511
532
  switch (_a.label) {
512
- case 0: return [4, this._adapter.count(tableName, query, userId)];
533
+ case 0: return [4, this.getAdapter(tableName).count(tableName, query, userId)];
513
534
  case 1: return [2, _a.sent()];
514
535
  }
515
536
  });
@@ -519,7 +540,7 @@ var SteedosDataSourceType = (function () {
519
540
  return tslib_1.__awaiter(this, void 0, void 0, function () {
520
541
  return tslib_1.__generator(this, function (_a) {
521
542
  switch (_a.label) {
522
- case 0: return [4, this._adapter.find(tableName, query, userId)];
543
+ case 0: return [4, this.getAdapter(tableName).directFind(tableName, query, userId)];
523
544
  case 1: return [2, _a.sent()];
524
545
  }
525
546
  });
@@ -529,7 +550,7 @@ var SteedosDataSourceType = (function () {
529
550
  return tslib_1.__awaiter(this, void 0, void 0, function () {
530
551
  return tslib_1.__generator(this, function (_a) {
531
552
  switch (_a.label) {
532
- case 0: return [4, this._adapter.directInsert(tableName, doc, userId)];
553
+ case 0: return [4, this.getAdapter(tableName).directInsert(tableName, doc, userId)];
533
554
  case 1: return [2, _a.sent()];
534
555
  }
535
556
  });
@@ -539,7 +560,7 @@ var SteedosDataSourceType = (function () {
539
560
  return tslib_1.__awaiter(this, void 0, void 0, function () {
540
561
  return tslib_1.__generator(this, function (_a) {
541
562
  switch (_a.label) {
542
- case 0: return [4, this._adapter.directUpdate(tableName, id, doc, userId)];
563
+ case 0: return [4, this.getAdapter(tableName).directUpdate(tableName, id, doc, userId)];
543
564
  case 1: return [2, _a.sent()];
544
565
  }
545
566
  });
@@ -549,7 +570,7 @@ var SteedosDataSourceType = (function () {
549
570
  return tslib_1.__awaiter(this, void 0, void 0, function () {
550
571
  return tslib_1.__generator(this, function (_a) {
551
572
  switch (_a.label) {
552
- case 0: return [4, this._adapter.directDelete(tableName, id, userId)];
573
+ case 0: return [4, this.getAdapter(tableName).directDelete(tableName, id, userId)];
553
574
  case 1: return [2, _a.sent()];
554
575
  }
555
576
  });
@@ -559,7 +580,7 @@ var SteedosDataSourceType = (function () {
559
580
  return tslib_1.__awaiter(this, void 0, void 0, function () {
560
581
  return tslib_1.__generator(this, function (_a) {
561
582
  switch (_a.label) {
562
- case 0: return [4, this._adapter.directAggregate(tableName, query, externalPipeline, userId)];
583
+ case 0: return [4, this.getAdapter(tableName).directAggregate(tableName, query, externalPipeline, userId)];
563
584
  case 1: return [2, _a.sent()];
564
585
  }
565
586
  });
@@ -569,7 +590,7 @@ var SteedosDataSourceType = (function () {
569
590
  return tslib_1.__awaiter(this, void 0, void 0, function () {
570
591
  return tslib_1.__generator(this, function (_a) {
571
592
  switch (_a.label) {
572
- case 0: return [4, this._adapter.directAggregatePrefixalPipeline(tableName, query, prefixalPipeline, userId)];
593
+ case 0: return [4, this.getAdapter(tableName).directAggregatePrefixalPipeline(tableName, query, prefixalPipeline, userId)];
573
594
  case 1: return [2, _a.sent()];
574
595
  }
575
596
  });
@@ -579,7 +600,7 @@ var SteedosDataSourceType = (function () {
579
600
  return tslib_1.__awaiter(this, void 0, void 0, function () {
580
601
  return tslib_1.__generator(this, function (_a) {
581
602
  switch (_a.label) {
582
- case 0: return [4, this._adapter.directUpdateMany(tableName, queryFilters, doc, userId)];
603
+ case 0: return [4, this.getAdapter(tableName).directUpdateMany(tableName, queryFilters, doc, userId)];
583
604
  case 1: return [2, _a.sent()];
584
605
  }
585
606
  });
@@ -589,7 +610,7 @@ var SteedosDataSourceType = (function () {
589
610
  return tslib_1.__awaiter(this, void 0, void 0, function () {
590
611
  return tslib_1.__generator(this, function (_a) {
591
612
  switch (_a.label) {
592
- case 0: return [4, this._adapter._makeNewID(tableName)];
613
+ case 0: return [4, this.getAdapter(tableName)._makeNewID(tableName)];
593
614
  case 1: return [2, _a.sent()];
594
615
  }
595
616
  });
@@ -648,20 +669,41 @@ var SteedosDataSourceType = (function () {
648
669
  };
649
670
  SteedosDataSourceType.prototype.init = function () {
650
671
  return tslib_1.__awaiter(this, void 0, void 0, function () {
651
- var broker_1, _a;
652
- return tslib_1.__generator(this, function (_b) {
653
- switch (_b.label) {
654
- case 0:
655
- this.initObjectPermissions();
656
- if (!!this.service) return [3, 2];
657
- broker_1 = this._schema.metadataBroker;
658
- _a = this;
659
- return [4, (0, index_2.createDataSourceService)(broker_1, this)];
660
- case 1:
661
- _a.service = _b.sent();
662
- _b.label = 2;
663
- case 2: return [2];
664
- }
672
+ var _this = this;
673
+ return tslib_1.__generator(this, function (_a) {
674
+ if (this.initializing) {
675
+ return [2, this.initPromise];
676
+ }
677
+ this.initializing = true;
678
+ this.initPromise = (function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
679
+ var broker_1, _a, error_1;
680
+ return tslib_1.__generator(this, function (_b) {
681
+ switch (_b.label) {
682
+ case 0:
683
+ _b.trys.push([0, 3, , 4]);
684
+ logger.log("datasource.init started: ".concat(this.name));
685
+ this.initObjectPermissions();
686
+ if (!!this.service) return [3, 2];
687
+ broker_1 = this._schema.metadataBroker;
688
+ _a = this;
689
+ return [4, (0, index_2.createDataSourceService)(broker_1, this)];
690
+ case 1:
691
+ _a.service = _b.sent();
692
+ _b.label = 2;
693
+ case 2:
694
+ logger.log("datasource.init completed: ".concat(this.name));
695
+ return [3, 4];
696
+ case 3:
697
+ error_1 = _b.sent();
698
+ console.error("Initialization failed for datasource:", this.name, error_1);
699
+ this.initializing = false;
700
+ this.initPromise = null;
701
+ throw error_1;
702
+ case 4: return [2];
703
+ }
704
+ });
705
+ }); })();
706
+ return [2, this.initPromise];
665
707
  });
666
708
  });
667
709
  };
@@ -675,25 +717,26 @@ var SteedosDataSourceType = (function () {
675
717
  });
676
718
  };
677
719
  SteedosDataSourceType.prototype.initTypeORM = function () {
678
- var _objects = {};
679
- _.map(this.cacheObjects, function (item) {
680
- if (item && item.metadata) {
681
- _objects[item.metadata.name] = item.metadata;
682
- }
720
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
721
+ var _objects;
722
+ return tslib_1.__generator(this, function (_a) {
723
+ switch (_a.label) {
724
+ case 0:
725
+ _objects = {};
726
+ _.map(this.cacheObjects, function (item) {
727
+ if (item && item.metadata) {
728
+ _objects[item.metadata.name] = item.metadata;
729
+ }
730
+ });
731
+ if (!this._adapter.init) return [3, 2];
732
+ return [4, this._adapter.init(_objects)];
733
+ case 1:
734
+ _a.sent();
735
+ _a.label = 2;
736
+ case 2: return [2];
737
+ }
738
+ });
683
739
  });
684
- if (this._adapter.init) {
685
- var self_1 = this;
686
- Fiber(function () {
687
- var fiber = Fiber.current;
688
- self_1._adapter.init(_objects).then(function (result) {
689
- fiber.run();
690
- }).catch(function (result) {
691
- console.error(result);
692
- fiber.run();
693
- });
694
- Fiber.yield();
695
- }).run();
696
- }
697
740
  };
698
741
  SteedosDataSourceType.prototype.getAppsConfig = function () {
699
742
  return (0, _1.getAppConfigs)();
@@ -723,8 +766,8 @@ var SteedosDataSourceType = (function () {
723
766
  });
724
767
  };
725
768
  SteedosDataSourceType.prototype.close = function () {
726
- var _a;
727
769
  return tslib_1.__awaiter(this, void 0, void 0, function () {
770
+ var _a;
728
771
  return tslib_1.__generator(this, function (_b) {
729
772
  if ((_a = this._adapter) === null || _a === void 0 ? void 0 : _a.close)
730
773
  this._adapter.close();
@@ -752,7 +795,9 @@ var SteedosDataSourceType = (function () {
752
795
  if (count == 0) {
753
796
  dropTarget = true;
754
797
  }
755
- return [4, collection.rename(newObjectApiName, { dropTarget: dropTarget })];
798
+ return [4, collection.rename(newObjectApiName, {
799
+ dropTarget: dropTarget,
800
+ })];
756
801
  case 3: return [2, _a.sent()];
757
802
  case 4: return [2];
758
803
  }
@@ -786,5 +831,4 @@ exports.SteedosDataSourceType = SteedosDataSourceType;
786
831
  function getDataSource(datasourceName, schema) {
787
832
  return (schema ? schema : (0, _1.getSteedosSchema)()).getDataSource(datasourceName);
788
833
  }
789
- exports.getDataSource = getDataSource;
790
834
  //# sourceMappingURL=datasource.js.map