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
@@ -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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
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.genClickHouseJobsTmpl = exports.genClickHouseJobsDataTmpl = void 0;
27
+ const R = __importStar(require("ramda"));
28
+ const cases_1 = require("../../../../../utils/cases");
29
+ const types_1 = require("../../../../types");
30
+ const getGroupedByType = (e) => e.fields.reduce((acc, field) => {
31
+ const isIdField = ['id', 'link'].includes(field.category);
32
+ let type = isIdField ? 'keyword' : field.type;
33
+ if (type === 'datetime') {
34
+ type = 'date';
35
+ }
36
+ if (!R.is(Array, acc[type])) {
37
+ acc[type] = [];
38
+ }
39
+ acc[type].push(field.name);
40
+ return acc;
41
+ }, {});
42
+ const getConstructor = (g) => {
43
+ switch (g) {
44
+ case 'keyword':
45
+ return 'keywordFields';
46
+ case 'datetime':
47
+ case 'date':
48
+ return 'dateFields';
49
+ case 'bool':
50
+ return 'booleanFields';
51
+ case 'int':
52
+ return 'integerFields';
53
+ case 'string':
54
+ return 'textFields';
55
+ default:
56
+ throw new Error(`Unknown group identifier ${g}`);
57
+ }
58
+ };
59
+ const getUsedUtilsImports = (entities) => {
60
+ const used = new Set();
61
+ for (const entity of entities) {
62
+ for (const type of Object.keys(getGroupedByType(entity))) {
63
+ used.add(getConstructor(type));
64
+ }
65
+ }
66
+ return [...used].sort();
67
+ };
68
+ const genJobsBlankTmpl = (_options = types_1.defaultBootstrapEntityOptions) => {
69
+ return `import {ClickHouseJobs} from './type';
70
+
71
+ export const genJobs: ClickHouseJobs = {};
72
+ `;
73
+ };
74
+ const genClickHouseJobsDataTmpl = (entities, _options = types_1.defaultBootstrapEntityOptions) => {
75
+ const utilsImports = getUsedUtilsImports(entities);
76
+ const utilsImportLine = utilsImports.length > 0
77
+ ? `import {${utilsImports.join(', ')}} from './utils';\n`
78
+ : '';
79
+ return `import Entity from '../../types/Entity';
80
+ ${utilsImportLine}import {ClickHouseJobs} from './type';
81
+
82
+ export const genJobs: ClickHouseJobs = {
83
+ ${entities.map((e) => `[Entity.${(0, cases_1.pascalSingular)(e.name)}]: {
84
+ ${Object.entries(getGroupedByType(e)).map(([type, fields]) => `...${getConstructor(type)}([
85
+ ${fields.map(f => `'${f}',`).join('\n ')}
86
+ ]),`).join('\n ')}
87
+ },`).join('\n ')}
88
+ };
89
+ `;
90
+ };
91
+ exports.genClickHouseJobsDataTmpl = genClickHouseJobsDataTmpl;
92
+ const genClickHouseJobsTmpl = (entities, options = types_1.defaultBootstrapEntityOptions) => entities.length ? (0, exports.genClickHouseJobsDataTmpl)(entities, options) : genJobsBlankTmpl(options);
93
+ exports.genClickHouseJobsTmpl = genClickHouseJobsTmpl;
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9icy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vZ2VuZXJhdG9ycy9maWxlVGVtcGxhdGVzL2JhY2svY2xpY2tob3VzZS9qb2JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EseUNBQTBCO0FBQzFCLHNEQUEwRDtBQUMxRCw2Q0FBZ0U7QUFJaEUsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQWdCLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQ3BGLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDekQsSUFBSSxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUE7SUFFN0MsSUFBSSxJQUFJLEtBQUssVUFBVSxFQUFFO1FBQ3ZCLElBQUksR0FBRyxNQUFNLENBQUE7S0FDZDtJQUVELElBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRTtRQUMxQixHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFBO0tBQ2Y7SUFFQSxHQUFHLENBQUMsSUFBSSxDQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUV4QyxPQUFPLEdBQUcsQ0FBQTtBQUNaLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUVOLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUU7SUFDbkMsUUFBUSxDQUFDLEVBQUU7UUFDVCxLQUFLLFNBQVM7WUFDWixPQUFPLGVB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
@@ -56,6 +56,15 @@ const getConstructor = (g) => {
56
56
  throw new Error(`Unknown group identifier ${g}`);
57
57
  }
