runlify 0.0.780 → 0.0.782

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 (22) hide show
  1. package/build/projectsGeneration/args.js +39 -3
  2. package/build/projectsGeneration/builders/BaseSavableEntityBuilder.js +10 -2
  3. package/build/projectsGeneration/builders/SystemMetaBuilder.js +55 -9
  4. package/build/projectsGeneration/builders/buildedTypes.js +1 -1
  5. package/build/projectsGeneration/defaultCatalogs/addElasticSearch.js +2 -1
  6. package/build/projectsGeneration/generateProject/generateEnvironment.js +36 -8
  7. package/build/projectsGeneration/generators/fileTemplates/back/environment/src/clients/getPrisma.js +75 -8
  8. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/class.js +8 -4
  9. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/config.js +2 -2
  10. package/build/projectsGeneration/generators/prisma/scheme/genPrismaEntity.js +17 -6
  11. package/build/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntities.js +3 -3
  12. package/build/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntitiesWithClientAdnDb.js +67 -9
  13. package/build/projectsGeneration/utils/databaseMeta.js +75 -0
  14. package/build/types/projectsGeneration/builders/BaseSavableEntityBuilder.d.ts +2 -0
  15. package/build/types/projectsGeneration/builders/SystemMetaBuilder.d.ts +2 -0
  16. package/build/types/projectsGeneration/builders/buildedTypes.d.ts +5 -0
  17. package/build/types/projectsGeneration/generators/fileTemplates/back/environment/src/clients/getPrisma.d.ts +2 -2
  18. package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaEntity.d.ts +1 -1
  19. package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntities.d.ts +1 -1
  20. package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntitiesWithClientAdnDb.d.ts +12 -1
  21. package/build/types/projectsGeneration/utils/databaseMeta.d.ts +8 -0
  22. package/package.json +1 -1
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateEnvironment = void 0;
4
4
  const path_1 = require("path");
5
+ const fs_jetpack_1 = require("fs-jetpack");
5
6
  const types_1 = require("../types");
6
7
  const getPrisma_1 = require("../generators/fileTemplates/back/environment/src/clients/getPrisma");
7
8
  const getQueue_1 = require("../generators/fileTemplates/back/environment/src/clients/queue/getQueue");
