runlify 0.0.780 → 0.0.783

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 (38) hide show
  1. package/build/index.js +4 -2
  2. package/build/projectsGeneration/args.js +39 -3
  3. package/build/projectsGeneration/builders/BaseSavableEntityBuilder.js +25 -13
  4. package/build/projectsGeneration/builders/SystemMetaBuilder.js +75 -11
  5. package/build/projectsGeneration/builders/buildedTypes.js +1 -1
  6. package/build/projectsGeneration/builders/storage.js +60 -0
  7. package/build/projectsGeneration/defaultCatalogs/{addElasticSearch.js → addExternalSearch.js} +6 -5
  8. package/build/projectsGeneration/defaultCatalogs/index.js +2 -2
  9. package/build/projectsGeneration/generateProject/back/generateBack.js +3 -1
  10. package/build/projectsGeneration/generateProject/back/src/services/generateBackEntityService.js +2 -2
  11. package/build/projectsGeneration/generateProject/generateBackClickHouseBootstrap.js +16 -0
  12. package/build/projectsGeneration/generateProject/generateBackElasticBootstrap.js +3 -2
  13. package/build/projectsGeneration/generateProject/generateEnvironment.js +36 -8
  14. package/build/projectsGeneration/generators/fileTemplates/back/clickhouse/jobs.js +94 -0
  15. package/build/projectsGeneration/generators/fileTemplates/back/elastic/jobs.js +15 -3
  16. package/build/projectsGeneration/generators/fileTemplates/back/environment/src/clients/getPrisma.js +75 -8
  17. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/class.js +31 -20
  18. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/config.js +10 -3
  19. package/build/projectsGeneration/generators/prisma/scheme/genPrismaEntity.js +17 -6
  20. package/build/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntities.js +3 -3
  21. package/build/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntitiesWithClientAdnDb.js +67 -9
  22. package/build/projectsGeneration/utils/databaseMeta.js +75 -0
  23. package/build/types/index.d.ts +1 -0
  24. package/build/types/projectsGeneration/builders/BaseSavableEntityBuilder.d.ts +6 -4
  25. package/build/types/projectsGeneration/builders/SystemMetaBuilder.d.ts +5 -1
  26. package/build/types/projectsGeneration/builders/buildedTypes.d.ts +7 -2
  27. package/build/types/projectsGeneration/builders/storage.d.ts +21 -0
  28. package/build/types/projectsGeneration/defaultCatalogs/addExternalSearch.d.ts +2 -0
  29. package/build/types/projectsGeneration/defaultCatalogs/index.d.ts +1 -1
  30. package/build/types/projectsGeneration/generateProject/generateBackClickHouseBootstrap.d.ts +3 -0
  31. package/build/types/projectsGeneration/generators/fileTemplates/back/clickhouse/jobs.d.ts +183 -0
  32. package/build/types/projectsGeneration/generators/fileTemplates/back/environment/src/clients/getPrisma.d.ts +2 -2
  33. package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaEntity.d.ts +1 -1
  34. package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntities.d.ts +1 -1
  35. package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntitiesWithClientAdnDb.d.ts +12 -1
  36. package/build/types/projectsGeneration/utils/databaseMeta.d.ts +8 -0
  37. package/package.json +1 -1
  38. package/build/types/projectsGeneration/defaultCatalogs/addElasticSearch.d.ts +0 -2
package/build/index.js CHANGED
@@ -17,8 +17,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.SystemMetaBuilder = void 0;
20
+ exports.Storage = exports.SystemMetaBuilder = void 0;
21
21
  var SystemMetaBuilder_1 = require("./projectsGeneration/builders/SystemMetaBuilder");
22
22
  Object.defineProperty(exports, "SystemMetaBuilder", { enumerable: true, get: function () { return __importDefault(SystemMetaBuilder_1).default; } });
23
23
  __exportStar(require("./projectsGeneration"), exports);
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxRkFBNkY7QUFBcEYsdUlBQUEsT0FBTyxPQUFxQjtBQUNyQyx1REFBb0MifQ==
24
+ var storage_1 = require("./projectsGeneration/builders/storage");
25
+ Object.defineProperty(exports, "Storage", { enumerable: true, get: function () { return storage_1.Storage; } });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxRkFBNkY7QUFBcEYsdUlBQUEsT0FBTyxPQUFxQjtBQUNyQyx1REFBb0M7QUFDcEMsaUVBQWtHO0FBQTFGLGtHQUFBLE9BQU8sT0FBQSJ9
@@ -25,16 +25,52 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.prepareAdditionalServiceWideGenerationArgs = exports.prepareEntityWideGenerationArgs = exports.prepareProjectWideGenerationArgs = void 0;
27
27
  const getLinksOfEntities_1 = require("./links/getLinksOfEntities");