58
58
  };
59
+ const getUsedUtilsImports = (entities) => {
60
+ const used = new Set();
61
+ for (const entity of entities) {
62
+ for (const type of Object.keys(getGroupedByType(entity))) {
63
+ used.add(getConstructor(type));
64
+ }
65
+ }
66
+ return [...used].sort();
67
+ };
59
68
  const genJobsBlankTmpl = (_options = types_1.defaultBootstrapEntityOptions) => {
60
69
  return `import {ElasticJobs} from './type';
61
70
 
@@ -63,9 +72,12 @@ export const genJobs: ElasticJobs = {};
63
72
  `;
64
73
  };
65
74
  const genJobsDataTmpl = (entities, _options = types_1.defaultBootstrapEntityOptions) => {
75
+ const utilsImports = getUsedUtilsImports(entities);
76
+ const utilsImportLine = utilsImports.length > 0
77
+ ? `import {${utilsImports.join(', ')}} from './utils';\n`
78
+ : '';
66
79
  return `import Entity from '../../types/Entity';
67
- import {textFields, keywordFields, integerFields, dateFields, booleanFields} from './utils';
68
- import {ElasticJobs} from './type';
80
+ ${utilsImportLine}import {ElasticJobs} from './type';
69
81
 
70
82
  export const genJobs: ElasticJobs = {
71
83
  ${entities.map((e) => `[Entity.${(0, cases_1.pascalSingular)(e.name)}]: {
@@ -79,4 +91,4 @@ export const genJobs: ElasticJobs = {
79
91
  exports.genJobsDataTmpl = genJobsDataTmpl;
80
92
  const genJobsTmpl = (entities, options = types_1.defaultBootstrapEntityOptions) => entities.length ? (0, exports.genJobsDataTmpl)(entities, options) : genJobsBlankTmpl(options);
81
93
  exports.genJobsTmpl = genJobsTmpl;
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9icy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vZ2VuZXJhdG9ycy9maWxlVGVtcGxhdGVzL2JhY2svZWxhc3RpYy9qb2JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EseUNBQTBCO0FBQzFCLHNEQUEwRDtBQUMxRCw2Q0FBZ0U7QUFJaEUsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQWdCLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQ3BGLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDekQsSUFBSSxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUE7SUFFN0MsSUFBSSxJQUFJLEtBQUssVUFBVSxFQUFFO1FBQ3ZCLElBQUksR0FBRyxNQUFNLENBQUE7S0FDZDtJQUVELElBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRTtRQUMxQixHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFBO0tBQ2Y7SUFFQSxHQUFHLENBQUMsSUFBSSxDQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUV4QyxPQUFPLEdBQUcsQ0FBQTtBQUNaLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUVOLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUU7SUFDbkMsUUFBUSxDQUFDLEVBQUU7UUFDVCxLQUFLLFNBQVM7WUFDWixPQUFPLGVBQWUsQ0FBQTtRQUN4QixLQUFLLFVBQVUsQ0FBQztRQUNoQixLQUFLLE1BQU07WUFDVCxPQUFPLFlBQVksQ0FBQTtRQUNyQixLQUFLLE1BQU07WUFDVCxPQUFPLGVBQWUsQ0FBQTtRQUN4QixLQUFLLEtBQUs7WUFDUixPQUFPLGVBQWUsQ0FBQTtRQUN4QixLQUFLLFFBQVE7WUFDWCxPQUFPLFlBQVksQ0FBQTtRQUNyQjtZQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsRUFBRSxDQUFDLENBQUE7S0FDbkQ7QUFDSCxDQUFDLENBQUE7QUFFRCxNQUFNLGdCQUFnQixHQUFHLENBQUMsUUFBUSxHQUFHLHFDQUE2QixFQUFFLEVBQUU7SUFDcEUsT0FBTzs7O0NBR1IsQ0FBQztBQUNGLENBQUMsQ0FBQTtBQUVNLE1BQU0sZUFBZSxHQUFHLENBQUMsUUFBa0IsRUFBRSxRQUFRLEdBQUcscUNBQTZCLEVBQUUsRUFBRTtJQUM5RixPQUFPOzs7OztJQUtMLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFdBQVcsSUFBQSxzQkFBYyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7TUFDbkQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUM7UUFDcEYsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzNDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0tBQ25CLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDOztDQUVsQixDQUFDO0FBQ0YsQ0FBQyxDQUFBO0FBYlksUUFBQSxlQUFlLG1CQWEzQjtBQUVNLE1BQU0sV0FBVyxHQUFHLENBQUMsUUFBa0IsRUFBRSxPQUFPLEdBQUcscUNBQTZCLEVBQUUsRUFBRSxDQUN6RixRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFBLHVCQUFlLEVBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQURyRSxRQUFBLFdBQVcsZUFDMEQifQ==
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9icy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vZ2VuZXJhdG9ycy9maWxlVGVtcGxhdGVzL2JhY2svZWxhc3RpYy9qb2JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EseUNBQTBCO0FBQzFCLHNEQUEwRDtBQUMxRCw2Q0FBZ0U7QUFJaEUsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQWdCLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQ3BGLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDekQsSUFBSSxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUE7SUFFN0MsSUFBSSxJQUFJLEtBQUssVUFBVSxFQUFFO1FBQ3ZCLElBQUksR0FBRyxNQUFNLENBQUE7S0FDZDtJQUVELElBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRTtRQUMxQixHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFBO0tBQ2Y7SUFFQSxHQUFHLENBQUMsSUFBSSxDQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUV4QyxPQUFPLEdBQUcsQ0FBQTtBQUNaLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUVOLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUU7SUFDbkMsUUFBUSxDQUFDLEVBQUU7UUFDVCxLQUFLLFNBQVM7WUFDWixPQUFPLGVBQWUs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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
@@ -4,6 +4,7 @@ exports.prismaServiceBaseClassTmpl = void 0;
4
4
  const cases_1 = require("../../../../../../utils/cases");
5
5
  const pluralize_1 = require("pluralize");
6
6
  const utils_1 = require("../../../../../utils");
7
+ const storage_1 = require("../../../../../builders/storage");
7
8
  const prismaServiceBaseClassTmpl = ({ entity, }) => {
8
9
  const contextName = 'Context';
9
10
  const forbiddenForUserFields = entity.fields.filter((f) => !f.updatableByUser && f.name !== 'search');
@@ -11,44 +12,48 @@ const prismaServiceBaseClassTmpl = ({ entity, }) => {
11
12
  const getDefaultableFields = () => entity.fields
12
13
  .filter((f) => f.defaultBackendValueExpression)
13
14
  .filter((f) => !f.hidden);
14
- const isSharded = entity.sharded;
15
- const isExternalSearch = entity.externalSearch;
15
+ const isSharded = entity.sharded && entity.database === 'main';
16
+ const prismaCtxKey = entity.database === 'main' ? 'prisma' : `prisma${(0, cases_1.pascal)(entity.database)}`;
17
+ const storage = entity.storage;
18
+ const isHybridExternalSearch = (0, storage_1.isStorageExternalSearch)(storage);
19
+ const searchPrefix = (0, storage_1.getSearchServicePrefix)(storage);
16
20
  const isDocument = entity.type === 'document';
17
21
  const isSumRegistry = entity.type === 'sumRegistry';
18
22
  const isInfoRegistry = entity.type === 'infoRegistry';
19
23
  const isClearFromDB = entity.clearDBAfter.length > 0;
20
- const isPrismaDelegatable = !entity.elasticOnly && !isSharded;
24
+ const isPrismaDelegatable = (0, storage_1.usesPrismaDelegate)(storage) && !isSharded;
25
+ const isExternalStoreOnly = (0, storage_1.isStorageElasticOnly)(storage) || (0, storage_1.isStorageClickHouseOnly)(storage);
21
26
  let extendedType = 'BaseService';
22
- if (isExternalSearch) {
23
- extendedType = 'ElasticBaseSearch';
27
+ if (isHybridExternalSearch && searchPrefix) {
28
+ extendedType = `${searchPrefix}BaseSearch`;
24
29
  }
25
30
  if (isSharded) {
26
31
  extendedType = 'ShardsService';
27
32
  }
28
33
  if (isDocument) {
29
34
  extendedType = 'DocumentBaseService';
30
- if (isExternalSearch) {
31
- extendedType = 'ElasticDocumentBaseService';
35
+ if (isHybridExternalSearch && searchPrefix) {
36
+ extendedType = `${searchPrefix}DocumentBaseService`;
32
37
  }
33
38
  }
34
39
  if (isSumRegistry) {
35
40
  extendedType = 'SumRegistryService';
36
- if (isExternalSearch) {
37
- extendedType = 'ElasticSumRegistryService';
41
+ if (isHybridExternalSearch && searchPrefix) {
42
+ extendedType = `${searchPrefix}SumRegistryService`;
38
43
  }
39
44
  }
40
45
  if (isInfoRegistry) {
41
46
  extendedType = 'InfoRegistryService';
42
- if (isExternalSearch) {
43
- extendedType = 'ElasticInfoRegistryService';
47
+ if (isHybridExternalSearch && searchPrefix) {
48
+ extendedType = `${searchPrefix}InfoRegistryService`;
44
49
  }
45
50
  }
46
51
  if (isSharded) {
47
52
  extendedType = 'ShardsService';
48
- if (isExternalSearch) {
49
- extendedType = 'ElasticShardsService';
53
+ if (isHybridExternalSearch && searchPrefix) {
54
+ extendedType = `${searchPrefix}ShardsService`;
50
55
  if (isClearFromDB) {
51
- extendedType = 'ElasticClearDBShardsService';
56
+ extendedType = `${searchPrefix}ClearDBShardsService`;
52
57
  }
53
58
  }
54
59
  if (isDocument) {
@@ -58,9 +63,12 @@ const prismaServiceBaseClassTmpl = ({ entity, }) => {
58
63
  }
59
64
  }
60
65
  }
61
- if (entity.elasticOnly) {
66
+ if ((0, storage_1.isStorageElasticOnly)(storage)) {
62
67
  extendedType = 'ElasticOnlyService';
63
68
  }
69
+ if ((0, storage_1.isStorageClickHouseOnly)(storage)) {
70
+ extendedType = 'ClickHouseOnlyService';
71
+ }
64
72
  const additionalImports = [];
65
73
  let registries = '';
66
74
  if (isDocument) {
@@ -77,7 +85,10 @@ export interface ${(0, cases_1.pascalSingular)(document.name)}RegistryEntries {$
77
85
  `;
78
86
  }
79
87
  if (isPrismaDelegatable) {
80
- additionalImports.push('import {Prisma} from \'@prisma/client\';');
88
+ const prismaMod = entity.database === 'main'
89
+ ? '@prisma/client'
90
+ : `../../../../prisma/databases/${entity.database}/client`;
91
+ additionalImports.push(`import {Prisma} from '${prismaMod}';`);
81
92
  }
82
93
  const serviceName = `${(0, cases_1.pascal)(entity.name)}Service`;
83
94
  return `import {
@@ -85,7 +96,7 @@ export interface ${(0, cases_1.pascalSingular)(document.name)}RegistryEntries {$
85
96
  MutationUpdate${(0, cases_1.pascalSingular)(entity.name)}Args,
86
97
  MutationRemove${(0, cases_1.pascalSingular)(entity.name)}Args,
87
98
  QueryAll${(0, cases_1.pascalPlural)(entity.name)}Args,
88
- ${(0, cases_1.pascalSingular)(entity.name)},${isExternalSearch ? `
99
+ ${(0, cases_1.pascalSingular)(entity.name)},${isHybridExternalSearch ? `
89
100
  External${(0, cases_1.pascal)(entity.name)}SearchTracking,` : ''}
90
101
  } from '../../../generated/graphql';
91
102
  import {${contextName}} from '../types';
@@ -139,7 +150,7 @@ export class ${serviceName} extends ${extendedType}<
139
150
  QueryAll${(0, cases_1.pascalPlural)(entity.name)}Args,
140
151
  Autodefinable${(0, cases_1.pascalSingular)(entity.name)}Keys,
141
152
  ForbidenForUser${(0, cases_1.pascalSingular)(entity.name)}Keys,
142
- RequiredDbNotUser${(0, cases_1.pascalSingular)(entity.name)}Keys${isExternalSearch ? `,
153
+ RequiredDbNotUser${(0, cases_1.pascalSingular)(entity.name)}Keys${isHybridExternalSearch ? `,
143
154
  External${(0, cases_1.pascal)(entity.name)}SearchTracking` : ''}${isDocument ? `,
144
155
  ${(0, cases_1.pascalSingular)(entity.name)}RegistryEntries` : ''}${isPrismaDelegatable ? `,
145
156
  Prisma.${(0, cases_1.pascalSingular)(entity.name)}Delegate<any>` : ''}
@@ -148,7 +159,7 @@ export class ${serviceName} extends ${extendedType}<
148
159
 
149
160
  constructor(public override ctx: Context) {
150
161
  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);
162
+ : isExternalStoreOnly ? '' : ` ctx.${prismaCtxKey}.${(0, cases_1.camelSingular)(entity.name)},${isHybridExternalSearch ? ` ctx.${prismaCtxKey}.external${(0, cases_1.pascal)(entity.name)}SearchTracking,` : ''}`} config);
152
163
  initBuiltInHooks(this);
153
164
  initUserHooks(this);${getDefaultableFields().length > 0 ? `
154
165
 
@@ -178,4 +189,4 @@ ${(0, utils_1.pad)(4)(getDefaultableFields()
178
189
  `;
179
190
  };
180
191
  exports.prismaServiceBaseClassTmpl = prismaServiceBaseClassTmpl;
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvZmlsZVRlbXBsYXRlcy9iYWNrL3NlcnZpY2VzL2VudGl0eS9jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5REFLc0M7QUFDdEMseUNBQWtDO0FBRWxDLGdEQUFnRTtBQUd6RCxNQUFNLDBCQUEwQixHQUFHLENBQUMsRUFDekMsTUFBTSxHQUNtQixFQUFFLEVBQUU7SUFDN0IsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFBO0lBRTdCLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQ2pELENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLENBQ2pELENBQUE7SUFDRCxNQUFNLGdDQUFnQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUMzRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQzNELENBQUE7SUFFRCxNQUFNLG9CQUFvQixHQUFHLEdBQUcsRUFBRSxDQUNoQyxNQUFNLENBQUMsTUFBTTtTQUNWLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLDZCQUE2QixDQUFDO1NBQzlDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFN0IsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUNqQyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUM7SUFDL0MsTUFBTSxVQUFVLEdBQUcs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
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvZmlsZVRlbXBsYXRlcy9iYWNrL3NlcnZpY2VzL2VudGl0eS9jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5REFLc0M7QUFDdEMseUNBQWtDO0FBRWxDLGdEQUFnRTtBQUVoRSw2REFNd0M7QUFFakMsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLEVBQ3pDLE1BQU0sR0FDbUIsRUFBRSxFQUFFO0lBQzdCLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQTtJQUU3QixNQUFNLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUNqRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUNqRCxDQUFBO0lBQ0QsTUFBTSxnQ0FBZ0MsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FDM0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUMzRCxDQUFBO0lBRUQsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLEVBQUUsQ0FDaEMsTUFBTSxDQUFDLE1BQU07U0FDVixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyw2QkFBNkIsQ0FBQztTQUM5QyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBRTdCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUM7SUFDL0QsTUFBTSxZQUFZLEdBQ2hC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
@@ -29,6 +29,7 @@ const R = __importStar(require("ramda"));
29
29
  const metaUtils_1 = require("../../../../../metaUtils");
30
30
  const cases_1 = require("../../../../../../utils/cases");
31
31
  const utils_1 = require("../../../../../utils");
32
+ const storage_1 = require("../../../../../builders/storage");
32
33
  const arrToStr = (val) => R.trim((0, utils_1.pad)(1)(JSON.stringify(val, undefined, ' ').replaceAll('"', '\'')));
33
34
  const getStrNames = R.compose(arrToStr, R.map(R.path(['name'])));
34
35
  const autogeneratedStringId = (entity) => (0, metaUtils_1.getKeyField)(entity).autoGenerated && (0, metaUtils_1.getKeyField)(entity).type === 'string';
@@ -37,7 +38,7 @@ const configTmpl = ({ entity, options, }, allSumRegistries, allInfoRegistries) =
37
38
  const searchableFields = entity.fields.filter((f) => f.searchable);
38
39
  const dateFields = searchableFields.filter((f) => ['date', 'datetime'].includes(f.type));
39
40
  const notDateFields = searchableFields.filter((f) => !['date', 'datetime'].includes(f.type));
40
- const isSharded = entity.sharded;
41
+ const isSharded = entity.sharded && entity.database === 'main';
41
42
  const shardUniqKeys = entity.fields.filter(f => f.sharded).map(f => f.name);
42
43
  const isDocument = entity.type === 'document';
43
44
  const isInfoRegistry = entity.type === 'infoRegistry';
@@ -78,6 +79,10 @@ const configTmpl = ({ entity, options, }, allSumRegistries, allInfoRegistries) =
78
79
  }
79
80
  const registrarDependedRegistries = docRegistries.filter((r) => r.registrarDepended);
80
81
  const externalSearchDeps = registrarDependedRegistries.filter(r => r.externalSearchName).map((r) => [(0, pluralize_1.singular)(r.name), (0, pluralize_1.singular)(r.externalSearchName)]);
82
+ const storage = entity.storage;
83
+ const searchEngine = (0, storage_1.getSearchEngine)(storage);
84
+ const externalSearch = (0, storage_1.getConfigExternalSearch)(storage);
85
+ const searchEngineLiteral = searchEngine === null ? 'null' : `'${searchEngine}'`;
81
86
  return `import Entity from '../../../types/Entity';
82
87
  import {${configType}} from '../types';
83
88
 
@@ -86,7 +91,9 @@ const config: ${configType} = {
86
91
  autogeneratedStringId: ${autogeneratedStringId(entity)},
87
92
  auditable: ${entity.auditable},
88
93
  withSearch: ${!!entity.fields.find((f) => f.name === 'search')},
89
- externalSearch: ${entity.externalSearch},
94
+ storage: '${storage}',
95
+ searchEngine: ${searchEngineLiteral},
96
+ externalSearch: ${externalSearch},
90
97
  sharded: ${isSharded},
91
98
  dateFields: ${getStrNames(dateFields)},
92
99
  otherFields: ${getStrNames(notDateFields)},
@@ -109,4 +116,4 @@ export default config;
109
116
  `;
110
117
  };
111
118
  exports.configTmpl = configTmpl;
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9nZW5lcmF0b3JzL2ZpbGVUZW1wbGF0ZXMvYmFjay9zZXJ2aWNlcy9lbnRpdHkvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUNBQWtDO0FBQ2xDLHlDQUEwQjtBQUkxQix3REFBb0Q7QUFDcEQseURBQTJFO0FBQzNFLGdEQUF3QztBQUV4QyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFBLFdBQUcsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDekcsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFFaEUsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFLENBQy9DLElBQUEsdUJBQVcsRUFBQyxNQUFNLENBQUMsQ0FBQyxhQUFhLElBQUksSUFBQSx1QkFBVyxFQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUE7QUFFckUsTUFBTSxVQUFVLEdBQUcsQ0FBQyxFQUN6QixNQUFNLEVBQ04sT0FBTyxHQUNrQixFQUN6QixnQkFBMEMsRUFDMUMsaUJBQTRDLEVBQzVDLEVBQUU7SUFDRixNQUFNLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUNqRCxDQUFDLENBQUMsRUFBRSxFQUFF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
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9nZW5lcmF0b3JzL2ZpbGVUZW1wbGF0ZXMvYmFjay9zZXJ2aWNlcy9lbnRpdHkvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUNBQWtDO0FBQ2xDLHlDQUEwQjtBQUkxQix3REFBb0Q7QUFDcEQseURBQTJFO0FBQzNFLGdEQUF3QztBQUN4Qyw2REFBd0Y7QUFFeEYsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBQSxXQUFHLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ3pHLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBRWhFLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUMvQyxJQUFBLHVCQUFXLEVBQUMsTUFBTSxDQUFDLENBQUMsYUFBYSxJQUFJLElBQUEsdUJBQVcsRUFBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFBO0FBRXJFLE1BQU0sVUFBVSxHQUFHLENBQUMsRUFDekIsTUFBTSxFQUNOLE9BQU8sR0FDa0IsRUFDekIsZ0JBQTBDLEVBQzFDLGlCQUE0QyxFQUM1QyxFQUFFO0lBQ0YsTUFBTSxzQkFBc0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FDakQsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FDakQsQ0FBQTtJQUVELE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsRSxNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUMvQyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUN0QyxDQUFBO0lBQ0QsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUMzQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUM5QyxDQUFBO0lBRUQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLE1BQU0sQ0FBQTtJQUM5RCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDM0UsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUE7SUFDN0MsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUE7SUFFckQsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBRXJELElBQUksVUFBVSxHQUFHLGVBQWUsQ0FBQTtJQUNoQyxJQUFJLFNBQVMsRUFBRTtRQUNiLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQTtLQUNsQztJQUNELElBQUksVUFBVSxFQUFFO1FBQ2QsVUFBVSxHQUFHLGdCQUFnQixDQUFBO1FBQzdCLElBQUksU0FBUyxFQUFFO1lBQ2IsVUFBVSxHQUFHLHFCQUFxQixDQUFBO1NBQ25DO0tBQ0Y7U0FBTSxJQUFJLGNBQWMsRUFBRTtRQUN6QixVQUFVLEdBQUcsb0JBQW9CLENBQUE7UUFDakMsSUFBSSxTQUFTLEVBQUU7WUFDYixVQUFVLEdBQUcseUJBQXlCLENBQUE7U0FDdkM7S0FDRjtJQUVELElBQUksYUFBYSxHQUFzQyxFQUFFLENBQUM7SUFDMUQsSUFBSSxVQUFVLEVBQUU7UUFDZCxNQUFNLFFBQVEsR0FBRyxNQUFrQixDQUFDO1FBRXBDLGFBQWEsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzVDLE1BQU0sV0FBVyxHQUFHLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUUzQyxJQUFJLFdBQVcsRUFBRTtnQkFDZixPQUFPLFdBQVcsQ0FBQTthQUNuQjtZQUVELE1BQU0sWUFBWSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUU3QyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFBO2FBQy9DO1lBRUQsT0FBTyxZQUFZLENBQUE7UUFDckIsQ0FBQyxDQUFDLENBQUE7UUFFRixJQUFJLElBQUEsb0JBQVEsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBQSxxQkFBYSxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN4RCxPQUFPLENBQUMsR0FBRyxDQUFDLHlDQUF5QyxJQUFBLG9CQUFRLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsSUFBQSxxQkFBYSxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7U0FDMUg7S0FDRjtJQUVELE1BQU0sMkJBQTJCLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDckYsTUFBTSxrQkFBa0IsR0FBRywyQkFBMkIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBQSxvQkFBUSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFBLG9CQUFRLEVBQUMsQ0FBQyxDQUFDLGtCQUE0QixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xLLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFDL0IsTUFBTSxZQUFZLEdBQUcsSUFBQSx5QkFBZSxFQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLE1BQU0sY0FBYyxHQUFHLElBQUEsaUNBQXVCLEVBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEQsTUFBTSxtQkFBbUIsR0FBRyxZQUFZLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxHQUFHLENBQUM7SUFFakYsT0FBTztVQUNDLFVBQVU7O2dCQUVKLFVBQVU7YUFDYixJQUFBLHVCQUFXLEVBQUMsTUFBTSxDQUFDLENBQUMsSUFBSTsyQkFDVixxQkFBcUIsQ0FBQyxNQUFNLENBQUM7ZUFDekMsTUFBTSxDQUFDLFNBQVM7Z0JBQ2YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQztjQUNsRCxPQUFPO2tCQUNILG1CQUFtQjtvQkFDakIsY0FBYzthQUNyQixTQUFTO2dCQUNOLFdBQVcsQ0FBQyxVQUFVLENBQUM7aUJBQ3RCLFdBQVcsQ0FBQyxhQUFhLENBQUM7NEJBQ2YsV0FBVyxDQUFDLHNCQUFzQixDQUFDO3lCQUN0QyxJQUFBLHNCQUFjLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JELFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBQSxvQkFBUSxFQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7aUNBQ2hELFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUEsb0JBQVEsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHO1FBQ2xHLENBQUMsQ0FBQyxFQUFFLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7O0VBRXpDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEdBQUcsT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFBLFdBQUcsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7S0FDakYsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUM7YUFDakIsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQztjQUNwQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUM7a0JBQzlDLFFBQVEsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7NkJBQzNELENBQUMsQ0FBQyxDQUFDLEVBQUU7ZUFDbkIsTUFBTSxDQUFDLFNBQVM7Ozs7Q0FJOUIsQ0FBQztBQUNGLENBQUMsQ0FBQTtBQXpHWSxRQUFBLFVBQVUsY0F5R3RCIn0=