@@ -41,7 +42,7 @@ const generateEnvironment = (fileCreator, projectWideGenerationArgs) => {
41
42
  // corePrismaGetter
42
43
  if (opts.corePrismaGetter) {
43
44
  const clientsFolderDir = (0, path_1.join)(prjDetachedBackSrcDir, 'clients');
44
- fileCreator.create((0, path_1.join)(clientsFolderDir, 'getPrisma.ts'), (0, getPrisma_1.prismaGetterTmpl)(opts), (0, fileHandlers_1.addWarnings)({ options: opts }));
45
+ fileCreator.create((0, path_1.join)(clientsFolderDir, 'getPrisma.ts'), (0, getPrisma_1.prismaGetterTmpl)(projectWideGenerationArgs), (0, fileHandlers_1.addWarnings)({ options: opts }));
45
46
  }
46
47
  if (opts.corePrismaGetter) {
47
48
  const queueFolderDir = (0, path_1.join)(prjDetachedBackSrcDir, 'clients', 'queue');
@@ -52,14 +53,41 @@ const generateEnvironment = (fileCreator, projectWideGenerationArgs) => {
52
53
  fileCreator.create((0, path_1.join)(prjDetachedBackSrcDir, 'index.ts'), (0, src_1.environmentIndexTmpl)(opts), (0, fileHandlers_1.addWarnings)({ options: opts }));
53
54
  fileCreator.createIfNotExists((0, path_1.join)(prjDetachedBackSrcDir, 'tracing.ts'), (0, tracing_1.environmentTracerTmpl)(opts));
54
55
  }
55
- // schema.prisma
56
+ // schema.prisma (+ shards for main only, + extra databases)
56
57
  if (opts.genPrismaSchema) {
57
58
  const prismaFolderDir = (0, path_1.join)(opts.detachedBackProject, 'prisma');
58
- const prismaSchema = (0, genPrismaSchemaForEntitiesWithClientAdnDb_1.genPrismaSchemaForEntitiesWithClientAdnDb)(projectWideGenerationArgs);
59
- fileCreator.create((0, path_1.join)(prismaFolderDir, 'schema.prisma'), prismaSchema);
60
- if (opts.sharding) {
61
- const prismaSchema = (0, genPrismaSchemaForEntitiesWithClientAdnDb_1.genPrismaSchemaForEntitiesWithClientAdnDb)(projectWideGenerationArgs, true);
62
- fileCreator.create((0, path_1.join)(prismaFolderDir, 'shards', 'schema.prisma'), prismaSchema);
59
+ const dbNames = projectWideGenerationArgs.system.dataBases.map((d) => d.name);
60
+ for (const database of dbNames) {
61
+ if (database === 'main') {
62
+ fileCreator.create((0, path_1.join)(prismaFolderDir, 'schema.prisma'), (0, genPrismaSchemaForEntitiesWithClientAdnDb_1.genPrismaSchemaForEntitiesWithClientAdnDb)(projectWideGenerationArgs, {
63
+ database: 'main',
64
+ forShards: false,
65
+ }), (0, fileHandlers_1.addWarnings)({ options: opts }));
66
+ if (opts.sharding) {
67
+ fileCreator.create((0, path_1.join)(prismaFolderDir, 'shards', 'schema.prisma'), (0, genPrismaSchemaForEntitiesWithClientAdnDb_1.genPrismaSchemaForEntitiesWithClientAdnDb)(projectWideGenerationArgs, {
68
+ database: 'main',
69
+ forShards: true,
70
+ }), (0, fileHandlers_1.addWarnings)({ options: opts }));
71
+ }
72
+ fileCreator.create((0, path_1.join)(prismaFolderDir, 'deployConnection.prisma'), (0, genPrismaSchemaForEntitiesWithClientAdnDb_1.genDeployConnectionPrisma)('main'), (0, fileHandlers_1.addWarnings)({ options: opts }));
73
+ }
74
+ else {
75
+ const dbDir = (0, path_1.join)(prismaFolderDir, 'databases', database);
76
+ const legacyDeployConnection = (0, path_1.join)(prismaFolderDir, `deployConnection.${database}.prisma`);
77
+ if ((0, fs_jetpack_1.exists)(legacyDeployConnection)) {
78
+ (0, fs_jetpack_1.remove)(legacyDeployConnection);
79
+ }
80
+ fileCreator.create((0, path_1.join)(dbDir, 'schema.prisma'), (0, genPrismaSchemaForEntitiesWithClientAdnDb_1.genPrismaSchemaForEntitiesWithClientAdnDb)(projectWideGenerationArgs, {
81
+ database,
82
+ forShards: false,
83
+ }), (0, fileHandlers_1.addWarnings)({ options: opts }));
84
+ fileCreator.create((0, path_1.join)(dbDir, 'deployConnection.prisma'), (0, genPrismaSchemaForEntitiesWithClientAdnDb_1.genDeployConnectionPrisma)(database), (0, fileHandlers_1.addWarnings)({ options: opts }));
85
+ fileCreator.createIfNotExists((0, path_1.join)(dbDir, 'migrations', 'migration_lock.toml'), `# Please do not edit this file manually
86
+ # It should be added to your version-control system (e.g. Git)
87
+
88
+ provider = "postgresql"
89
+ `);
90
+ }
63
91
  }
64
92
  }
65
93
  // chart back
@@ -142,4 +170,4 @@ const generateEnvironment = (fileCreator, projectWideGenerationArgs) => {
142
170
  } // end genFrontend
143
171
  };
144
172
  exports.generateEnvironment = generateEnvironment;
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVFbnZpcm9ubWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vZ2VuZXJhdGVQcm9qZWN0L2dlbmVyYXRlRW52aXJvbm1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQXlCO0FBRXpCLG9DQUFzRDtBQUN0RCxrR0FBbUc7QUFDbkcsc0dBQW9HO0FBQ3BHLDBFQUFxRjtBQUNyRiw0RkFBK0Y7QUFDL0Ysb0ZBQWtGO0FBQ2xGLG9GQUFrRjtBQUNsRixzRkFBeUY7QUFDekYsa0dBQXFHO0FBQ3JHLGtGQUFrRjtBQUNsRixrRkFBa0Y7QUFDbEYsb0ZBQXlGO0FBQ3pGLGdHQUFxRztBQUNyRyw0RkFBaUc7QUFDakcsNEVBQTRFO0FBQzVFLHFGQUEyRjtBQUMzRiw4RkFBOEY7QUFDOUYsOEZBQThGO0FBQzlGLHlHQUF5RztBQUN6Ryx5RkFBK0Y7QUFDL0YscUlBQStIO0FBRy9ILG9HQUE4RjtBQUM5Rix3R0FBa0c7QUFDbEcsa0ZBQWtGO0FBQ2xGLG9GQUFrRjtBQUNsRiwySEFBMkg7QUFDM0gsc0ZBQThGO0FBQzlGLGlEQUEwQztBQUVuQyxNQUFNLG1CQUFtQixHQUFHLENBQ2pDLFdBQXdCLEVBQ3hCLHlCQUFvRCxFQUNwRCxFQUFFO0lBQ0YsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsR0FBRyx5QkFBeUIsQ0FBQTtJQUN2RCxNQUFNLElBQUksbUNBQ0wscUNBQTZCLEdBQzdCLE9BQU8sQ0FDWCxDQUFBO0lBRUQsTUFBTSxXQUFXLEdBQXdCLElBQUksR0FBRyxFQUFFLENBQUE7SUFDbEQsS0FBSyxNQUFNLE1BQU0sSUFBSSxRQUFRLEVBQUU7UUFDN0IsV0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0tBQ3JDO0lBRUQsTUFBTSxxQkFBcUIsR0FBRyxJQUFBLFdBQUksRUFBQyxJQUFJLENBQUMs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
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVFbnZpcm9ubWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vZ2VuZXJhdGVQcm9qZWN0L2dlbmVyYXRlRW52aXJvbm1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQXlCO0FBQ3pCLDJDQUF5QztBQUV6QyxvQ0FBc0Q7QUFDdEQsa0dBQW1HO0FBQ25HLHNHQUFvRztBQUNwRywwRUFBcUY7QUFDckYsNEZBQStGO0FBQy9GLG9GQUFrRjtBQUNsRixvRkFBa0Y7QUFDbEYsc0ZBQXlGO0FBQ3pGLGtHQUFxRztBQUNyRyxrRkFBa0Y7QUFDbEYsa0ZBQWtGO0FBQ2xGLG9GQUF5RjtBQUN6RixnR0FBcUc7QUFDckcsNEZBQWlHO0FBQ2pHLDRFQUE0RTtBQUM1RSxxRkFBMkY7QUFDM0YsOEZBQThGO0FBQzlGLDhGQUE4RjtBQUM5Rix5R0FBeUc7QUFDekcseUZBQStGO0FBQy9GLHFJQUc4RTtBQUc5RSxvR0FBOEY7QUFDOUYsd0dBQWtHO0FBQ2xHLGtGQUFrRjtBQUNsRixvRkFBa0Y7QUFDbEYsMkhBQTJIO0FBQzNILHNGQUE4RjtBQUM5RixpREFBMEM7QUFFbkMsTUFBTSxtQkFBbUIsR0FBRyxDQUNqQyxXQUF3QixFQUN4Qix5QkFBb0QsRUFDcEQsRUFBRTtJQUNGLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEdBQUcseUJBQXlCLENBQUE7SUFDdkQsTUFBTSxJQUFJLG1DQUNMLHFDQUE2QixHQUM3QixPQUFPLENBQ1gsQ0FBQTtJQUVELE1BQU0sV0FBVyxHQUF3QixJQUFJLEdBQUcsRUFBRSxDQUFBO0lBQ2xELEtBQUssTUFBTSxNQUFNLElBQUksUUFBUSxFQUFFO1FBQzdCLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtLQUNyQztJQUVELE1BQU0scUJBQXFCLEdBQUcsSUFBQSxXQUFJLEVB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
@@ -1,8 +1,78 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.prismaGetterTmpl = void 0;
4
- const types_1 = require("../../../../../../types");
5
- const prismaGetterTmpl = (_options = types_1.defaultBootstrapEntityOptions) => `import {PrismaClient} from '@prisma/client';
4
+ const change_case_1 = require("change-case");
5
+ const cases_1 = require("../../../../../../../utils/cases");
6
+ const prismaGetterTmpl = (args) => {
7
+ const otherDbs = args.system.dataBases
8
+ .map((d) => d.name)
9
+ .filter((d) => d !== 'main');
10
+ const extraImports = otherDbs
11
+ .map((db) => `import {PrismaClient as PrismaClient${(0, cases_1.pascal)(db)}} from '../../prisma/databases/${db}/client';`)
12
+ .join('\n');
13
+ const extraGetters = otherDbs.map((db) => {
14
+ const p = (0, cases_1.pascal)(db);
15
+ const writeKey = (0, change_case_1.camelCase)(`database.${db}.write.uri`);
16
+ const readUriKey = (0, change_case_1.camelCase)(`database.${db}.readOnly.uri`);
17
+ const readEnabledKey = (0, change_case_1.camelCase)(`database.${db}.readOnly.enabled`);
18
+ return `
19
+ let prisma${p}: PrismaClient${p} | null = null;
20
+
21
+ export const getPrisma${p} = async (connectionType: 'write' | 'readOnly') => {
22
+ const {
23
+ ${writeKey}: writeUri,
24
+ ${readUriKey}: readOnlyUri,
25
+ ${readEnabledKey}: readOnlyEnabled,
26
+ } = await getConfig();
27
+
28
+ let uri: string;
29
+
30
+ if (connectionType === 'write') {
31
+ uri = writeUri;
32
+ } else {
33
+ if (!readOnlyEnabled) {
34
+ const msg = 'Read only database connection cannot be used with the database.${db}.readOnly.enabled is not true';
35
+ return new Proxy({} as any, {
36
+ get(_target: PrismaClient${p}, property: string | symbol) {
37
+ if (property === 'then') {
38
+ return undefined;
39
+ }
40
+ if (property === '$disconnect') {
41
+ return () => log.info('noop $disconnect');
42
+ }
43
+ log.error(\`getPrisma${p}: \${property.toString()}\`);
44
+ log.error(msg);
45
+ throw new Error(msg);
46
+ },
47
+ apply: () => {
48
+ log.error('apply');
49
+ log.error(msg);
50
+ throw new Error(msg);
51
+ },
52
+ }) as PrismaClient${p};
53
+ }
54
+ if (!readOnlyUri) {
55
+ throw new Error('database.${db}.readOnly.uri must be set');
56
+ }
57
+ uri = readOnlyUri;
58
+ }
59
+
60
+ if (!prisma${p}) {
61
+ prisma${p} = new PrismaClient${p}({
62
+ datasources: {
63
+ db: {
64
+ url: uri,
65
+ },
66
+ },
67
+ });
68
+ }
69
+
70
+ return prisma${p};
71
+ };
72
+ `;
73
+ });
74
+ return `import {PrismaClient} from '@prisma/client';
75
+ ${extraImports}
6
76
  import {getConfig} from '../config';
7
77
  import log from '../log';
8
78
  import {addParamsToDatabaseUri} from '../utils/addParamsToPgUri';
@@ -55,11 +125,6 @@ export const getPrisma = async (connectionType: 'write' | 'readOnly') => {
55
125
 
56
126
  log.info(typeof addParamsToDatabaseUri);
57
127
 
58
- // const url = addParamsToDatabaseUri(databaseMainWriteUri, {
59
- // application_name: appName,
60
- // ...(process.env.NODE_ENV === 'production' ? {} : {connection_limit: '1'}),
61
- // });
62
-
63
128
  if (!prisma) {
64
129
  prisma = new PrismaClient({
65
130
  datasources: {
@@ -72,6 +137,8 @@ export const getPrisma = async (connectionType: 'write' | 'readOnly') => {
72
137
 
73
138
  return prisma;
74
139
  };
140
+ ${extraGetters.join('')}
75
141
  `;
142
+ };
76
143
  exports.prismaGetterTmpl = prismaGetterTmpl;
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0UHJpc21hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9nZW5lcmF0b3JzL2ZpbGVUZW1wbGF0ZXMvYmFjay9lbnZpcm9ubWVudC9zcmMvY2xpZW50cy9nZXRQcmlzbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBR2dDO0FBRXpCLE1BQU0sZ0JBQWdCLEdBQUcsQ0FDOUIsV0FBbUMscUNBQTZCLEVBQ2hFLEVBQUUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXNFSixDQUFBO0FBeEVZLFFBQUEsZ0JBQWdCLG9CQXdFNUIifQ==
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0UHJpc21hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9nZW5lcmF0b3JzL2ZpbGVUZW1wbGF0ZXMvYmFjay9lbnZpcm9ubWVudC9zcmMvY2xpZW50cy9nZXRQcmlzbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQXFDO0FBQ3JDLDREQUF1RDtBQUdoRCxNQUFNLGdCQUFnQixHQUFHLENBQUMsSUFBK0IsRUFBRSxFQUFFO0lBQ2xFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUztTQUNuQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDbEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUE7SUFFOUIsTUFBTSxZQUFZLEdBQUcsUUFBUTtTQUMxQixHQUFHLENBQ0YsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUNMLHVDQUF1QyxJQUFBLGNBQU0sRUFDM0MsRUFBRSxDQUNILGtDQUFrQyxFQUFFLFdBQVcsQ0FDbkQ7U0FDQSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFFYixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7UUFDdkMsTUFBTSxDQUFDLEdBQUcsSUFBQSxjQUFNLEVBQUMsRUFBRSxDQUFDLENBQUE7UUFDcEIsTUFBTSxRQUFRLEdBQUcsSUFBQSx1QkFBUyxFQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQTtRQUN0RCxNQUFNLFVBQVUsR0FBRyxJQUFBLHVCQUFTLEVBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQyxDQUFBO1FBQzNELE1BQU0sY0FBYyxHQUFHLElBQUEsdUJBQVMsRUFBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUMsQ0FBQTtRQUVuRSxPQUFPO1lBQ0MsQ0FBQyxpQkFBaUIsQ0FBQzs7d0JBRVAsQ0FBQzs7TUFFbkIsUUFBUTtNQUNSLFVBQVU7TUFDVixjQUFjOzs7Ozs7Ozs7b0ZBU2dFLEVBQUU7O21DQUVuRCxDQUFDOzs7Ozs7O2lDQU9ILENBQUM7Ozs7Ozs7OzswQkFTUixDQUFDOzs7a0NBR08sRUFBRTs7Ozs7ZUFLckIsQ0FBQztZQUNKLENBQUMsc0JBQXNCLENBQUM7Ozs7Ozs7OztpQkFTbkIsQ0FBQzs7Q0FFakIsQ0FBQTtJQUNDLENBQUMsQ0FBQyxDQUFBO0lBRUYsT0FBTztFQUNQLFlBQVk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUVaLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0NBQ3RCLENBQUE7QUFDRCxDQUFDLENBQUE7QUFqSlksUUFBQSxnQkFBZ0Isb0JBaUo1QiJ9
@@ -11,7 +11,8 @@ const prismaServiceBaseClassTmpl = ({ entity, }) => {
11
11
  const getDefaultableFields = () => entity.fields
12
12
  .filter((f) => f.defaultBackendValueExpression)
13
13
  .filter((f) => !f.hidden);
14
- const isSharded = entity.sharded;
14
+ const isSharded = entity.sharded && entity.database === 'main';
15
+ const prismaCtxKey = entity.database === 'main' ? 'prisma' : `prisma${(0, cases_1.pascal)(entity.database)}`;
15
16
  const isExternalSearch = entity.externalSearch;
16
17
  const isDocument = entity.type === 'document';
17
18
  const isSumRegistry = entity.type === 'sumRegistry';
@@ -77,7 +78,10 @@ export interface ${(0, cases_1.pascalSingular)(document.name)}RegistryEntries {$
77
78
  `;
78
79
  }
79
80
  if (isPrismaDelegatable) {
80
- additionalImports.push('import {Prisma} from \'@prisma/client\';');
81
+ const prismaMod = entity.database === 'main'
82
+ ? '@prisma/client'
83
+ : `../../../../prisma/databases/${entity.database}/client`;
84
+ additionalImports.push(`import {Prisma} from '${prismaMod}';`);
81
85
  }
82
86
  const serviceName = `${(0, cases_1.pascal)(entity.name)}Service`;
83
87
  return `import {
@@ -148,7 +152,7 @@ export class ${serviceName} extends ${extendedType}<
148
152
 
149
153
  constructor(public override ctx: Context) {
150
154
  super(ctx,${isSharded ? ` '${(0, cases_1.camelSingular)(entity.name)}'${entity.externalSearchName ? `, 'external${(0, cases_1.pascal)(entity.name)}SearchTracking'` : ''},`
151
- : entity.elasticOnly ? '' : ` ctx.prisma.${(0, cases_1.camelSingular)(entity.name)},${isExternalSearch ? ` ctx.prisma.external${(0, cases_1.pascal)(entity.name)}SearchTracking,` : ''}`} config);
155
+ : entity.elasticOnly ? '' : ` ctx.${prismaCtxKey}.${(0, cases_1.camelSingular)(entity.name)},${isExternalSearch ? ` ctx.${prismaCtxKey}.external${(0, cases_1.pascal)(entity.name)}SearchTracking,` : ''}`} config);
152
156
  initBuiltInHooks(this);
153
157
  initUserHooks(this);${getDefaultableFields().length > 0 ? `
154
158
 
@@ -178,4 +182,4 @@ ${(0, utils_1.pad)(4)(getDefaultableFields()
178
182
  `;
179
183
  };
180
184
  exports.prismaServiceBaseClassTmpl = prismaServiceBaseClassTmpl;
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvZmlsZVRlbXBsYXRlcy9iYWNrL3NlcnZpY2VzL2VudGl0eS9jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5REFLc0M7QUFDdEMseUNBQWtDO0FBRWxDLGdEQUFnRTtBQUd6RCxNQUFNLDBCQUEwQixHQUFHLENBQUMsRUFDekMsTUFBTSxHQUNtQixFQUFFLEVBQUU7SUFDN0IsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFBO0lBRTdCLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQ2pELENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLENBQ2pELENBQUE7SUFDRCxNQUFNLGdDQUFnQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUMzRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQzNELENBQUE7SUFFRCxNQUFNLG9CQUFvQixHQUFHLEdBQUcsRUFBRSxDQUNoQyxNQUFNLENBQUMsTUFBTTtTQUNWLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLDZCQUE2QixDQUFDO1NBQzlDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFN0IsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUNqQyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUM7SUFDL0MsTUFBTSxVQUFVLEdBQUcs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
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvZmlsZVRlbXBsYXRlcy9iYWNrL3NlcnZpY2VzL2VudGl0eS9jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5REFLc0M7QUFDdEMseUNBQWtDO0FBRWxDLGdEQUFnRTtBQUd6RCxNQUFNLDBCQUEwQixHQUFHLENBQUMsRUFDekMsTUFBTSxHQUNtQixFQUFFLEVBQUU7SUFDN0IsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFBO0lBRTdCLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQ2pELENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLENBQ2pELENBQUE7SUFDRCxNQUFNLGdDQUFnQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUMzRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQzNELENBQUE7SUFFRCxNQUFNLG9CQUFvQixHQUFHLEdBQUcsRUFBRSxDQUNoQyxNQUFNLENBQUMsTUFBTTtTQUNWLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLDZCQUE2QixDQUFDO1NBQzlDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFN0IsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLE1BQU0sQ0FBQztJQUMvRCxNQUFNLFlBQVksR0FDaEIsTUFBTSxDQUFDLFFB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
@@ -37,7 +37,7 @@ const configTmpl = ({ entity, options, }, allSumRegistries, allInfoRegistries) =
37
37
  const searchableFields = entity.fields.filter((f) => f.searchable);
38
38
  const dateFields = searchableFields.filter((f) => ['date', 'datetime'].includes(f.type));
39
39
  const notDateFields = searchableFields.filter((f) => !['date', 'datetime'].includes(f.type));
40
- const isSharded = entity.sharded;
40
+ const isSharded = entity.sharded && entity.database === 'main';
41
41
  const shardUniqKeys = entity.fields.filter(f => f.sharded).map(f => f.name);
42
42
  const isDocument = entity.type === 'document';
43
43
  const isInfoRegistry = entity.type === 'infoRegistry';
@@ -109,4 +109,4 @@ export default config;
109
109
  `;
110
110
  };
111
111
  exports.configTmpl = configTmpl;
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9nZW5lcmF0b3JzL2ZpbGVUZW1wbGF0ZXMvYmFjay9zZXJ2aWNlcy9lbnRpdHkvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUNBQWtDO0FBQ2xDLHlDQUEwQjtBQUkxQix3REFBb0Q7QUFDcEQseURBQTJFO0FBQzNFLGdEQUF3QztBQUV4QyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFBLFdBQUcsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDekcsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFFaEUsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFLENBQy9DLElBQUEsdUJBQVcsRUFBQyxNQUFNLENBQUMsQ0FBQyxhQUFhLElBQUksSUFBQSx1QkFBVyxFQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUE7QUFFckUsTUFBTSxVQUFVLEdBQUcsQ0FBQyxFQUN6QixNQUFNLEVBQ04sT0FBTyxHQUNrQixFQUN6QixnQkFBMEMsRUFDMUMsaUJBQTRDLEVBQzVDLEVBQUU7SUFDRixNQUFNLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUNqRCxDQUFDLENBQUMsRUFBRSxFQUFF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
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9nZW5lcmF0b3JzL2ZpbGVUZW1wbGF0ZXMvYmFjay9zZXJ2aWNlcy9lbnRpdHkvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUNBQWtDO0FBQ2xDLHlDQUEwQjtBQUkxQix3REFBb0Q7QUFDcEQseURBQTJFO0FBQzNFLGdEQUF3QztBQUV4QyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFBLFdBQUcsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDekcsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFFaEUsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFLENBQy9DLElBQUEsdUJBQVcsRUFBQyxNQUFNLENBQUMsQ0FBQyxhQUFhLElBQUksSUFBQSx1QkFBVyxFQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUE7QUFFckUsTUFBTSxVQUFVLEdBQUcsQ0FBQyxFQUN6QixNQUFNLEVBQ04sT0FBTyxHQUNrQixFQUN6QixnQkFBMEMsRUFDMUMsaUJBQTRDLEVBQzVDLEVBQUU7SUFDRixNQUFNLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUNqRCxDQUFDLENBQUMsRUFBRSxFQUFF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
@@ -44,13 +44,24 @@ const prismaIndexFieldFragment = (entity, fieldName, indexType) => {
44
44
  }
45
45
  return `${fieldName}(ops: JsonbPathOps)`;
46
46
  };
47
- const genPrismaEntity = (entity, links, forShards = false) => {
47
+ const inwardEntityLinks = (entity, links, allEntities) => {
48
+ let inward = (0, getLinksFromExternalEntities_1.getLinksFromExternalEntities)(entity, links).filter((el) => el.fromField.linkCategory === 'entity');
49
+ if (allEntities) {
50
+ inward = inward.filter((el) => {
51
+ const owner = allEntities.get(el.entityOwnerName);
52
+ return !!owner && owner.database === entity.database;
53
+ });
54
+ }
55
+ return inward;
56
+ };
57
+ const genPrismaEntity = (entity, links, forShards = false, allEntities) => {
48
58
  const fields = [
49
59
  ...R.flatten(entity.fields.map((field) => (0, genPrismaField_1.genPrismaField)(entity, field, forShards))),
50
- ...forShards ? [] : (0, getLinksFromExternalEntities_1.getLinksFromExternalEntities)(entity, links)
51
- .filter((el) => el.fromField.linkCategory === 'entity')
52
- .map((link) => (0, genPrismaFieldFromExternalEntity_1.genPrismaFieldFromExternalEntity)(link))
53
- .filter((l) => l),
60
+ ...forShards
61
+ ? []
62
+ : inwardEntityLinks(entity, links, allEntities)
63
+ .map((link) => (0, genPrismaFieldFromExternalEntity_1.genPrismaFieldFromExternalEntity)(link))
64
+ .filter((l) => l),
54
65
  ];
55
66
  return `model ${(0, cases_1.pascalSingular)(entity.name)} {
56
67
  ${fields.join('\n')}${entity.uniqueConstraints.length > 0
@@ -68,4 +79,4 @@ ${fields.join('\n')}${entity.uniqueConstraints.length > 0
68
79
  `;
69
80
  };
70
81
  exports.genPrismaEntity = genPrismaEntity;
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuUHJpc21hRW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9nZW5lcmF0b3JzL3ByaXNtYS9zY2hlbWUvZ2VuUHJpc21hRW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUNBQTBCO0FBQzFCLG1EQUFzRDtBQUN0RCxnREFBdUU7QUFDdkUsOEZBQXdGO0FBRXhGLDREQUFzRDtBQUN0RCxnR0FBMEY7QUFDMUYsNkNBQXNDO0FBRXRDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxLQUFZLEVBQVcsRUFBRSxDQUNuRCxLQUFLLENBQUMsUUFBUSxLQUFLLFFBQVE7SUFDM0IsS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRO0lBQ3RCLEtBQXFCLENBQUMsVUFBVSxLQUFLLE1BQU0sQ0FBQTtBQUU5QyxNQUFNLHdCQUF3QixHQUFHLENBQy9CLE1BQWMsRUFDZCxTQUFpQixFQUNqQixTQUFnQyxFQUN4QixFQUFFO0lBQ1YsSUFBSSxTQUFTLEtBQUssb0JBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDL0IsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFFRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQTtJQUU3RCxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDeEMsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFFRCxPQUFPLEdBQUcsU0FBUyxxQkFBcUIsQ0FBQztBQUMzQyxDQUFDLENBQUE7QUFFTSxNQUFNLGVBQWUsR0FBRyxDQUM3QixNQUFjLEVBQ2QsS0FBdUIsRUFDdkIsU0FBUyxHQUFHLEtBQUssRUFDVCxFQUFFO0lBQ1YsTUFBTSxNQUFNLEdBQUc7UUFDYixHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUEsK0JBQWMsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDcEYsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBQSwyREFBNEIsRUFBQyxNQUFNLEVBQUUsS0FBSyxDQUFDO2FBQzVELE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEtBQUssUUFBUSxDQUFDO2FBQ3RELEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBQSxtRUFBZ0MsRUFBQyxJQUFJLENBQUMsQ0FBQzthQUNyRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUNwQixDQUFBO0lBRUQsT0FBTyxTQUFTLElBQUEsc0JBQWMsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDO0VBQzNDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQ2YsTUFBTSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxJQUFJO1lBQ0osTUFBTSxDQUFDLGlCQUFpQjtpQkFDckIsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxjQUFjLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztpQkFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNmLENBQUMsQ0FBQyxFQUNOLEdBQ0UsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUN6QixDQUFDLENBQUMsSUFBSTtZQUNKLE1BQU0sQ0FBQyxPQUFPO2lCQUNYLEdBQUcsQ0FBQyxDQUFDLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyxFQUFFLEVBQUUsQ0FDdEIsYUFBYSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxJQUFBLHdCQUFVLEVBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQzNJO2lCQUNBLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDZixDQUFDLENBQUMsRUFDSjs7Q0FFRCxDQUFBO0FBQ0QsQ0FBQyxDQUFBO0FBakNZLFFBQUEsZUFBZSxtQkFpQzNCIn0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuUHJpc21hRW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9nZW5lcmF0b3JzL3ByaXNtYS9zY2hlbWUvZ2VuUHJpc21hRW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUNBQTBCO0FBQzFCLG1EQUFzRDtBQUN0RCxnREFBdUU7QUFDdkUsOEZBQXdGO0FBRXhGLDREQUFzRDtBQUN0RCxnR0FBMEY7QUFDMUYsNkNBQXNDO0FBRXRDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxLQUFZLEVBQVcsRUFBRSxDQUNuRCxLQUFLLENBQUMsUUFBUSxLQUFLLFFBQVE7SUFDM0IsS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRO0lBQ3RCLEtBQXFCLENBQUMsVUFBVSxLQUFLLE1BQU0sQ0FBQTtBQUU5QyxNQUFNLHdCQUF3QixHQUFHLENBQy9CLE1BQWMsRUFDZCxTQUFpQixFQUNqQixTQUFnQyxFQUN4QixFQUFFO0lBQ1YsSUFBSSxTQUFTLEtBQUssb0JBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDL0IsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFFRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQTtJQUU3RCxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDeEMsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFFRCxPQUFPLEdBQUcsU0FBUyxxQkFBcUIsQ0FBQztBQUMzQyxDQUFDLENBQUE7QUFFRCxNQUFNLGlCQUFpQixHQUFHLENBQ3hCLE1BQWMsRUFDZCxLQUF1QixFQUN2QixXQUFpQyxFQUNmLEVBQUU7SUFDcEIsSUFBSSxNQUFNLEdBQUcs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
@@ -2,12 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.genPrismaSchemaForEntities = void 0;
4
4
  const genPrismaEntity_1 = require("./genPrismaEntity");
5
- const genPrismaSchemaForEntities = (entities, links, forShards = false) => {
5
+ const genPrismaSchemaForEntities = (entities, links, forShards = false, allEntities) => {
6
6
  const prismaSchemas = [];
7
7
  for (const entity of entities) {
8
- prismaSchemas.push((0, genPrismaEntity_1.genPrismaEntity)(entity, links, forShards));
8
+ prismaSchemas.push((0, genPrismaEntity_1.genPrismaEntity)(entity, links, forShards, allEntities));
9
9
  }
10
10
  return prismaSchemas.join('\n\n');
11
11
  };
12
12
  exports.genPrismaSchemaForEntities = genPrismaSchemaForEntities;
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuUHJpc21hU2NoZW1hRm9yRW50aXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvcHJpc21hL3NjaGVtZS9nZW5QcmlzbWFTY2hlbWFGb3JFbnRpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSx1REFBaUQ7QUFFMUMsTUFBTSwwQkFBMEIsR0FBRyxDQUN4QyxRQUFrQixFQUNsQixLQUF1QixFQUN2QixTQUFTLEdBQUcsS0FBSyxFQUNqQixFQUFFO0lBQ0YsTUFBTSxhQUFhLEdBQWEsRUFBRSxDQUFBO0lBQ2xDLEtBQUssTUFBTSxNQUFNLElBQUksUUFBUSxFQUFFO1FBQzdCLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBQSxpQ0FBZSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQTtLQUM5RDtJQUVELE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUNuQyxDQUFDLENBQUE7QUFYWSxRQUFBLDBCQUEwQiw4QkFXdEMifQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuUHJpc21hU2NoZW1hRm9yRW50aXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvcHJpc21hL3NjaGVtZS9nZW5QcmlzbWFTY2hlbWFGb3JFbnRpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSx1REFBaUQ7QUFFMUMsTUFBTSwwQkFBMEIsR0FBRyxDQUN4QyxRQUFrQixFQUNsQixLQUF1QixFQUN2QixTQUFTLEdBQUcsS0FBSyxFQUNqQixXQUFpQyxFQUNqQyxFQUFFO0lBQ0YsTUFBTSxhQUFhLEdBQWEsRUFBRSxDQUFBO0lBQ2xDLEtBQUssTUFBTSxNQUFNLElBQUksUUFBUSxFQUFFO1FBQzdCLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBQSxpQ0FBZSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUE7S0FDM0U7SUFFRCxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7QUFDbkMsQ0FBQyxDQUFBO0FBWlksUUFBQSwwQkFBMEIsOEJBWXRDIn0=
@@ -1,24 +1,82 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.genPrismaSchemaForEntitiesWithClientAdnDb = void 0;
3
+ exports.genDeployConnectionPrisma = exports.genPrismaSchemaForEntitiesWithClientAdnDb = void 0;
4
4
  const genPrismaSchemaForEntities_1 = require("./genPrismaSchemaForEntities");
5
- const genPrismaSchemaForEntitiesWithClientAdnDb = ({ entities, allLinks, }, forShards = false) => {
5
+ const databaseMeta_1 = require("../../../utils/databaseMeta");
6
+ const collectCrossDatabaseEntityLinkViolations = (entities, allEntities) => {
7
+ const lines = [];
8
+ for (const entity of entities) {
9
+ for (const field of entity.fields) {
10
+ if (field.category !== 'link') {
11
+ continue;
12
+ }
13
+ if (field.linkCategory !== 'entity') {
14
+ continue;
15
+ }
16
+ const target = allEntities.get(field.externalEntity);
17
+ if (!target) {
18
+ continue;
19
+ }
20
+ if (target.database !== entity.database) {
21
+ lines.push(` ${entity.name}.${field.name} → ${field.externalEntity} (database "${entity.database}" → "${target.database}")`);
22
+ }
23
+ }
24
+ }
25
+ return lines;
26
+ };
27
+ const genPrismaSchemaForEntitiesWithClientAdnDb = (args, opts) => {
28
+ const { database, forShards } = opts;
29
+ const { entities, allLinks, allEntities } = args;
30
+ const effectiveForShards = database === 'main' && forShards;
6
31
  const ent = entities
7
- .filter(e => forShards ? e.sharded : !e.sharded)
8
- .filter(e => !e.elasticOnly);
9
- const joined = (0, genPrismaSchemaForEntities_1.genPrismaSchemaForEntities)(ent, allLinks, forShards);
32
+ .filter((e) => !e.elasticOnly)
33
+ .filter((e) => {
34
+ if (database !== 'main') {
35
+ return e.database === database;
36
+ }
37
+ return e.database === 'main' && (forShards ? e.sharded : !e.sharded);
38
+ });
39
+ const crossDbViolations = collectCrossDatabaseEntityLinkViolations(ent, allEntities);
40
+ if (crossDbViolations.length > 0) {
41
+ throw new Error(`Cross-database entity links are not supported (Prisma cannot place @relation across datasources). ` +
42
+ `Replace addLinkField with addViewLinkField for these links in metadata:\n${crossDbViolations.join('\n')}`);
43
+ }
44
+ const joined = (0, genPrismaSchemaForEntities_1.genPrismaSchemaForEntities)(ent, allLinks, effectiveForShards, allEntities);
45
+ const writeEnv = (0, databaseMeta_1.prismaDatasourceWriteEnvVar)(database);
46
+ let outputLine = '';
47
+ if (database === 'main' && effectiveForShards) {
48
+ outputLine = `
49
+ output = "./build"`;
50
+ }
51
+ else if (database !== 'main') {
52
+ outputLine = `
53
+ output = "./client"`;
54
+ }
10
55
  return `generator client {
11
56
  provider = "prisma-client-js"
12
- previewFeatures = ["metrics"]${forShards ? `
13
- output = "./build"` : ''}
57
+ previewFeatures = ["metrics"]${outputLine}
14
58
  }
15
59
 
16
60
  datasource db {
17
61
  provider = "postgresql"
18
- url = env("DATABASE_MAIN_WRITE_URI")
62
+ url = env("${writeEnv}")
19
63
  }
20
64
 
21
65
  ${joined}`;
22
66
  };
23
67
  exports.genPrismaSchemaForEntitiesWithClientAdnDb = genPrismaSchemaForEntitiesWithClientAdnDb;
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuUHJpc21hU2NoZW1hRm9yRW50aXRpZXNXaXRoQ2xpZW50QWRuRGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvcHJpc21hL3NjaGVtZS9nZW5QcmlzbWFTY2hlbWFGb3JFbnRpdGllc1dpdGhDbGllbnRBZG5EYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw2RUFBdUU7QUFFaEUsTUFBTSx5Q0FBeUMsR0FBRyxDQUFDLEVBQ3hELFFBQVEsRUFDUixRQUFRLEdBQ2tCLEVBQzFCLFNBQVMsR0FBRyxLQUFLLEVBQ2pCLEVBQUU7SUFDRixNQUFNLEdBQUcsR0FBRyxRQUFRO1NBQ2pCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1NBQy9DLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRS9CLE1BQU0sTUFBTSxHQUFHLElBQUEsdURBQTBCLEVBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUVuRSxPQUFPOztpQ0FFd0IsU0FBUyxDQUFDLENBQUMsQ0FBQzt1QkFDdEIsQ0FBQSxDQUFDLENBQUMsRUFBRTs7Ozs7Ozs7RUFRekIsTUFBTSxFQUFFLENBQUE7QUFDVixDQUFDLENBQUE7QUF4QlksUUFBQSx5Q0FBeUMsNkNBd0JyRCJ9
68
+ /** Minimal deploy schema (migrate URL only). */
69
+ const genDeployConnectionPrisma = (database) => {
70
+ const migrationEnv = (0, databaseMeta_1.prismaDatasourceMigrationEnvVar)(database);
71
+ return `datasource db {
72
+ provider = "postgresql"
73
+ url = env("${migrationEnv}")
74
+ }
75
+
76
+ generator client {
77
+ provider = "prisma-client-js"
78
+ }
79
+ `;
80
+ };
81
+ exports.genDeployConnectionPrisma = genDeployConnectionPrisma;
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuUHJpc21hU2NoZW1hRm9yRW50aXRpZXNXaXRoQ2xpZW50QWRuRGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvcHJpc21hL3NjaGVtZS9nZW5QcmlzbWFTY2hlbWFGb3JFbnRpdGllc1dpdGhDbGllbnRBZG5EYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSw2RUFBdUU7QUFDdkUsOERBR29DO0FBRXBDLE1BQU0sd0NBQXdDLEdBQUcsQ0FDL0MsUUFBa0IsRUFDbEIsV0FBZ0MsRUFDdEIsRUFBRTtJQUNaLE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQTtJQUMxQixLQUFLLE1BQU0sTUFBTSxJQUFJLFFBQVEsRUFBRTtRQUM3QixLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDakMsSUFBSSxLQUFLLENBQUMsUUFBUSxLQUFLLE1BQU0sRUFBRTtnQkFDN0IsU0FBUTthQUNUO1lBQ0QsSUFBSSxLQUFLLENBQUMsWUFBWSxLQUFLLFFBQVEsRUFBRTtnQkFDbkMsU0FBUTthQUNUO1lBQ0QsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUE7WUFDcEQsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDWCxTQUFRO2FBQ1Q7WUFDRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFDLFFBQVEsRUFBRTtnQkFDdkMsS0FBSyxDQUFDLElBQUksQ0FDUixLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksTUFBTSxLQUFLLENBQUMsY0FBYyxlQUFlLE1BQU0sQ0FBQyxRQUFRLFFBQVEsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUNsSCxDQUFBO2FBQ0Y7U0FDRjtLQUNGO0lBQ0QsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDLENBQUE7QUFZTSxNQUFNLHlDQUF5QyxHQUFHLENBQ3ZELElBQStCLEVBQy9CLElBQThCLEVBQzlCLEVBQUU7SUFDRixNQUFNLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBQyxHQUFHLElBQUksQ0FBQTtJQUNsQyxNQUFNLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUMsR0FBRyxJQUFJLENBQUE7SUFFOUMsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLEtBQUssTUFBTSxJQUFJLFNBQVMsQ0FBQTtJQUUzRCxNQUFNLEdBQUcsR0FBRyxRQUFRO1NBQ2pCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1NBQzdCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ1osSUFBSSxRQUFRLEtBQUssTUFBTSxFQUFFO1lBQ3ZCLE9BQU8sQ0FBQyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUE7U0FDL0I7UUFDRCxPQUFPLENBQUMsQ0FBQyxRQUFRLEtBQUssTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN0RSxDQUFDLENBQUMsQ0FBQTtJQUVKLE1BQU0saUJBQWlCLEdBQUcsd0NBQXdDLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQ3BGLElBQUksaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNoQyxNQUFNLElBQUksS0FBSyxDQUNiLG9HQUFvRztZQUNsRyw0RUFBNEUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQzdHLENBQUE7S0FDRjtJQUVELE1BQU0sTUFBTSxHQUFHLElBQUEsdURBQTBCLEVBQ3ZDLEdBQUcsRUFDSCxRQUFRLEVBQ1Isa0JBQWtCLEVBQ2xCLFdBQVcsQ0FDWixDQUFBO0lBRUQsTUFBTSxRQUFRLEdBQUcsSUFBQSwwQ0FBMkIsRUFBQyxRQUFRLENBQUMsQ0FBQTtJQUV0RCxJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUE7SUFDbkIsSUFBSSxRQUFRLEtBQUssTUFBTSxJQUFJLGtCQUFrQixFQUFFO1FBQzdDLFVBQVUsR0FBRzt1QkFDTSxDQUFBO0tBQ3BCO1NBQU0sSUFBSSxRQUFRLEtBQUssTUFBTSxFQUFFO1FBQzlCLFVBQVUsR0FBRzt3QkFDTyxDQUFBO0tBQ3JCO0lBRUQsT0FBTzs7aUNBRXdCLFVBQVU7Ozs7O29CQUt2QixRQUFROzs7RUFHMUIsTUFBTSxFQUFFLENBQUE7QUFDVixDQUFDLENBQUE7QUF2RFksUUFBQSx5Q0FBeUMsNkNBdURyRDtBQUVELGdEQUFnRDtBQUN6QyxNQUFNLHlCQUF5QixHQUFHLENBQUMsUUFBZ0IsRUFBVSxFQUFFO0lBQ3BFLE1BQU0sWUFBWSxHQUFHLElBQUEsOENBQStCLEVBQUMsUUFBUSxDQUFDLENBQUE7SUFDOUQsT0FBTzs7b0JBRVcsWUFBWTs7Ozs7O0NBTS9CLENBQUE7QUFDRCxDQUFDLENBQUE7QUFYWSxRQUFBLHlCQUF5Qiw2QkFXckMifQ==
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prismaDatasourceMigrationEnvVar = exports.prismaDatasourceWriteEnvVar = exports.databaseNameToEnvSuffix = exports.buildConfigVarsForAdditionalDatabase = exports.validateEntityDatabaseName = exports.postgresUrlDatabaseName = void 0;
4
+ const change_case_1 = require("change-case");
5
+ const ENTITY_DATABASE_NAME_RE = /^[a-z][a-zA-Z0-9]*$/;
6
+ const postgresUrlDatabaseName = (metaDbName) => metaDbName === 'main' ? 'postgres' : (0, change_case_1.snakeCase)(metaDbName);
7
+ exports.postgresUrlDatabaseName = postgresUrlDatabaseName;
8
+ const validateEntityDatabaseName = (name) => {
9
+ if (name === 'main') {
10
+ return;
11
+ }
12
+ if (!ENTITY_DATABASE_NAME_RE.test(name)) {
13
+ throw new Error(`Invalid database name "${name}": use a reserved "main" or an identifier matching ${ENTITY_DATABASE_NAME_RE}.`);
14
+ }
15
+ };
16
+ exports.validateEntityDatabaseName = validateEntityDatabaseName;
17
+ /** Config vars for a non-main database (mirrors database.main.* in SystemMetaBuilder). */
18
+ const buildConfigVarsForAdditionalDatabase = (dbName) => {
19
+ const titleBase = `База данных "${dbName}"`;
20
+ const defaultBase = `postgresql://postgres:password@localhost:5432/${(0, exports.postgresUrlDatabaseName)(dbName)}`;
21
+ return [
22
+ {
23
+ name: `database.${dbName}.write.uri`,
24
+ type: 'string',
25
+ required: true,
26
+ default: defaultBase,
27
+ needFor: `${titleBase}: строка подключения для записи`,
28
+ scopes: ['back', 'worker', 'telegramBot'],
29
+ hidden: true,
30
+ editable: false,
31
+ },
32
+ {
33
+ name: `database.${dbName}.readOnly.uri`,
34
+ type: 'string',
35
+ required: false,
36
+ default: defaultBase,
37
+ needFor: `${titleBase}: строка подключения только для чтения`,
38
+ scopes: ['back', 'worker', 'telegramBot'],
39
+ hidden: true,
40
+ editable: false,
41
+ },
42
+ {
43
+ name: `database.${dbName}.readOnly.enabled`,
44
+ type: 'bool',
45
+ required: true,
46
+ default: false,
47
+ needFor: `${titleBase}: включено ли отдельное подключение для чтения`,
48
+ scopes: ['back', 'worker', 'telegramBot'],
49
+ hidden: false,
50
+ editable: true,
51
+ },
52
+ {
53
+ name: `database.${dbName}.migration.uri`,
54
+ type: 'string',
55
+ required: true,
56
+ default: defaultBase,
57
+ needFor: `${titleBase}: строка подключения для миграций (без pgbouncer)`,
58
+ scopes: ['back', 'worker', 'telegramBot'],
59
+ hidden: true,
60
+ editable: false,
61
+ },
62
+ ];
63
+ };
64
+ exports.buildConfigVarsForAdditionalDatabase = buildConfigVarsForAdditionalDatabase;
65
+ const databaseNameToEnvSuffix = (dbName) => dbName.replace(/([A-Z])/gu, '_$1').replace(/^_/, '').toUpperCase();
66
+ exports.databaseNameToEnvSuffix = databaseNameToEnvSuffix;
67
+ const prismaDatasourceWriteEnvVar = (database) => database === 'main'
68
+ ? 'DATABASE_MAIN_WRITE_URI'
69
+ : `DATABASE_${(0, exports.databaseNameToEnvSuffix)(database)}_WRITE_URI`;
70
+ exports.prismaDatasourceWriteEnvVar = prismaDatasourceWriteEnvVar;
71
+ const prismaDatasourceMigrationEnvVar = (database) => database === 'main'
72
+ ? 'DATABASE_MAIN_MIGRATION_URI'
73
+ : `DATABASE_${(0, exports.databaseNameToEnvSuffix)(database)}_MIGRATION_URI`;
74
+ exports.prismaDatasourceMigrationEnvVar = prismaDatasourceMigrationEnvVar;
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2VNZXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi91dGlscy9kYXRhYmFzZU1ldGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQXFDO0FBSXJDLE1BQU0sdUJBQXVCLEdBQUcscUJBQXFCLENBQUE7QUFFOUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLFVBQWtCLEVBQVUsRUFBRSxDQUNwRSxVQUFVLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUEsdUJBQVMsRUFBQyxVQUFVLENBQUMsQ0FBQTtBQUQvQyxRQUFBLHVCQUF1QiwyQkFDd0I7QUFFckQsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLElBQVksRUFBUSxFQUFFO0lBQy9ELElBQUksSUFBSSxLQUFLLE1BQU0sRUFBRTtRQUNuQixPQUFNO0tBQ1A7SUFDRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQ2IsMEJBQTBCLElBQUksc0RBQXNELHVCQUF1QixHQUFHLENBQy9HLENBQUE7S0FDRjtBQUNILENBQUMsQ0FBQTtBQVRZLFFBQUEsMEJBQTBCLDhCQVN0QztBQUVELDBGQUEwRjtBQUNuRixNQUFNLG9DQUFvQyxHQUFHLENBQ2xELE1BQWMsRUFDRCxFQUFFO0lBQ2YsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLE1BQU0sR0FBRyxDQUFBO0lBQzNDLE1BQU0sV0FBVyxHQUFHLGlEQUFpRCxJQUFBLCtCQUF1QixFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUE7SUFDdEcsT0FBTztRQUNMO1lBQ0UsSUFBSSxFQUFFLFlBQVksTUFBTSxZQUFZO1lBQ3BDLElBQUksRUFBRSxRQUFpQjtZQUN2QixRQUFRLEVBQUUsSUFBSTtZQUNkLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLE9BQU8sRUFBRSxHQUFHLFNBQVMsaUNBQWlDO1lBQ3RELE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDO1lBQ3pDLE1BQU0sRUFBRSxJQUFJO1lBQ1osUUFBUSxFQUFFLEtBQUs7U0FDaEI7UUFDRDtZQUNFLElBQUksRUFBRSxZQUFZLE1BQU0sZUFBZTtZQUN2QyxJQUFJLEVBQUUsUUFBaUI7WUFDdkIsUUFBUSxFQUFFLEtBQUs7WUFDZixPQUFPLEVBQUUsV0FBVztZQUNwQixPQUFPLEVBQUUsR0FBRyxTQUFTLHdDQUF3QztZQUM3RCxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQztZQUN6QyxNQUFNLEVBQUUsSUFBSTtZQUNaLFFBQVEsRUFBRSxLQUFLO1NBQ2hCO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsWUFBWSxNQUFNLG1CQUFtQjtZQUMzQyxJQUFJLEVBQUUsTUFBZTtZQUNyQixRQUFRLEVBQUUsSUFBSTtZQUNkLE9BQU8sRUFBRSxLQUFLO1lBQ2QsT0FBTyxFQUFFLEdBQUcsU0FBUyxnREFBZ0Q7WUFDckUsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUM7WUFDekMsTUFBTSxFQUFFLEtBQUs7WUFDYixRQUFRLEVBQUUsSUFBSTtTQUNmO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsWUFBWSxNQUFNLGdCQUFnQjtZQUN4QyxJQUFJLEVBQUUsUUFBaUI7WUFDdkIsUUFBUSxFQUFFLElBQUk7WUFDZCxPQUFPLEVBQUUsV0FBVztZQUNwQixPQUFPLEVBQUUsR0FBRyxTQUFTLG1EQUFtRDtZQUN4RSxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQztZQUN6QyxNQUFNLEVBQUUsSUFBSTtZQUNaLFFBQVEsRUFBRSxLQUFLO1NBQ2hCO0tBQ3dCLENBQUE7QUFDN0IsQ0FBQyxDQUFBO0FBL0NZLFFBQUEsb0NBQW9DLHdDQStDaEQ7QUFFTSxNQUFNLHVCQUF1QixHQUFHLENBQUMsTUFBYyxFQUFVLEVBQUUsQ0FDaEUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtBQUR2RCxRQUFBLHVCQUF1QiwyQkFDZ0M7QUFFN0QsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLFFBQWdCLEVBQVUsRUFBRSxDQUN0RSxRQUFRLEtBQUssTUFBTTtJQUNqQixDQUFDLENBQUMseUJBQXlCO0lBQzNCLENBQUMsQ0FBQyxZQUFZLElBQUEsK0JBQXVCLEVBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQTtBQUhsRCxRQUFBLDJCQUEyQiwrQkFHdUI7QUFFeEQsTUFBTSwrQkFBK0IsR0FBRyxDQUFDLFFBQWdCLEVBQVUsRUFBRSxDQUMxRSxRQUFRLEtBQUssTUFBTTtJQUNqQixDQUFDLENBQUMsNkJBQTZCO0lBQy9CLENBQUMsQ0FBQyxZQUFZLElBQUEsK0JBQXVCLEVBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFBO0FBSHRELFFBQUEsK0JBQStCLG1DQUd1QiJ9
@@ -48,6 +48,7 @@ declare abstract class BaseSavableEntityBuilder extends BaseBuilder implements M
48
48
  }>;
49
49
  externalSearchName: string | undefined;
50
50
  sharded: boolean;
51
+ database: string;
51
52
  isExternalSearch: boolean;
52
53
  clearDBAfter: {
53
54
  count: number;
@@ -126,6 +127,7 @@ declare abstract class BaseSavableEntityBuilder extends BaseBuilder implements M
126
127
  setDevPredefinedElements(fields: Record<string, any>[]): void;
127
128
  setMultitenancy(multitenancy: Multitenancy, commonElementsVisibleToAll?: boolean): void;
128
129
  setSharded(value?: boolean): this;
130
+ setDatabase(name: string): this;
129
131
  setIsExternalTable(): this;
130
132
  setClearDBAfter(count: number, unit: DateUnit): this;
131
133
  setAllowedToChange(value?: string): this;
@@ -46,6 +46,7 @@ declare class SystemMetaBuilder implements MethodsModelsHolder {
46
46
  protected outputModels: BaseModelBuilder[];
47
47
  labels: string[];
48
48
  additionalServices: AdditionalServiceBuilder[];
49
+ private readonly registeredDatabaseNames;
49
50
  name: string;
50
51
  prefix: string;
51
52
  needFor?: string;
@@ -94,6 +95,7 @@ declare class SystemMetaBuilder implements MethodsModelsHolder {
94
95
  addExternalMenuItem(label: string, url: string): ExternalMenuItemBuilder;
95
96
  addExternalEnvMenuItem(label: string, env: string): ExternalEnvMenuItemBuilder;
96
97
  getBack(): DeploymentBuilder;
98
+ addDatabase(name: string): this;
97
99
  getDocuments(): EntityBuilderWithOptions<DocumentBuilder>[];
98
100
  addDocument(name: string, title?: {
99
101
  singular?: string;