runlify 0.0.783 → 0.0.787
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.
- package/build/projectsGeneration/builders/SystemMetaBuilder.js +7 -1
- package/build/projectsGeneration/commonEntities/addCommonCommands.js +22 -4
- package/build/projectsGeneration/generateProject/generateEnvironment.js +33 -16
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/clients/createPgPrismaClient.js +43 -0
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/clients/getPrisma.js +139 -20
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/init/prisma/writeClientPackageStubs.js +39 -0
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/class.js +7 -3
- package/build/projectsGeneration/generators/prisma/scheme/genPrismaConfig.js +34 -0
- package/build/projectsGeneration/generators/prisma/scheme/genPrismaConfig.spec.js +28 -0
- package/build/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntitiesWithClientAdnDb.js +28 -11
- package/build/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntitiesWithClientAdnDb.spec.js +99 -0
- package/build/projectsGeneration/utils/buildPrismaCommands.js +80 -0
- package/build/projectsGeneration/utils/buildPrismaCommands.spec.js +58 -0
- package/build/projectsGeneration/utils/detectPrismaMajorVersion.js +62 -0
- package/build/projectsGeneration/utils/detectPrismaMajorVersion.spec.js +51 -0
- package/build/types/projectsGeneration/builders/SystemMetaBuilder.d.ts +1 -0
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/src/clients/createPgPrismaClient.d.ts +1 -0
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/src/clients/getPrisma.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/src/init/prisma/writeClientPackageStubs.d.ts +2 -0
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/class.d.ts +1 -1
- package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaConfig.d.ts +13 -0
- package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaConfig.spec.d.ts +1 -0
- package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntitiesWithClientAdnDb.d.ts +3 -1
- package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntitiesWithClientAdnDb.spec.d.ts +1 -0
- package/build/types/projectsGeneration/utils/buildPrismaCommands.d.ts +11 -0
- package/build/types/projectsGeneration/utils/buildPrismaCommands.spec.d.ts +1 -0
- package/build/types/projectsGeneration/utils/detectPrismaMajorVersion.d.ts +2 -0
- package/build/types/projectsGeneration/utils/detectPrismaMajorVersion.spec.d.ts +1 -0
- package/package.json +9 -1
package/build/projectsGeneration/generators/fileTemplates/back/environment/src/clients/getPrisma.js
CHANGED
|
@@ -3,19 +3,65 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.prismaGetterTmpl = void 0;
|
|
4
4
|
const change_case_1 = require("change-case");
|
|
5
5
|
const cases_1 = require("../../../../../../../utils/cases");
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
|
|
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`);
|
|
6
|
+
const buildExtraGetter = (db, p7) => {
|
|
7
|
+
const p = (0, cases_1.pascal)(db);
|
|
8
|
+
const writeKey = (0, change_case_1.camelCase)(`database.${db}.write.uri`);
|
|
9
|
+
const readUriKey = (0, change_case_1.camelCase)(`database.${db}.readOnly.uri`);
|
|
10
|
+
const readEnabledKey = (0, change_case_1.camelCase)(`database.${db}.readOnly.enabled`);
|
|
11
|
+
if (p7) {
|
|
18
12
|
return `
|
|
13
|
+
const prisma${p}ByUri = new Map<string, PrismaClient${p}>();
|
|
14
|
+
|
|
15
|
+
export const getPrisma${p} = async (connectionType: 'write' | 'readOnly') => {
|
|
16
|
+
const {
|
|
17
|
+
${writeKey}: writeUri,
|
|
18
|
+
${readUriKey}: readOnlyUri,
|
|
19
|
+
${readEnabledKey}: readOnlyEnabled,
|
|
20
|
+
} = await getConfig();
|
|
21
|
+
|
|
22
|
+
let uri: string;
|
|
23
|
+
|
|
24
|
+
if (connectionType === 'write') {
|
|
25
|
+
uri = writeUri;
|
|
26
|
+
} else {
|
|
27
|
+
if (!readOnlyEnabled) {
|
|
28
|
+
const msg = 'Read only database connection cannot be used with the database.${db}.readOnly.enabled is not true';
|
|
29
|
+
return new Proxy({} as any, {
|
|
30
|
+
get(_target: PrismaClient${p}, property: string | symbol) {
|
|
31
|
+
if (property === 'then') {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
if (property === '$disconnect') {
|
|
35
|
+
return () => log.info('noop $disconnect');
|
|
36
|
+
}
|
|
37
|
+
log.error(\`getPrisma${p}: \${property.toString()}\`);
|
|
38
|
+
log.error(msg);
|
|
39
|
+
throw new Error(msg);
|
|
40
|
+
},
|
|
41
|
+
apply: () => {
|
|
42
|
+
log.error('apply');
|
|
43
|
+
log.error(msg);
|
|
44
|
+
throw new Error(msg);
|
|
45
|
+
},
|
|
46
|
+
}) as PrismaClient${p};
|
|
47
|
+
}
|
|
48
|
+
if (!readOnlyUri) {
|
|
49
|
+
throw new Error('database.${db}.readOnly.uri must be set');
|
|
50
|
+
}
|
|
51
|
+
uri = readOnlyUri;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
let prisma${p} = prisma${p}ByUri.get(uri);
|
|
55
|
+
if (!prisma${p}) {
|
|
56
|
+
prisma${p} = createPgPrismaClient(PrismaClient${p}, uri);
|
|
57
|
+
prisma${p}ByUri.set(uri, prisma${p});
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return prisma${p};
|
|
61
|
+
};
|
|
62
|
+
`;
|
|
63
|
+
}
|
|
64
|
+
return `
|
|
19
65
|
let prisma${p}: PrismaClient${p} | null = null;
|
|
20
66
|
|
|
21
67
|
export const getPrisma${p} = async (connectionType: 'write' | 'readOnly') => {
|
|
@@ -70,13 +116,74 @@ export const getPrisma${p} = async (connectionType: 'write' | 'readOnly') => {
|
|
|
70
116
|
return prisma${p};
|
|
71
117
|
};
|
|
72
118
|
`;
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
119
|
+
};
|
|
120
|
+
const prismaGetterTmpl = (args, prismaMajor) => {
|
|
121
|
+
const p7 = (prismaMajor !== null && prismaMajor !== void 0 ? prismaMajor : 6) >= 7;
|
|
122
|
+
const otherDbs = args.system.dataBases
|
|
123
|
+
.map((d) => d.name)
|
|
124
|
+
.filter((d) => d !== 'main');
|
|
125
|
+
const extraImports = otherDbs
|
|
126
|
+
.map((db) => `import {PrismaClient as PrismaClient${(0, cases_1.pascal)(db)}} from '${p7 ? `@prisma/${db}/client` : `../../prisma/databases/${db}/client`}';`)
|
|
127
|
+
.join('\n');
|
|
128
|
+
const extraGetters = otherDbs.map((db) => buildExtraGetter(db, p7)).join('');
|
|
129
|
+
const mainGetter = p7
|
|
130
|
+
? `
|
|
131
|
+
const prismaByUri = new Map<string, PrismaClient>();
|
|
132
|
+
|
|
133
|
+
export const getPrisma = async (connectionType: 'write' | 'readOnly') => {
|
|
134
|
+
const {
|
|
135
|
+
databaseMainWriteUri,
|
|
136
|
+
databaseMainReadOnlyUri,
|
|
137
|
+
databaseMainReadOnlyEnabled,
|
|
138
|
+
} = await getConfig();
|
|
139
|
+
|
|
140
|
+
let uri: string;
|
|
141
|
+
|
|
142
|
+
if (connectionType === 'write') {
|
|
143
|
+
uri = databaseMainWriteUri;
|
|
144
|
+
} else {
|
|
145
|
+
if (!databaseMainReadOnlyEnabled) {
|
|
146
|
+
const msg = 'Read only database connection cannot be used with the database.main.readOnly.enabled is not true';
|
|
147
|
+
return new Proxy({} as any, {
|
|
148
|
+
get(_target: PrismaClient, property: string | symbol) {
|
|
149
|
+
if (property === 'then') {
|
|
150
|
+
return undefined;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
if (property === '$disconnect') {
|
|
154
|
+
return () => log.info('noop $disconnect');
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
log.error(\`get: \${property.toString()}\`);
|
|
79
158
|
|
|
159
|
+
log.error(msg);
|
|
160
|
+
throw new Error(msg);
|
|
161
|
+
},
|
|
162
|
+
apply: () => {
|
|
163
|
+
log.error('apply');
|
|
164
|
+
log.error(msg);
|
|
165
|
+
throw new Error(msg);
|
|
166
|
+
},
|
|
167
|
+
}) as PrismaClient;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
if (!databaseMainReadOnlyUri) {
|
|
171
|
+
throw new Error('database.main.readOnly.uri must be set');
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
uri = databaseMainReadOnlyUri;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
let prisma = prismaByUri.get(uri);
|
|
178
|
+
if (!prisma) {
|
|
179
|
+
prisma = createPgPrismaClient(PrismaClient, uri);
|
|
180
|
+
prismaByUri.set(uri, prisma);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
return prisma;
|
|
184
|
+
};
|
|
185
|
+
`
|
|
186
|
+
: `
|
|
80
187
|
let prisma: PrismaClient | null = null;
|
|
81
188
|
|
|
82
189
|
export const getPrisma = async (connectionType: 'write' | 'readOnly') => {
|
|
@@ -137,8 +244,20 @@ export const getPrisma = async (connectionType: 'write' | 'readOnly') => {
|
|
|
137
244
|
|
|
138
245
|
return prisma;
|
|
139
246
|
};
|
|
140
|
-
|
|
247
|
+
`;
|
|
248
|
+
const p7Imports = p7
|
|
249
|
+
? `import {createPgPrismaClient} from './createPgPrismaClient';
|
|
250
|
+
`
|
|
251
|
+
: `import {addParamsToDatabaseUri} from '../utils/addParamsToPgUri';
|
|
252
|
+
`;
|
|
253
|
+
return `import {PrismaClient} from '@prisma/client';
|
|
254
|
+
${extraImports}
|
|
255
|
+
import {getConfig} from '../config';
|
|
256
|
+
import log from '../log';
|
|
257
|
+
${p7Imports}
|
|
258
|
+
${mainGetter}
|
|
259
|
+
${extraGetters}
|
|
141
260
|
`;
|
|
142
261
|
};
|
|
143
262
|
exports.prismaGetterTmpl = prismaGetterTmpl;
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
263
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0UHJpc21hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9nZW5lcmF0b3JzL2ZpbGVUZW1wbGF0ZXMvYmFjay9lbnZpcm9ubWVudC9zcmMvY2xpZW50cy9nZXRQcmlzbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQXFDO0FBQ3JDLDREQUF1RDtBQUd2RCxNQUFNLGdCQUFnQixHQUFHLENBQ3ZCLEVBQVUsRUFDVixFQUFXLEVBQ0gsRUFBRTtJQUNWLE1BQU0sQ0FBQyxHQUFHLElBQUEsY0FBTSxFQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ3BCLE1BQU0sUUFBUSxHQUFHLElBQUEsdUJBQVMsRUFBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUE7SUFDdEQsTUFBTSxVQUFVLEdBQUcsSUFBQSx1QkFBUyxFQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsQ0FBQTtJQUMzRCxNQUFNLGNBQWMsR0FBRyxJQUFBLHVCQUFTLEVBQUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDLENBQUE7SUFFbkUsSUFBSSxFQUFFLEVBQUU7UUFDTixPQUFPO2NBQ0csQ0FBQyx1Q0FBdUMsQ0FBQzs7d0JBRS9CLENBQUM7O01BRW5CLFFBQVE7TUFDUixVQUFVO01BQ1YsY0FBYzs7Ozs7Ozs7O29GQVNnRSxFQUFFOzttQ0FFbkQsQ0FBQzs7Ozs7OztpQ0FPSCxDQUFDOzs7Ozs7Ozs7MEJBU1IsQ0FBQzs7O2tDQUdPLEVBQUU7Ozs7O2NBS3RCLENBQUMsWUFBWSxDQUFDO2VBQ2IsQ0FBQztZQUNKLENBQUMsdUNBQXVDLENBQUM7WUFDekMsQ0FBQyx3QkFBd0IsQ0FBQzs7O2lCQUdyQixDQUFDOztDQUVqQixDQUFBO0tBQ0U7SUFFRCxPQUFPO1lBQ0csQ0FBQyxpQkFBaUIsQ0FBQzs7d0JBRVAsQ0FBQzs7TUFFbkIsUUFBUTtNQUNSLFVBQVU7TUFDVixjQUFjOzs7Ozs7Ozs7b0ZBU2dFLEVBQUU7O21DQUVuRCxDQUFDOzs7Ozs7O2lDQU9ILENBQUM7Ozs7Ozs7OzswQkFTUixDQUFDOzs7a0NBR08sRUFBRTs7Ozs7ZUFLckIsQ0FBQztZQUNKLENBQUMsc0JBQXNCLENBQUM7Ozs7Ozs7OztpQkFTbkIsQ0FBQzs7Q0FFakIsQ0FBQTtBQUNELENBQUMsQ0FBQTtBQUVNLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxJQUErQixFQUFFLFdBQW9CLEVBQUUsRUFBRTtJQUN4RixNQUFNLEVBQUUsR0FBRyxDQUFDLFdBQVcsYUFBWCxXQUFXLGNBQVgsV0FBVyxHQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVM7U0FDbkMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQ2xCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFBO0lBRTlCLE1BQU0sWUFBWSxHQUFHLFFBQVE7U0FDMUIsR0FBRyxDQUNGLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FDTCx1Q0FBdUMsSUFBQSxjQUFNLEVBQzNDLEVBQUUsQ0FDSCxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsMEJBQTBCLEVBQUUsU0FBUyxJQUFJLENBQ3RGO1NBQ0EsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBRWIsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRTVFLE1BQU0sVUFBVSxHQUFHLEVBQUU7UUFDbkIsQ0FBQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBdURMO1FBQ0csQ0FBQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBNkRMLENBQUE7SUFFQyxNQUFNLFNBQVMsR0FBRyxFQUFFO1FBQ2xCLENBQUMsQ0FBQztDQUNMO1FBQ0csQ0FBQyxDQUFDO0NBQ0wsQ0FBQTtJQUVDLE9BQU87RUFDUCxZQUFZOzs7RUFHWixTQUFTO0VBQ1QsVUFBVTtFQUNWLFlBQVk7Q0FDYixDQUFBO0FBQ0QsQ0FBQyxDQUFBO0FBdkpZLFFBQUEsZ0JBQWdCLG9CQXVKNUIifQ==
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.writeClientPackageStubsTmpl = void 0;
|
|
4
|
+
const writeClientPackageStubsTmpl = (args) => {
|
|
5
|
+
const extraDbs = args.system.dataBases
|
|
6
|
+
.map((d) => d.name)
|
|
7
|
+
.filter((d) => d !== 'main');
|
|
8
|
+
return `import {existsSync, writeFileSync} from 'node:fs';
|
|
9
|
+
import {join} from 'node:path';
|
|
10
|
+
|
|
11
|
+
const extraDatabases = ${JSON.stringify(extraDbs)};
|
|
12
|
+
|
|
13
|
+
const writeStub = (dir: string, packageName: string): void => {
|
|
14
|
+
const clientTs = join(dir, 'client.ts');
|
|
15
|
+
if (!existsSync(clientTs)) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
writeFileSync(
|
|
19
|
+
join(dir, 'package.json'),
|
|
20
|
+
JSON.stringify({name: packageName, types: './client.ts'}) + '\\n',
|
|
21
|
+
);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const shardsOnly = process.argv.includes('--shards-only');
|
|
25
|
+
|
|
26
|
+
if (shardsOnly) {
|
|
27
|
+
writeStub('prisma/shards/build', '@prisma/shards/build');
|
|
28
|
+
} else {
|
|
29
|
+
for (const db of extraDatabases) {
|
|
30
|
+
writeStub(
|
|
31
|
+
join('prisma', 'databases', db, 'client'),
|
|
32
|
+
\`@prisma/\${db}/client\`,
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
`;
|
|
37
|
+
};
|
|
38
|
+
exports.writeClientPackageStubsTmpl = writeClientPackageStubsTmpl;
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGVDbGllbnRQYWNrYWdlU3R1YnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvZmlsZVRlbXBsYXRlcy9iYWNrL2Vudmlyb25tZW50L3NyYy9pbml0L3ByaXNtYS93cml0ZUNsaWVudFBhY2thZ2VTdHVicy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFTyxNQUFNLDJCQUEyQixHQUFHLENBQUMsSUFBK0IsRUFBVSxFQUFFO0lBQ3JGLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUztTQUNuQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDbEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUE7SUFFOUIsT0FBTzs7O3lCQUdnQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXlCaEQsQ0FBQTtBQUNELENBQUMsQ0FBQTtBQWxDWSxRQUFBLDJCQUEyQiwrQkFrQ3ZDIn0=
|
|
@@ -4,8 +4,9 @@ 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 detectPrismaMajorVersion_1 = require("../../../../../utils/detectPrismaMajorVersion");
|
|
7
8
|
const storage_1 = require("../../../../../builders/storage");
|
|
8
|
-
const prismaServiceBaseClassTmpl = ({ entity, }) => {
|
|
9
|
+
const prismaServiceBaseClassTmpl = ({ entity, options, }) => {
|
|
9
10
|
const contextName = 'Context';
|
|
10
11
|
const forbiddenForUserFields = entity.fields.filter((f) => !f.updatableByUser && f.name !== 'search');
|
|
11
12
|
const requiredForDbButNotForUserFields = entity.fields.filter((f) => f.required && !f.requiredOnInput && f.name !== 'id');
|
|
@@ -85,9 +86,12 @@ export interface ${(0, cases_1.pascalSingular)(document.name)}RegistryEntries {$
|
|
|
85
86
|
`;
|
|
86
87
|
}
|
|
87
88
|
if (isPrismaDelegatable) {
|
|
89
|
+
const isPrisma7 = (0, detectPrismaMajorVersion_1.detectPrismaMajorVersion)(options.detachedBackProject) >= 7;
|
|
88
90
|
const prismaMod = entity.database === 'main'
|
|
89
91
|
? '@prisma/client'
|
|
90
|
-
:
|
|
92
|
+
: isPrisma7
|
|
93
|
+
? `@prisma/${entity.database}/client`
|
|
94
|
+
: `../../../../prisma/databases/${entity.database}/client`;
|
|
91
95
|
additionalImports.push(`import {Prisma} from '${prismaMod}';`);
|
|
92
96
|
}
|
|
93
97
|
const serviceName = `${(0, cases_1.pascal)(entity.name)}Service`;
|
|
@@ -189,4 +193,4 @@ ${(0, utils_1.pad)(4)(getDefaultableFields()
|
|
|
189
193
|
`;
|
|
190
194
|
};
|
|
191
195
|
exports.prismaServiceBaseClassTmpl = prismaServiceBaseClassTmpl;
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvZmlsZVRlbXBsYXRlcy9iYWNrL3NlcnZpY2VzL2VudGl0eS9jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5REFLc0M7QUFDdEMseUNBQWtDO0FBRWxDLGdEQUFnRTtBQUVoRSw2REFNd0M7QUFFakMsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLEVBQ3pDLE1BQU0sR0FDbUIsRUFBRSxFQUFFO0lBQzdCLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQTtJQUU3QixNQUFNLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUNqRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUNqRCxDQUFBO0lBQ0QsTUFBTSxnQ0FBZ0MsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FDM0QsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUMzRCxDQUFBO0lBRUQsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLEVBQUUsQ0FDaEMsTUFBTSxDQUFDLE1BQU07U0FDVixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyw2QkFBNkIsQ0FBQztTQUM5QyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBRTdCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUM7SUFDL0QsTUFBTSxZQUFZLEdBQ2hC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
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvZmlsZVRlbXBsYXRlcy9iYWNrL3NlcnZpY2VzL2VudGl0eS9jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5REFLc0M7QUFDdEMseUNBQWtDO0FBRWxDLGdEQUFnRTtBQUVoRSw0RkFBc0Y7QUFDdEYsNkRBTXdDO0FBRWpDLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxFQUN6QyxNQUFNLEVBQ04sT0FBTyxHQUNrQixFQUFFLEVBQUU7SUFDN0IsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFBO0lBRTdCLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQ2pELENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLENBQ2pELENBQUE7SUFDRCxNQUFNLGdDQUFnQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUMzRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQyxlQUFlLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQzNELENBQUE7SUFFRCxNQUFNLG9CQUFvQixHQUFHLEdBQUcsRUFBRSxDQUNoQyxNQUFNLENBQUMsTUFBTTtTQUNWLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLDZCQUE2QixDQUFDO1NBQzlDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFN0IsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLE1BQU0sQ0FB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
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.extraDbMigrationEnvVar = exports.genShardsDeployPrismaConfig = exports.genShardsPrismaConfig = exports.genExtraDbDeployPrismaConfig = exports.genExtraDbPrismaConfig = exports.genMainDeployPrismaConfig = exports.genMainPrismaConfig = exports.genPrismaConfig = void 0;
|
|
4
|
+
const databaseMeta_1 = require("../../../utils/databaseMeta");
|
|
5
|
+
const genPrismaConfig = ({ schema, database }) => {
|
|
6
|
+
const migrationEnv = (0, databaseMeta_1.prismaDatasourceMigrationEnvVar)(database);
|
|
7
|
+
const defaultDb = (0, databaseMeta_1.postgresUrlDatabaseName)(database);
|
|
8
|
+
return `import {defineConfig} from 'prisma/config';
|
|
9
|
+
|
|
10
|
+
export default defineConfig({
|
|
11
|
+
schema: '${schema}',
|
|
12
|
+
datasource: {
|
|
13
|
+
url: process.env['${migrationEnv}'] ?? 'postgresql://postgres:password@localhost:5432/${defaultDb}',
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
`;
|
|
17
|
+
};
|
|
18
|
+
exports.genPrismaConfig = genPrismaConfig;
|
|
19
|
+
const genMainPrismaConfig = () => (0, exports.genPrismaConfig)({ schema: 'schema.prisma', database: 'main' });
|
|
20
|
+
exports.genMainPrismaConfig = genMainPrismaConfig;
|
|
21
|
+
const genMainDeployPrismaConfig = () => (0, exports.genPrismaConfig)({ schema: 'deployConnection.prisma', database: 'main' });
|
|
22
|
+
exports.genMainDeployPrismaConfig = genMainDeployPrismaConfig;
|
|
23
|
+
const genExtraDbPrismaConfig = (database) => (0, exports.genPrismaConfig)({ schema: 'schema.prisma', database });
|
|
24
|
+
exports.genExtraDbPrismaConfig = genExtraDbPrismaConfig;
|
|
25
|
+
const genExtraDbDeployPrismaConfig = (database) => (0, exports.genPrismaConfig)({ schema: 'deployConnection.prisma', database });
|
|
26
|
+
exports.genExtraDbDeployPrismaConfig = genExtraDbDeployPrismaConfig;
|
|
27
|
+
const genShardsPrismaConfig = () => (0, exports.genPrismaConfig)({ schema: 'schema.prisma', database: 'main' });
|
|
28
|
+
exports.genShardsPrismaConfig = genShardsPrismaConfig;
|
|
29
|
+
const genShardsDeployPrismaConfig = () => (0, exports.genPrismaConfig)({ schema: 'deployConnection.prisma', database: 'main' });
|
|
30
|
+
exports.genShardsDeployPrismaConfig = genShardsDeployPrismaConfig;
|
|
31
|
+
/** Used in tests to assert env var naming for extra DBs. */
|
|
32
|
+
const extraDbMigrationEnvVar = (database) => `DATABASE_${(0, databaseMeta_1.databaseNameToEnvSuffix)(database)}_MIGRATION_URI`;
|
|
33
|
+
exports.extraDbMigrationEnvVar = extraDbMigrationEnvVar;
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuUHJpc21hQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9nZW5lcmF0b3JzL3ByaXNtYS9zY2hlbWUvZ2VuUHJpc21hQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhEQUlvQztBQU83QixNQUFNLGVBQWUsR0FBRyxDQUFDLEVBQUMsTUFBTSxFQUFFLFFBQVEsRUFBeUIsRUFBVSxFQUFFO0lBQ3BGLE1BQU0sWUFBWSxHQUFHLElBQUEsOENBQStCLEVBQUMsUUFBUSxDQUFDLENBQUE7SUFDOUQsTUFBTSxTQUFTLEdBQUcsSUFBQSxzQ0FBdUIsRUFBQyxRQUFRLENBQUMsQ0FBQTtJQUVuRCxPQUFPOzs7YUFHSSxNQUFNOzt3QkFFSyxZQUFZLHdEQUF3RCxTQUFTOzs7Q0FHcEcsQ0FBQTtBQUNELENBQUMsQ0FBQTtBQWJZLFFBQUEsZUFBZSxtQkFhM0I7QUFFTSxNQUFNLG1CQUFtQixHQUFHLEdBQVcsRUFBRSxDQUM5QyxJQUFBLHVCQUFlLEVBQUMsRUFBQyxNQUFNLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFBO0FBRGpELFFBQUEsbUJBQW1CLHVCQUM4QjtBQUV2RCxNQUFNLHlCQUF5QixHQUFHLEdBQVcsRUFBRSxDQUNwRCxJQUFBLHVCQUFlLEVBQUMsRUFBQyxNQUFNLEVBQUUseUJBQXlCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUE7QUFEM0QsUUFBQSx5QkFBeUIsNkJBQ2tDO0FBRWpFLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxRQUFnQixFQUFVLEVBQUUsQ0FDakUsSUFBQSx1QkFBZSxFQUFDLEVBQUMsTUFBTSxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFBO0FBRHpDLFFBQUEsc0JBQXNCLDBCQUNtQjtBQUUvQyxNQUFNLDRCQUE0QixHQUFHLENBQUMsUUFBZ0IsRUFBVSxFQUFFLENBQ3ZFLElBQUEsdUJBQWUsRUFBQyxFQUFDLE1BQU0sRUFBRSx5QkFBeUIsRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFBO0FBRG5ELFFBQUEsNEJBQTRCLGdDQUN1QjtBQUV6RCxNQUFNLHFCQUFxQixHQUFHLEdBQVcsRUFBRSxDQUNoRCxJQUFBLHVCQUFlLEVBQUMsRUFBQyxNQUFNLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFBO0FBRGpELFFBQUEscUJBQXFCLHlCQUM0QjtBQUV2RCxNQUFNLDJCQUEyQixHQUFHLEdBQVcsRUFBRSxDQUN0RCxJQUFBLHVCQUFlLEVBQUMsRUFBQyxNQUFNLEVBQUUseUJBQXlCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUE7QUFEM0QsUUFBQSwyQkFBMkIsK0JBQ2dDO0FBRXhFLDREQUE0RDtBQUNyRCxNQUFNLHNCQUFzQixHQUFHLENBQUMsUUFBZ0IsRUFBVSxFQUFFLENBQ2pFLFlBQVksSUFBQSxzQ0FBdUIsRUFBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUE7QUFEbEQsUUFBQSxzQkFBc0IsMEJBQzRCIn0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const jest_without_globals_1 = require("jest-without-globals");
|
|
4
|
+
const genPrismaConfig_1 = require("./genPrismaConfig");
|
|
5
|
+
describe('genPrismaConfig', () => {
|
|
6
|
+
it('generates main prisma.config.ts', () => {
|
|
7
|
+
const result = (0, genPrismaConfig_1.genMainPrismaConfig)();
|
|
8
|
+
(0, jest_without_globals_1.expect)(result).toContain("schema: 'schema.prisma'");
|
|
9
|
+
(0, jest_without_globals_1.expect)(result).toContain("DATABASE_MAIN_MIGRATION_URI");
|
|
10
|
+
(0, jest_without_globals_1.expect)(result).toContain('postgresql://postgres:password@localhost:5432/postgres');
|
|
11
|
+
});
|
|
12
|
+
it('generates main deploy.prisma.config.ts', () => {
|
|
13
|
+
const result = (0, genPrismaConfig_1.genMainDeployPrismaConfig)();
|
|
14
|
+
(0, jest_without_globals_1.expect)(result).toContain("schema: 'deployConnection.prisma'");
|
|
15
|
+
(0, jest_without_globals_1.expect)(result).toContain("DATABASE_MAIN_MIGRATION_URI");
|
|
16
|
+
});
|
|
17
|
+
it('generates extra DB config with correct env var', () => {
|
|
18
|
+
const result = (0, genPrismaConfig_1.genExtraDbPrismaConfig)('bsDocuments');
|
|
19
|
+
(0, jest_without_globals_1.expect)(result).toContain(`process.env['${(0, genPrismaConfig_1.extraDbMigrationEnvVar)('bsDocuments')}']`);
|
|
20
|
+
(0, jest_without_globals_1.expect)(result).toContain('postgresql://postgres:password@localhost:5432/bs_documents');
|
|
21
|
+
});
|
|
22
|
+
it('generates extra DB deploy config', () => {
|
|
23
|
+
const result = (0, genPrismaConfig_1.genExtraDbDeployPrismaConfig)('bsDocuments');
|
|
24
|
+
(0, jest_without_globals_1.expect)(result).toContain("schema: 'deployConnection.prisma'");
|
|
25
|
+
(0, jest_without_globals_1.expect)(result).toContain(`DATABASE_BS_DOCUMENTS_MIGRATION_URI`);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuUHJpc21hQ29uZmlnLnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvcHJpc21hL3NjaGVtZS9nZW5QcmlzbWFDb25maWcuc3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLCtEQUEyQztBQUMzQyx1REFNMEI7QUFFMUIsUUFBUSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRTtJQUMvQixFQUFFLENBQUMsaUNBQWlDLEVBQUUsR0FBRyxFQUFFO1FBQ3pDLE1BQU0sTUFBTSxHQUFHLElBQUEscUNBQW1CLEdBQUUsQ0FBQTtRQUNwQyxJQUFBLDZCQUFNLEVBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLHlCQUF5QixDQUFDLENBQUE7UUFDbkQsSUFBQSw2QkFBTSxFQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO1FBQ3ZELElBQUEsNkJBQU0sRUFBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsd0RBQXdELENBQUMsQ0FBQTtJQUNwRixDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQyx3Q0FBd0MsRUFBRSxHQUFHLEVBQUU7UUFDaEQsTUFBTSxNQUFNLEdBQUcsSUFBQSwyQ0FBeUIsR0FBRSxDQUFBO1FBQzFDLElBQUEsNkJBQU0sRUFBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsbUNBQW1DLENBQUMsQ0FBQTtRQUM3RCxJQUFBLDZCQUFNLEVBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLDZCQUE2QixDQUFDLENBQUE7SUFDekQsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsZ0RBQWdELEVBQUUsR0FBRyxFQUFFO1FBQ3hELE1BQU0sTUFBTSxHQUFHLElBQUEsd0NBQXNCLEVBQUMsYUFBYSxDQUFDLENBQUE7UUFDcEQsSUFBQSw2QkFBTSxFQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsSUFBQSx3Q0FBc0IsRUFBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDbkYsSUFBQSw2QkFBTSxFQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyw0REFBNEQsQ0FBQyxDQUFBO0lBQ3hGLENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLGtDQUFrQyxFQUFFLEdBQUcsRUFBRTtRQUMxQyxNQUFNLE1BQU0sR0FBRyxJQUFBLDhDQUE0QixFQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQzFELElBQUEsNkJBQU0sRUFBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsbUNBQW1DLENBQUMsQ0FBQTtRQUM3RCxJQUFBLDZCQUFNLEVBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLHFDQUFxQyxDQUFDLENBQUE7SUFDakUsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUMsQ0FBQSJ9
|
|
@@ -24,10 +24,12 @@ const collectCrossDatabaseEntityLinkViolations = (entities, allEntities) => {
|
|
|
24
24
|
}
|
|
25
25
|
return lines;
|
|
26
26
|
};
|
|
27
|
+
const isPrisma7 = (prismaMajor) => (prismaMajor !== null && prismaMajor !== void 0 ? prismaMajor : 6) >= 7;
|
|
27
28
|
const genPrismaSchemaForEntitiesWithClientAdnDb = (args, opts) => {
|
|
28
|
-
const { database, forShards } = opts;
|
|
29
|
+
const { database, forShards, prismaMajor } = opts;
|
|
29
30
|
const { entities, allLinks, allEntities } = args;
|
|
30
31
|
const effectiveForShards = database === 'main' && forShards;
|
|
32
|
+
const p7 = isPrisma7(prismaMajor);
|
|
31
33
|
const ent = entities
|
|
32
34
|
.filter((e) => e.storage !== 'elastic' && e.storage !== 'clickhouse')
|
|
33
35
|
.filter((e) => {
|
|
@@ -42,9 +44,14 @@ const genPrismaSchemaForEntitiesWithClientAdnDb = (args, opts) => {
|
|
|
42
44
|
`Replace addLinkField with addViewLinkField for these links in metadata:\n${crossDbViolations.join('\n')}`);
|
|
43
45
|
}
|
|
44
46
|
const joined = (0, genPrismaSchemaForEntities_1.genPrismaSchemaForEntities)(ent, allLinks, effectiveForShards, allEntities);
|
|
45
|
-
const
|
|
47
|
+
const provider = p7 ? 'prisma-client' : 'prisma-client-js';
|
|
48
|
+
const previewFeatures = p7 ? '' : '\n previewFeatures = ["metrics"]';
|
|
46
49
|
let outputLine = '';
|
|
47
|
-
if (database === 'main' && effectiveForShards) {
|
|
50
|
+
if (p7 && database === 'main' && !effectiveForShards) {
|
|
51
|
+
outputLine = `
|
|
52
|
+
output = "./generated/client"`;
|
|
53
|
+
}
|
|
54
|
+
else if (database === 'main' && effectiveForShards) {
|
|
48
55
|
outputLine = `
|
|
49
56
|
output = "./build"`;
|
|
50
57
|
}
|
|
@@ -52,21 +59,31 @@ const genPrismaSchemaForEntitiesWithClientAdnDb = (args, opts) => {
|
|
|
52
59
|
outputLine = `
|
|
53
60
|
output = "./client"`;
|
|
54
61
|
}
|
|
62
|
+
const datasourceBlock = p7
|
|
63
|
+
? `datasource db {
|
|
64
|
+
provider = "postgresql"
|
|
65
|
+
}`
|
|
66
|
+
: `datasource db {
|
|
67
|
+
provider = "postgresql"
|
|
68
|
+
url = env("${(0, databaseMeta_1.prismaDatasourceWriteEnvVar)(database)}")
|
|
69
|
+
}`;
|
|
55
70
|
return `generator client {
|
|
56
|
-
provider = "
|
|
57
|
-
previewFeatures = ["metrics"]${outputLine}
|
|
71
|
+
provider = "${provider}"${previewFeatures}${outputLine}
|
|
58
72
|
}
|
|
59
73
|
|
|
60
|
-
|
|
61
|
-
provider = "postgresql"
|
|
62
|
-
url = env("${writeEnv}")
|
|
63
|
-
}
|
|
74
|
+
${datasourceBlock}
|
|
64
75
|
|
|
65
76
|
${joined}`;
|
|
66
77
|
};
|
|
67
78
|
exports.genPrismaSchemaForEntitiesWithClientAdnDb = genPrismaSchemaForEntitiesWithClientAdnDb;
|
|
68
79
|
/** Minimal deploy schema (migrate URL only). */
|
|
69
|
-
const genDeployConnectionPrisma = (database) => {
|
|
80
|
+
const genDeployConnectionPrisma = (database, prismaMajor) => {
|
|
81
|
+
if (isPrisma7(prismaMajor)) {
|
|
82
|
+
return `datasource db {
|
|
83
|
+
provider = "postgresql"
|
|
84
|
+
}
|
|
85
|
+
`;
|
|
86
|
+
}
|
|
70
87
|
const migrationEnv = (0, databaseMeta_1.prismaDatasourceMigrationEnvVar)(database);
|
|
71
88
|
return `datasource db {
|
|
72
89
|
provider = "postgresql"
|
|
@@ -79,4 +96,4 @@ generator client {
|
|
|
79
96
|
`;
|
|
80
97
|
};
|
|
81
98
|
exports.genDeployConnectionPrisma = genDeployConnectionPrisma;
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuUHJpc21hU2NoZW1hRm9yRW50aXRpZXNXaXRoQ2xpZW50QWRuRGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvcHJpc21hL3NjaGVtZS9nZW5QcmlzbWFTY2hlbWFGb3JFbnRpdGllc1dpdGhDbGllbnRBZG5EYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSw2RUFBdUU7QUFDdkUsOERBR29DO0FBRXBDLE1BQU0sd0NBQXdDLEdBQUcsQ0FDL0MsUUFBa0IsRUFDbEIsV0FBZ0MsRUFDdEIsRUFBRTtJQUNaLE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQTtJQUMxQixLQUFLLE1BQU0sTUFBTSxJQUFJLFFBQVEsRUFBRTtRQUM3QixLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDakMsSUFBSSxLQUFLLENBQUMsUUFBUSxLQUFLLE1BQU0sRUFBRTtnQkFDN0IsU0FBUTthQUNUO1lBQ0QsSUFBSSxLQUFLLENBQUMsWUFBWSxLQUFLLFFBQVEsRUFBRTtnQkFDbkMsU0FBUTthQUNUO1lBQ0QsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUE7WUFDcEQsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDWCxTQUFRO2FBQ1Q7WUFDRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFDLFFBQVEsRUFBRTtnQkFDdkMsS0FBSyxDQUFDLElBQUksQ0FDUixLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksTUFBTSxLQUFLLENBQUMsY0FBYyxlQUFlLE1BQU0sQ0FBQyxRQUFRLFFBQVEsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUNsSCxDQUFBO2FBQ0Y7U0FDRjtLQUNGO0lBQ0QsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDLENBQUE7QUFjRCxNQUFNLFNBQVMsR0FBRyxDQUFDLFdBQW9CLEVBQVcsRUFBRSxDQUFDLENBQUMsV0FBVyxhQUFYLFdBQVcsY0FBWCxXQUFXLEdBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO0FBRXJFLE1BQU0seUNBQXlDLEdBQUcsQ0FDdkQsSUFBK0IsRUFDL0IsSUFBOEIsRUFDOUIsRUFBRTtJQUNGLE1BQU0sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBQyxHQUFHLElBQUksQ0FBQTtJQUMvQyxNQUFNLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUMsR0FBRyxJQUFJLENBQUE7SUFFOUMsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLEtBQUssTUFBTSxJQUFJLFNBQVMsQ0FBQTtJQUMzRCxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUE7SUFFakMsTUFBTSxHQUFHLEdBQUcsUUFBUTtTQUNqQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUssWUFBWSxDQUFDO1NBQ3BFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ1osSUFBSSxRQUFRLEtBQUssTUFBTSxFQUFFO1lBQ3ZCLE9BQU8sQ0FBQyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUE7U0FDL0I7UUFDRCxPQUFPLENBQUMsQ0FBQyxRQUFRLEtBQUssTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN0RSxDQUFDLENBQUMsQ0FBQTtJQUVKLE1BQU0saUJBQWlCLEdBQUcsd0NBQXdDLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQ3BGLElBQUksaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNoQyxNQUFNLElBQUksS0FBSyxDQUNiLG9HQUFvRztZQUNsRyw0RUFBNEUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQzdHLENBQUE7S0FDRjtJQUVELE1BQU0sTUFBTSxHQUFHLElBQUEsdURBQTBCLEVBQ3ZDLEdBQUcsRUFDSCxRQUFRLEVBQ1Isa0JBQWtCLEVBQ2xCLFdBQVcsQ0FDWixDQUFBO0lBRUQsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFBO0lBQzFELE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxtQ0FBbUMsQ0FBQTtJQUVyRSxJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUE7SUFDbkIsSUFBSSxFQUFFLElBQUksUUFBUSxLQUFLLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixFQUFFO1FBQ3BELFVBQVUsR0FBRztrQ0FDaUIsQ0FBQTtLQUMvQjtTQUFNLElBQUksUUFBUSxLQUFLLE1BQU0sSUFBSSxrQkFBa0IsRUFBRTtRQUNwRCxVQUFVLEdBQUc7dUJBQ00sQ0FBQTtLQUNwQjtTQUFNLElBQUksUUFBUSxLQUFLLE1BQU0sRUFBRTtRQUM5QixVQUFVLEdBQUc7d0JBQ08sQ0FBQTtLQUNyQjtJQUVELE1BQU0sZUFBZSxHQUFHLEVBQUU7UUFDeEIsQ0FBQyxDQUFDOztFQUVKO1FBQ0UsQ0FBQyxDQUFDOztvQkFFYyxJQUFBLDBDQUEyQixFQUFDLFFBQVEsQ0FBQztFQUN2RCxDQUFBO0lBRUEsT0FBTztnQkFDTyxRQUFRLElBQUksZUFBZSxHQUFHLFVBQVU7OztFQUd0RCxlQUFlOztFQUVmLE1BQU0sRUFBRSxDQUFBO0FBQ1YsQ0FBQyxDQUFBO0FBakVZLFFBQUEseUNBQXlDLDZDQWlFckQ7QUFFRCxnREFBZ0Q7QUFDekMsTUFBTSx5QkFBeUIsR0FBRyxDQUN2QyxRQUFnQixFQUNoQixXQUFvQixFQUNaLEVBQUU7SUFDVixJQUFJLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRTtRQUMxQixPQUFPOzs7Q0FHVixDQUFBO0tBQ0U7SUFFRCxNQUFNLFlBQVksR0FBRyxJQUFBLDhDQUErQixFQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzlELE9BQU87O29CQUVXLFlBQVk7Ozs7OztDQU0vQixDQUFBO0FBQ0QsQ0FBQyxDQUFBO0FBckJZLFFBQUEseUJBQXlCLDZCQXFCckMifQ==
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const jest_without_globals_1 = require("jest-without-globals");
|
|
7
|
+
const CatalogBuilder_1 = __importDefault(require("../../../builders/CatalogBuilder"));
|
|
8
|
+
const genPrismaSchemaForEntitiesWithClientAdnDb_1 = require("./genPrismaSchemaForEntitiesWithClientAdnDb");
|
|
9
|
+
const types_1 = require("../../../types");
|
|
10
|
+
const minimalArgs = (entities) => ({
|
|
11
|
+
system: {
|
|
12
|
+
name: 'test',
|
|
13
|
+
prefix: 'test',
|
|
14
|
+
dataBases: [{ name: 'main' }, { name: 'bsDocuments' }],
|
|
15
|
+
commands: [],
|
|
16
|
+
configVars: [],
|
|
17
|
+
catalogs: [],
|
|
18
|
+
documents: [],
|
|
19
|
+
infoRegistries: [],
|
|
20
|
+
sumRegistries: [],
|
|
21
|
+
languages: [],
|
|
22
|
+
defaultLanguage: 'ru',
|
|
23
|
+
deployEnvironments: [],
|
|
24
|
+
glossary: [],
|
|
25
|
+
telegramBots: [],
|
|
26
|
+
reports: [],
|
|
27
|
+
restApis: [],
|
|
28
|
+
integrationClients: [],
|
|
29
|
+
workers: [],
|
|
30
|
+
roles: [],
|
|
31
|
+
menuItems: [],
|
|
32
|
+
pages: [],
|
|
33
|
+
additionalServices: [],
|
|
34
|
+
labels: [],
|
|
35
|
+
generalModels: [],
|
|
36
|
+
inputModels: [],
|
|
37
|
+
outputModels: [],
|
|
38
|
+
methods: [],
|
|
39
|
+
back: {},
|
|
40
|
+
},
|
|
41
|
+
entities,
|
|
42
|
+
allEntities: new Map(entities.map((e) => [e.name, e])),
|
|
43
|
+
allSumRegistries: new Map(),
|
|
44
|
+
allInfoRegistries: new Map(),
|
|
45
|
+
allDocuments: new Map(),
|
|
46
|
+
allCatalogs: new Map(),
|
|
47
|
+
allLinks: [],
|
|
48
|
+
additionalServices: [],
|
|
49
|
+
options: types_1.defaultBootstrapEntityOptions,
|
|
50
|
+
});
|
|
51
|
+
describe('genPrismaSchemaForEntitiesWithClientAdnDb', () => {
|
|
52
|
+
const cards = new CatalogBuilder_1.default('cards', 'ru');
|
|
53
|
+
cards.addField('name').setType('string').setRequired();
|
|
54
|
+
const cardEntity = cards.build();
|
|
55
|
+
it('legacy main schema uses prisma-client-js and datasource url', () => {
|
|
56
|
+
const result = (0, genPrismaSchemaForEntitiesWithClientAdnDb_1.genPrismaSchemaForEntitiesWithClientAdnDb)(minimalArgs([cardEntity]), {
|
|
57
|
+
database: 'main',
|
|
58
|
+
forShards: false,
|
|
59
|
+
prismaMajor: 6,
|
|
60
|
+
});
|
|
61
|
+
(0, jest_without_globals_1.expect)(result).toContain('provider = "prisma-client-js"');
|
|
62
|
+
(0, jest_without_globals_1.expect)(result).toContain('previewFeatures = ["metrics"]');
|
|
63
|
+
(0, jest_without_globals_1.expect)(result).toContain('url = env("DATABASE_MAIN_WRITE_URI")');
|
|
64
|
+
(0, jest_without_globals_1.expect)(result).not.toContain('output = "./generated/client"');
|
|
65
|
+
});
|
|
66
|
+
it('P7 main schema uses prisma-client and generated output', () => {
|
|
67
|
+
const result = (0, genPrismaSchemaForEntitiesWithClientAdnDb_1.genPrismaSchemaForEntitiesWithClientAdnDb)(minimalArgs([cardEntity]), {
|
|
68
|
+
database: 'main',
|
|
69
|
+
forShards: false,
|
|
70
|
+
prismaMajor: 7,
|
|
71
|
+
});
|
|
72
|
+
(0, jest_without_globals_1.expect)(result).toContain('provider = "prisma-client"');
|
|
73
|
+
(0, jest_without_globals_1.expect)(result).not.toContain('previewFeatures');
|
|
74
|
+
(0, jest_without_globals_1.expect)(result).not.toContain('url = env(');
|
|
75
|
+
(0, jest_without_globals_1.expect)(result).toContain('output = "./generated/client"');
|
|
76
|
+
});
|
|
77
|
+
it('P7 extra DB schema uses ./client output', () => {
|
|
78
|
+
const docEntity = Object.assign(Object.assign({}, cardEntity), { database: 'bsDocuments' });
|
|
79
|
+
const result = (0, genPrismaSchemaForEntitiesWithClientAdnDb_1.genPrismaSchemaForEntitiesWithClientAdnDb)(minimalArgs([docEntity]), {
|
|
80
|
+
database: 'bsDocuments',
|
|
81
|
+
forShards: false,
|
|
82
|
+
prismaMajor: 7,
|
|
83
|
+
});
|
|
84
|
+
(0, jest_without_globals_1.expect)(result).toContain('output = "./client"');
|
|
85
|
+
});
|
|
86
|
+
it('legacy deploy schema includes generator', () => {
|
|
87
|
+
const result = (0, genPrismaSchemaForEntitiesWithClientAdnDb_1.genDeployConnectionPrisma)('main', 6);
|
|
88
|
+
(0, jest_without_globals_1.expect)(result).toContain('generator client');
|
|
89
|
+
(0, jest_without_globals_1.expect)(result).toContain('url = env("DATABASE_MAIN_MIGRATION_URI")');
|
|
90
|
+
});
|
|
91
|
+
it('P7 deploy schema is datasource-only', () => {
|
|
92
|
+
const result = (0, genPrismaSchemaForEntitiesWithClientAdnDb_1.genDeployConnectionPrisma)('main', 7);
|
|
93
|
+
(0, jest_without_globals_1.expect)(result).toBe(`datasource db {
|
|
94
|
+
provider = "postgresql"
|
|
95
|
+
}
|
|
96
|
+
`);
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuUHJpc21hU2NoZW1hRm9yRW50aXRpZXNXaXRoQ2xpZW50QWRuRGIuc3BlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vZ2VuZXJhdG9ycy9wcmlzbWEvc2NoZW1lL2dlblByaXNtYVNjaGVtYUZvckVudGl0aWVzV2l0aENsaWVudEFkbkRiLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrREFBMkM7QUFDM0Msc0ZBQTZEO0FBQzdELDJHQUdvRDtBQUVwRCwwQ0FBNEQ7QUFHNUQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxRQUErQyxFQUE2QixFQUFFLENBQUMsQ0FBQztJQUNuRyxNQUFNLEVBQUU7UUFDTixJQUFJLEVBQUUsTUFBTTtRQUNaLE1BQU0sRUFBRSxNQUFNO1FBQ2QsU0FBUyxFQUFFLENBQUMsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFDLEVBQUUsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFDLENBQUM7UUFDbEQsUUFBUSxFQUFFLEVBQUU7UUFDWixVQUFVLEVBQUUsRUFBRTtRQUNkLFFBQVEsRUFBRSxFQUFFO1FBQ1osU0FBUyxFQUFFLEVBQUU7UUFDYixjQUFjLEVBQUUsRUFBRTtRQUNsQixhQUFhLEVBQUUsRUFBRTtRQUNqQixTQUFTLEVBQUUsRUFBRTtRQUNiLGVBQWUsRUFBRSxJQUFJO1FBQ3JCLGtCQUFrQixFQUFFLEVBQUU7UUFDdEIsUUFBUSxFQUFFLEVBQUU7UUFDWixZQUFZLEVBQUUsRUFBRTtRQUNoQixPQUFPLEVBQUUsRUFBRTtRQUNYLFFBQVEsRUFBRSxFQUFFO1FBQ1osa0JBQWtCLEVBQUUsRUFBRTtRQUN0QixPQUFPLEVBQUUsRUFBRTtRQUNYLEtBQUssRUFBRSxFQUFFO1FBQ1QsU0FBUyxFQUFFLEVBQUU7UUFDYixLQUFLLEVBQUUsRUFBRTtRQUNULGtCQUFrQixFQUFFLEVBQUU7UUFDdEIsTUFBTSxFQUFFLEVBQUU7UUFD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
|