28
+ const databaseMeta_1 = require("./utils/databaseMeta");
28
29
  const getLinksToExternalEntities_1 = require("./links/getLinksToExternalEntities");
29
30
  const getLinksFromExternalEntities_1 = require("./links/getLinksFromExternalEntities");
30
31
  const R = __importStar(require("ramda"));
32
+ const withEntityDatabaseDefault = (e) => {
33
+ var _a;
34
+ return (Object.assign(Object.assign({}, e), { database: (_a = e.database) !== null && _a !== void 0 ? _a : 'main' }));
35
+ };
36
+ const normalizeDataBasesFromSystem = (system) => {
37
+ const raw = system.dataBases;
38
+ if (!(raw === null || raw === void 0 ? void 0 : raw.length)) {
39
+ throw new Error('System metadata is missing dataBases. Rebuild system meta so dataBases is populated (main plus any addDatabase names).');
40
+ }
41
+ for (const db of raw) {
42
+ (0, databaseMeta_1.validateEntityDatabaseName)(db.name);
43
+ }
44
+ const names = raw.map((d) => d.name);
45
+ const uniq = new Set(names);
46
+ if (uniq.size !== names.length) {
47
+ throw new Error(`Duplicate database names in system.dataBases: ${names.join(', ')}`);
48
+ }
49
+ if (!uniq.has('main')) {
50
+ throw new Error('system.dataBases must include a database named "main".');
51
+ }
52
+ const others = names.filter((d) => d !== 'main').sort((a, b) => a.localeCompare(b));
53
+ return [{ name: 'main' }, ...others.map((name) => ({ name }))];
54
+ };
31
55
  const prepareProjectWideGenerationArgs = (system, opts) => {
32
- const entities = R.sortBy(R.prop('name'), [
56
+ const entitiesRaw = R.sortBy(R.prop('name'), [
33
57
  ...system.catalogs,
34
58
  ...system.documents,
35
59
  ...system.infoRegistries,
36
60
  ...system.sumRegistries,
37
61
  ]);
62
+ const entities = entitiesRaw.map(withEntityDatabaseDefault);
63
+ const dataBases = normalizeDataBasesFromSystem(system);
64
+ const allowedDbNames = new Set(dataBases.map((d) => d.name));
65
+ for (const ent of entities) {
66
+ (0, databaseMeta_1.validateEntityDatabaseName)(ent.database);
67
+ if (!allowedDbNames.has(ent.database)) {
68
+ const known = [...allowedDbNames].sort((a, b) => a.localeCompare(b)).join(', ');
69
+ throw new Error(`Entity "${ent.name}" uses database "${ent.database}", which is not listed in system.dataBases. ` +
70
+ `Known databases: ${known}`);
71
+ }
72
+ }
73
+ const systemNormalized = Object.assign(Object.assign({}, system), { dataBases });
38
74
  const allEntities = new Map();
39
75
  for (const entity of entities) {
40
76
  allEntities.set(entity.name, entity);
@@ -65,7 +101,7 @@ const prepareProjectWideGenerationArgs = (system, opts) => {
65
101
  }
66
102
  const allLinks = (0, getLinksOfEntities_1.getLinksOfEntities)(entities);
67
103
  return {
68
- system,
104
+ system: systemNormalized,
69
105
  entities,
70
106
  allDocuments,
71
107
  allCatalogs,
@@ -82,4 +118,4 @@ const prepareEntityWideGenerationArgs = (projectWideGenerationArgs, entity) => (
82
118
  exports.prepareEntityWideGenerationArgs = prepareEntityWideGenerationArgs;
83
119
  const prepareAdditionalServiceWideGenerationArgs = (projectWideGenerationArgs, service) => (Object.assign(Object.assign({}, projectWideGenerationArgs), { service }));
84
120
  exports.prepareAdditionalServiceWideGenerationArgs = prepareAdditionalServiceWideGenerationArgs;
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1FQUE2RDtBQVc3RCxtRkFBNkU7QUFDN0UsdUZBQWlGO0FBQ2pGLHlDQUEwQjtBQXlCbkIsTUFBTSxnQ0FBZ0MsR0FBRyxDQUM5QyxNQUFjLEVBQ2QsSUFBNEIsRUFDRCxFQUFFO0lBQzdCLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUN4QyxHQUFHLE1BQU0sQ0FBQyxRQUFRO1FBQ2xCLEdBQUcsTUFBTSxDQUFDLFNBQVM7UUFDbkIsR0FBRyxNQUFNLENBQUMsY0FBYztRQUN4QixHQUFHLE1BQU0sQ0FBQyxhQUFhO0tBQ3hCLENBQUMsQ0FBQTtJQUVGLE1BQU0sV0FBVyxHQUF3QixJQUFJLEdBQUcsRUFBRSxDQUFBO0lBQ2xELEtBQUssTUFBTSxNQUFNLElBQUksUUFBUSxFQUFFO1FBQzdCLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtLQUNyQztJQUVELE1BQU0sZ0JBQWdCLEdBQTZCLElBQUksR0FBRyxFQUFFLENBQUE7SUFDNUQsS0FBSyxNQUFNLE1BQU0sSUFBSSxRQUFRLEVBQUU7UUFDN0IsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLGFBQWEsRUFBRTtZQUNqQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtTQUMxQztLQUNGO0lBRUQsTUFBTSxpQkFBaUIsR0FBOEIsSUFBSSxHQUFHLEVBQUUsQ0FBQTtJQUM5RCxLQUFLLE1BQU0sTUFBTSxJQUFJLFFBQVEsRUFBRTtRQUM3QixJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssY0FBYyxFQUFFO1lBQ2xDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1NBQzNDO0tBQ0Y7SUFFRCxNQUFNLFlBQVksR0FBMEIsSUFBSSxHQUFHLEVBQUUsQ0FBQTtJQUNyRCxLQUFLLE1BQU0sTUFBTSxJQUFJLFFBQVEsRUFBRTtRQUM3QixJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFO1lBQzlCLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtTQUN0QztLQUNGO0lBRUQsTUFBTSxXQUFXLEdBQXlCLElBQUksR0FBRyxFQUFFLENBQUE7SUFDbkQsS0FBSyxNQUFNLE1BQU0sSUFBSSxRQUFRLEVBQUU7UUFDN0IsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUM3QixXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUE7U0FDckM7S0FDRjtJQUVELE1BQU0sUUFBUSxHQUFHLElBQUEsdUNBQWtCLEVBQUMsUUFBUSxDQUFDLENBQUE7SUFFN0MsT0FBTztRQUNMLE1BQU07UUFDTixRQUFRO1FBQ1IsWUFBWTtRQUNaLFdBQVc7UUFDWCxXQUFXO1FBQ1gsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixRQUFRO1FBQ1Isa0JBQWtCLEVBQUUsTUFBTSxDQUFDLGtCQUFrQjtRQUM3QyxPQUFPLEVBQUUsSUFBSTtLQUNkLENBQUE7QUFDSCxDQUFDLENBQUE7QUExRFksUUFBQSxnQ0FBZ0Msb0NBMEQ1QztBQUVNLE1BQU0sK0JBQStCLEdBQUcsQ0FDN0MseUJBQW9ELEVBQ3BELE1BQWMsRUFDWSxFQUFFLENBQUMsaUNBQzFCLHlCQUF5QixLQUM1QixNQUFNLEVBQ04sT0FBTyxFQUFFLElBQUEsMkRBQTRCLEVBQ25DLE1BQU0sRUFDTix5QkFBeUIsQ0FBQyxRQUFRLENBQ25DLEVBQ0QsU0FBUyxFQUFFLElBQUEsdURBQTBCLEVBQ25DLE1BQU0sRUFDTix5QkFBeUIsQ0FBQyxRQUFRLENBQ25DLElBQ0QsQ0FBQTtBQWRXLFFBQUEsK0JBQStCLG1DQWMxQztBQUVLLE1BQU0sMENBQTBDLEdBQUcsQ0FDeEQseUJBQW9ELEVBQ3BELE9BQTBCLEVBQ1csRUFBRSxDQUFDLGlDQUNyQyx5QkFBeUIsS0FDNUIsT0FBTyxJQUNQLENBQUE7QUFOVyxRQUFBLDBDQUEwQyw4Q0FNckQifQ==
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1FQUE2RDtBQVk3RCx1REFBK0Q7QUFDL0QsbUZBQTZFO0FBQzdFLHVGQUFpRjtBQUNqRix5Q0FBMEI7QUF5QjFCLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxDQUFTLEVBQVUsRUFBRTs7SUFBQyxPQUFBLGlDQUNwRCxDQUFDLEtBQ0osUUFBUSxFQUFFLE1BQUMsQ0FBeUIsQ0FBQyxRQUFRLG1DQUFJLE1BQU0sSUFDdkQsQ0FBQTtDQUFBLENBQUE7QUFFRixNQUFNLDRCQUE0QixHQUFHLENBQUMsTUFBYyxFQUFrQixFQUFFO0lBQ3RFLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUE7SUFDNUIsSUFBSSxDQUFDLENBQUEsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLE1BQU0sQ0FBQSxFQUFFO1FBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQ2Isd0hBQXdILENBQ3pILENBQUE7S0FDRjtJQUNELEtBQUssTUFBTSxFQUFFLElBQUksR0FBRyxFQUFFO1FBQ3BCLElBQUEseUNBQTBCLEVBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFBO0tBQ3BDO0lBQ0QsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3BDLE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzNCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsTUFBTSxFQUFFO1FBQzlCLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxD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
@@ -30,6 +30,8 @@ const ScalarFieldBuilder_1 = __importDefault(require("./fields/ScalarFieldBuilde
30
30
  const IdFieldBuilder_1 = __importDefault(require("./fields/IdFieldBuilder"));
31
31
  const LinkFieldBuilder_1 = __importDefault(require("./fields/LinkFieldBuilder"));
32
32
  const buildedTypes_1 = require("./buildedTypes");
33
+ const storage_1 = require("./storage");
34
+ const databaseMeta_1 = require("../utils/databaseMeta");
33
35
  const CatalogBuilder_1 = __importDefault(require("./CatalogBuilder"));
34
36
  const BaseBuilder_1 = __importDefault(require("./BaseBuilder"));
35
37
  const FormsBuilder_1 = __importDefault(require("./ui/FormsBuilder"));
@@ -67,13 +69,13 @@ class BaseSavableEntityBuilder extends BaseBuilder_1.default {
67
69
  this.predefinedElements = [];
68
70
  this.devPerefinedElements = [];
69
71
  this.searchEnabled = true;
70
- this.externalSearch = false;
71
- this.elasticOnly = false;
72
+ this._storage = storage_1.Storage.POSTGRES;
72
73
  this.multitenancy = 'none';
73
74
  this.commonElementsVisibleToAll = false;
74
75
  this.title = {};
75
76
  this.externalSearchName = undefined;
76
77
  this.sharded = false;
78
+ this.database = 'main'; // default database name
77
79
  this.isExternalSearch = false;
78
80
  this.clearDBAfter = [];
79
81
  this.allowedToChange = '';
@@ -103,16 +105,20 @@ class BaseSavableEntityBuilder extends BaseBuilder_1.default {
103
105
  this.title[resultedLangiage] = title;
104
106
  return this;
105
107
  }
106
- setExternalSearch() {
107
- this.externalSearch = true;
108
- this.getKey().setType('string').setAutoGenerated(true);
109
- this.externalSearchName = `external${(0, cases_1.pascal)(this.name)}SearchTrackings`;
110
- this.setSearchEnabled();
111
- return this;
108
+ getStorage() {
109
+ return this._storage;
112
110
  }
113
- setElasticOnly() {
114
- this.elasticOnly = true;
115
- this.getKey().setType('string').setAutoGenerated(true);
111
+ setStorage(storage) {
112
+ this._storage = storage;
113
+ this.externalSearchName = undefined;
114
+ if ((0, storage_1.isStorageExternalSearch)(storage)) {
115
+ this.getKey().setType('string').setAutoGenerated(true);
116
+ this.externalSearchName = `external${(0, cases_1.pascal)(this.name)}SearchTrackings`;
117
+ this.setSearchEnabled();
118
+ }
119
+ else if ((0, storage_1.isStorageElasticOnly)(storage) || (0, storage_1.isStorageClickHouseOnly)(storage)) {
120
+ this.getKey().setType('string').setAutoGenerated(true);
121
+ }
116
122
  return this;
117
123
  }
118
124
  setSearchEnabled(searchEnabled) {
@@ -419,7 +425,7 @@ class BaseSavableEntityBuilder extends BaseBuilder_1.default {
419
425
  return this;
420
426
  }
421
427
  build() {
422
- return Object.assign(Object.assign({}, super.build()), { title: this.title, singleKey: this.singleKey, titleField: this.titleField.name, keyField: this.getKey().name, fields: this.getFileds().map((field) => field.build()), uniqueConstraints: this.getUniqueConstraints(), indexes: this.indexes, forms: this.getForms().build(), predefinedElements: this.predefinedElements, devPerefinedElements: this.devPerefinedElements, auditable: this.auditable, externalSearch: this.externalSearch, elasticOnly: this.elasticOnly, searchEnabled: this.searchEnabled, sortField: this.sortField, sortOrder: this.sortOrder, multitenancy: this.multitenancy, commonElementsVisibleToAll: this.commonElementsVisibleToAll, externalSearchName: this.externalSearchName, sharded: this.sharded, isExternalSearch: this.isExternalSearch, creatableByUser: this.creatableByUser, updatableByUser: this.updatableByUser, removableByUser: this.removableByUser, exportableByUser: this.exportableByUser, excludeFromCommonMenu: this.excludeFromCommonMenu, clearDBAfter: this.clearDBAfter, allowedToChange: this.allowedToChange, permissions: this.permissions.map(p => p.build()), pages: this.pages.map(p => p.build()), generalModels: this.generalModels.map(m => m.build()), inputModels: this.inputModels.map(m => m.build()), outputModels: this.outputModels.map(m => m.build()), methods: this.methods.map(m => m.build()), labels: this.labels, cacheable: this.cacheable });
428
+ return Object.assign(Object.assign({}, super.build()), { title: this.title, singleKey: this.singleKey, titleField: this.titleField.name, keyField: this.getKey().name, fields: this.getFileds().map((field) => field.build()), uniqueConstraints: this.getUniqueConstraints(), indexes: this.indexes, forms: this.getForms().build(), predefinedElements: this.predefinedElements, devPerefinedElements: this.devPerefinedElements, auditable: this.auditable, storage: this._storage, searchEnabled: this.searchEnabled, sortField: this.sortField, sortOrder: this.sortOrder, multitenancy: this.multitenancy, commonElementsVisibleToAll: this.commonElementsVisibleToAll, externalSearchName: this.externalSearchName, sharded: this.sharded, database: this.database, isExternalSearch: this.isExternalSearch, creatableByUser: this.creatableByUser, updatableByUser: this.updatableByUser, removableByUser: this.removableByUser, exportableByUser: this.exportableByUser, excludeFromCommonMenu: this.excludeFromCommonMenu, clearDBAfter: this.clearDBAfter, allowedToChange: this.allowedToChange, permissions: this.permissions.map(p => p.build()), pages: this.pages.map(p => p.build()), generalModels: this.generalModels.map(m => m.build()), inputModels: this.inputModels.map(m => m.build()), outputModels: this.outputModels.map(m => m.build()), methods: this.methods.map(m => m.build()), labels: this.labels, cacheable: this.cacheable });
423
429
  }
424
430
  initForms() {
425
431
  if (!this.forms) {
@@ -467,6 +473,12 @@ class BaseSavableEntityBuilder extends BaseBuilder_1.default {
467
473
  this.sharded = value;
468
474
  return this;
469
475
  }
476
+ setDatabase(name) {
477
+ const normalized = name === 'main' ? 'main' : name;
478
+ (0, databaseMeta_1.validateEntityDatabaseName)(normalized);
479
+ this.database = normalized;
480
+ return this;
481
+ }
470
482
  setIsExternalTable() {
471
483
  this.isExternalSearch = true;
472
484
  return this;
@@ -485,4 +497,4 @@ class BaseSavableEntityBuilder extends BaseBuilder_1.default {
485
497
  }
486
498
  }
487
499
  exports.default = BaseSavableEntityBuilder;
488
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZVNhdmFibGVFbnRpdHlCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9idWlsZGVycy9CYXNlU2F2YWJsZUVudGl0eUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFGQUE0RDtBQUM1RCw2RUFBb0Q7QUFDcEQsaUZBQXdEO0FBQ3hELGlEQUE4SDtBQUM5SCxzRUFBNkM7QUFDN0MsZ0VBQXVDO0FBQ3ZDLHFFQUE0QztBQUU1Qyx5RkFBZ0U7QUFDaEUsNkNBQXFEO0FBQ3JELHlDQUEwQjtBQUMxQiw0RUFBbUQ7QUFDbkQsZ0VBQXVDO0FBQ3ZDLGlGQUF3RDtBQUN4RCwyRUFBMEU7QUFFMUUsTUFBZSx3QkFBeUIsU0FBUSxxQkFBVztJQTRDekQsWUFBWSxJQUFZLEVBQUUsZUFBdUIsRUFBRSxLQUE0Qzs7UUFDN0YsS0FBSyxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUE7UUEzQ3JDLGdCQUFXLEdBQXdCLEVBQUUsQ0FBQTtRQUNyQyxXQUFNLEdBQW1CLEVBQUUsQ0FBQTtRQUMzQixzQkFBaUIsR0FBZSxFQUFFLENBQUE7UUFDbEMsWUFBTyxHQUFpQixFQUFFLENBQUE7UUFDaEIsU0FBSSxHQUFHLFNBQVMsQ0FBQTtRQUUxQixjQUFTLEdBQUcsS0FBSyxDQUFBO1FBQ2pCLGFBQVEsR0FBRyxJQUFJLENBQUE7UUFDZixjQUFTLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLFlBQU8sR0FBRyxLQUFLLENBQUE7UUFDZixjQUFTLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLGNBQVMsR0FBRyxLQUFLLENBQUE7UUFDakIsb0JBQWUsR0FBRyxJQUFJLENBQUE7UUFDdEIsb0JBQWUsR0FBRyxJQUFJLENBQUE7UUFDdEIsb0JBQWUsR0FBRyxJQUFJLENBQUE7UUFDdEIscUJBQWdCLEdBQUcsSUFBSSxDQUFB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
500
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZVNhdmFibGVFbnRpdHlCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9idWlsZGVycy9CYXNlU2F2YWJsZUVudGl0eUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFGQUE0RDtBQUM1RCw2RUFBb0Q7QUFDcEQsaUZBQXdEO0FBQ3hELGlEQUE4SDtBQUM5SCx1Q0FBc0g7QUFDdEgsd0RBQWdFO0FBQ2hFLHNFQUE2QztBQUM3QyxnRUFBdUM7QUFDdkMscUVBQTRDO0FBRTVDLHlGQUFnRTtBQUNoRSw2Q0FBcUQ7QUFDckQseUNBQTBCO0FBQzFCLDRFQUFtRDtBQUNuRCxnRUFBdUM7QUFDdkMsaUZBQXdEO0FBQ3hELDJFQUEwRTtBQUUxRSxNQUFlLHdCQUF5QixTQUFRLHFCQUFXO0lBNEN6RCxZQUFZLElBQVksRUFBRSxlQUF1QixFQUFFLEtBQTRDOztRQUM3RixLQUFLLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQTNDckMsZ0JBQVcsR0FBd0IsRUFBRSxDQUFBO1FBQ3JDLFdBQU0sR0FBbUIsRUFBRSxDQUFBO1FBQzNCLHNCQUFpQixHQUFlLEVBQUUsQ0FBQTtRQUNsQyxZQUFPLEdBQWlCLEVBQUUsQ0FBQTtRQUNoQixTQUFJLEdBQUcsU0FBUyxDQUFBO1FBRTFCLGNBQVMsR0FBRyxLQUFLLENBQUE7UUFDakIsYUFBUSxHQUFHLElBQUksQ0FBQTtRQUNmLGNBQVMsR0FBRyxJQUFJLENBQUE7UUFDaEIsWUFBTyxHQUFHLEtBQUssQ0FBQTtRQUNmLGNBQVMsR0FBRyxJQUFJLENBQUE7UUFDaEIsY0FBUyxHQUFHLEtBQUssQ0FBQTtRQUNqQixvQkFBZSxHQUFHLElBQUksQ0FBQTtRQUN0QixvQkFBZSxHQUFHLElBQUksQ0FBQTtRQUN0QixvQkFBZSxHQUFHLElBQUksQ0FBQTtR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