@memberjunction/codegen-lib 6.1.0-edge.1 → 6.1.0-edge.3
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/LICENSE +180 -4
- package/README.md +39 -22
- package/dist/Angular/angular-codegen.d.ts +0 -8
- package/dist/Angular/angular-codegen.d.ts.map +1 -1
- package/dist/Angular/angular-codegen.js +32 -22
- package/dist/Angular/angular-codegen.js.map +1 -1
- package/dist/Angular/entity-data-grid-related-entity-component.js +2 -2
- package/dist/Angular/entity-data-grid-related-entity-component.js.map +1 -1
- package/dist/Angular/related-entity-components.d.ts +1 -1
- package/dist/Angular/related-entity-components.js +1 -1
- package/dist/Database/codeGenDatabaseProvider.d.ts +107 -1
- package/dist/Database/codeGenDatabaseProvider.d.ts.map +1 -1
- package/dist/Database/codeGenDatabaseProvider.js +77 -10
- package/dist/Database/codeGenDatabaseProvider.js.map +1 -1
- package/dist/Database/manage-metadata.d.ts +354 -14
- package/dist/Database/manage-metadata.d.ts.map +1 -1
- package/dist/Database/manage-metadata.js +1308 -65
- package/dist/Database/manage-metadata.js.map +1 -1
- package/dist/Database/materializationAnalysis.d.ts +241 -0
- package/dist/Database/materializationAnalysis.d.ts.map +1 -0
- package/dist/Database/materializationAnalysis.js +415 -0
- package/dist/Database/materializationAnalysis.js.map +1 -0
- package/dist/Database/materializationBroadRender.d.ts +67 -0
- package/dist/Database/materializationBroadRender.d.ts.map +1 -0
- package/dist/Database/materializationBroadRender.js +104 -0
- package/dist/Database/materializationBroadRender.js.map +1 -0
- package/dist/Database/materializationDrift.d.ts +59 -0
- package/dist/Database/materializationDrift.d.ts.map +1 -0
- package/dist/Database/materializationDrift.js +85 -0
- package/dist/Database/materializationDrift.js.map +1 -0
- package/dist/Database/materializationParamClassifier.d.ts +92 -0
- package/dist/Database/materializationParamClassifier.d.ts.map +1 -0
- package/dist/Database/materializationParamClassifier.js +224 -0
- package/dist/Database/materializationParamClassifier.js.map +1 -0
- package/dist/Database/materializationParamVerifier.d.ts +71 -0
- package/dist/Database/materializationParamVerifier.d.ts.map +1 -0
- package/dist/Database/materializationParamVerifier.js +302 -0
- package/dist/Database/materializationParamVerifier.js.map +1 -0
- package/dist/Database/materializationSqlAst.d.ts +78 -0
- package/dist/Database/materializationSqlAst.d.ts.map +1 -0
- package/dist/Database/materializationSqlAst.js +142 -0
- package/dist/Database/materializationSqlAst.js.map +1 -0
- package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts +69 -30
- package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts.map +1 -1
- package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js +325 -216
- package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js.map +1 -1
- package/dist/Database/providers/postgresql/__tests__/PostgreSQLCodeGenProvider.materialization.test.d.ts +2 -0
- package/dist/Database/providers/postgresql/__tests__/PostgreSQLCodeGenProvider.materialization.test.d.ts.map +1 -0
- package/dist/Database/providers/postgresql/__tests__/PostgreSQLCodeGenProvider.materialization.test.js +119 -0
- package/dist/Database/providers/postgresql/__tests__/PostgreSQLCodeGenProvider.materialization.test.js.map +1 -0
- package/dist/Database/providers/postgresql/__tests__/PostgreSQLHierarchyFunctions.test.d.ts +2 -0
- package/dist/Database/providers/postgresql/__tests__/PostgreSQLHierarchyFunctions.test.d.ts.map +1 -0
- package/dist/Database/providers/postgresql/__tests__/PostgreSQLHierarchyFunctions.test.js +155 -0
- package/dist/Database/providers/postgresql/__tests__/PostgreSQLHierarchyFunctions.test.js.map +1 -0
- package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts +61 -2
- package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts.map +1 -1
- package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js +306 -3
- package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js.map +1 -1
- package/dist/Database/providers/sqlserver/__tests__/BaseViewEmissionGoldenMaster.test.d.ts +2 -0
- package/dist/Database/providers/sqlserver/__tests__/BaseViewEmissionGoldenMaster.test.d.ts.map +1 -0
- package/dist/Database/providers/sqlserver/__tests__/BaseViewEmissionGoldenMaster.test.js +547 -0
- package/dist/Database/providers/sqlserver/__tests__/BaseViewEmissionGoldenMaster.test.js.map +1 -0
- package/dist/Database/providers/sqlserver/__tests__/BaseViewRegenDecision.test.d.ts +2 -0
- package/dist/Database/providers/sqlserver/__tests__/BaseViewRegenDecision.test.d.ts.map +1 -0
- package/dist/Database/providers/sqlserver/__tests__/BaseViewRegenDecision.test.js +721 -0
- package/dist/Database/providers/sqlserver/__tests__/BaseViewRegenDecision.test.js.map +1 -0
- package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.materialization.test.d.ts +2 -0
- package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.materialization.test.d.ts.map +1 -0
- package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.materialization.test.js +78 -0
- package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.materialization.test.js.map +1 -0
- package/dist/Database/providers/sqlserver/__tests__/SQLServerHierarchyTVF.test.d.ts +2 -0
- package/dist/Database/providers/sqlserver/__tests__/SQLServerHierarchyTVF.test.d.ts.map +1 -0
- package/dist/Database/providers/sqlserver/__tests__/SQLServerHierarchyTVF.test.js +155 -0
- package/dist/Database/providers/sqlserver/__tests__/SQLServerHierarchyTVF.test.js.map +1 -0
- package/dist/Database/sql_codegen.d.ts +21 -5
- package/dist/Database/sql_codegen.d.ts.map +1 -1
- package/dist/Database/sql_codegen.js +85 -27
- package/dist/Database/sql_codegen.js.map +1 -1
- package/dist/Misc/action_subclasses_codegen.d.ts.map +1 -1
- package/dist/Misc/action_subclasses_codegen.js +4 -4
- package/dist/Misc/action_subclasses_codegen.js.map +1 -1
- package/dist/Misc/createNewUser.js +1 -1
- package/dist/Misc/createNewUser.js.map +1 -1
- package/dist/Misc/entity_subclasses_codegen.d.ts +44 -0
- package/dist/Misc/entity_subclasses_codegen.d.ts.map +1 -1
- package/dist/Misc/entity_subclasses_codegen.js +369 -156
- package/dist/Misc/entity_subclasses_codegen.js.map +1 -1
- package/dist/Misc/graphql_server_codegen.d.ts +4 -58
- package/dist/Misc/graphql_server_codegen.d.ts.map +1 -1
- package/dist/Misc/graphql_server_codegen.js +22 -236
- package/dist/Misc/graphql_server_codegen.js.map +1 -1
- package/dist/Misc/sql_logging.d.ts +25 -0
- package/dist/Misc/sql_logging.d.ts.map +1 -1
- package/dist/Misc/sql_logging.js +51 -8
- package/dist/Misc/sql_logging.js.map +1 -1
- package/package.json +30 -30
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { TypeScriptTypeFromSQLType,
|
|
1
|
+
import { TypeScriptTypeFromSQLType, TypeScriptTypeFromSQLTypeWithNullableOption, getGraphQLTypeNameBase } from '@memberjunction/core';
|
|
2
2
|
import { IsBinarySQLType, IsBooleanSQLType, IsCurrencySQLType, IsDateSQLType, IsFloatSQLType, IsStringSQLType, IsUuidSQLType, } from '@memberjunction/sql-dialect';
|
|
3
3
|
import fs from 'fs';
|
|
4
4
|
import path from 'path';
|
|
5
5
|
import { logError } from './status_logging.js';
|
|
6
|
-
import {
|
|
7
|
-
import { makeDir, sortBySequenceAndCreatedAt
|
|
6
|
+
import { mjCoreSchema, resolveEntityPackageName } from '../Config/config.js';
|
|
7
|
+
import { makeDir, sortBySequenceAndCreatedAt } from './util.js';
|
|
8
8
|
/**
|
|
9
9
|
* This class is responsible for generating the GraphQL Server resolvers and types for the entities, you can sub-class this class to extend/modify the logic, make sure to use @memberjunction/global RegisterClass decorator
|
|
10
10
|
* so that your class is used.
|
|
@@ -15,17 +15,11 @@ export class GraphQLServerGeneratorBase {
|
|
|
15
15
|
}
|
|
16
16
|
generateGraphQLServerCode(entities, outputDirectory, generatedEntitiesImportLibrary, excludeRelatedEntitiesExternalToSchema) {
|
|
17
17
|
const isInternal = generatedEntitiesImportLibrary.trim().toLowerCase().startsWith('@memberjunction/');
|
|
18
|
-
// Every entity in THIS call gets its ObjectType emitted inline into the single generated.ts, so this
|
|
19
|
-
// set is exactly the set of types a reverse-relationship member may reference by bare name.
|
|
20
|
-
const availability = {
|
|
21
|
-
generatedEntityNames: new Set(entities.map((e) => e.Name.trim().toLowerCase())),
|
|
22
|
-
isInternal,
|
|
23
|
-
};
|
|
24
18
|
let sRet = '';
|
|
25
19
|
try {
|
|
26
20
|
sRet = this.generateAllEntitiesServerFileHeader(entities, generatedEntitiesImportLibrary, isInternal);
|
|
27
21
|
for (let i = 0; i < entities.length; ++i) {
|
|
28
|
-
sRet += this.generateServerEntityString(entities[i], false, generatedEntitiesImportLibrary, excludeRelatedEntitiesExternalToSchema
|
|
22
|
+
sRet += this.generateServerEntityString(entities[i], false, generatedEntitiesImportLibrary, excludeRelatedEntitiesExternalToSchema);
|
|
29
23
|
}
|
|
30
24
|
makeDir(outputDirectory);
|
|
31
25
|
fs.writeFileSync(path.join(outputDirectory, 'generated.ts'), sRet);
|
|
@@ -52,47 +46,6 @@ export class GraphQLServerGeneratorBase {
|
|
|
52
46
|
getServerGraphQLTypeNameBase(entity) {
|
|
53
47
|
return getGraphQLTypeNameBase(entity);
|
|
54
48
|
}
|
|
55
|
-
/**
|
|
56
|
-
* True when the related entity's GraphQL ObjectType will NOT be declared in the file being
|
|
57
|
-
* generated, so emitting a `@Field`/`@FieldResolver` that names it would not compile (TS2304).
|
|
58
|
-
*
|
|
59
|
-
* When `availability` is supplied (every in-tree caller supplies it), the decision is made against
|
|
60
|
-
* the ACTUAL set of entities being generated into this file rather than inferred from schema or
|
|
61
|
-
* package heuristics. That set is ground truth: a bare-name reference compiles iff the class is
|
|
62
|
-
* emitted here, and the class is emitted here iff the entity was in the array handed to the
|
|
63
|
-
* generator. Heuristics can only approximate that set — `runCodeGen` narrows the generated entities
|
|
64
|
-
* by BOTH the `entityPackageName` schema→package map AND the `excludeSchemas`/inclusion filters, so
|
|
65
|
-
* a predicate that models only the package map still emits uncompilable references for anything
|
|
66
|
-
* dropped by the other filter (the linked-Open-App break: a base app generated alongside a
|
|
67
|
-
* dependent app that foreign-keys into it).
|
|
68
|
-
*
|
|
69
|
-
* The one exception is a CORE (`__mj`) related entity in a NON-core file: it is absent from the
|
|
70
|
-
* generated set but resolves through the `mj_core_schema_server_object_types` namespace import, so
|
|
71
|
-
* it is always in scope. In the core file itself there is no such import (that file *is* the
|
|
72
|
-
* module), so core related entities must satisfy set membership like everything else.
|
|
73
|
-
*
|
|
74
|
-
* `excludeRelatedEntitiesExternalToSchema` is honored first and unchanged: it asks for a
|
|
75
|
-
* schema-scoped file, which is a narrower request than type availability.
|
|
76
|
-
*
|
|
77
|
-
* @param availability the types resolvable in this file; when omitted, falls back to the legacy
|
|
78
|
-
* `entityPackageName` schema→package heuristic so that existing subclasses and
|
|
79
|
-
* callers using the pre-availability signature keep their previous behavior.
|
|
80
|
-
*/
|
|
81
|
-
isRelatedTypeOutOfScope(entity, relatedEntity, excludeRelatedEntitiesExternalToSchema, availability) {
|
|
82
|
-
if (excludeRelatedEntitiesExternalToSchema && relatedEntity.SchemaName !== entity.SchemaName)
|
|
83
|
-
return true;
|
|
84
|
-
if (availability) {
|
|
85
|
-
// Core types in a non-core file come from the namespace import, not a local declaration.
|
|
86
|
-
if (relatedEntity.SchemaName === mjCoreSchema && !availability.isInternal)
|
|
87
|
-
return false;
|
|
88
|
-
return !availability.generatedEntityNames.has(relatedEntity.Name.trim().toLowerCase());
|
|
89
|
-
}
|
|
90
|
-
// Legacy path (no availability supplied): approximate the generated set from the package map.
|
|
91
|
-
if (relatedEntity.SchemaName === mjCoreSchema)
|
|
92
|
-
return false;
|
|
93
|
-
const schema = relatedEntity.SchemaName.toLowerCase();
|
|
94
|
-
return getExternalEntitySchemas().some((s) => s.toLowerCase() === schema);
|
|
95
|
-
}
|
|
96
49
|
/**
|
|
97
50
|
* Generates the full server GraphQL type name for an entity (with suffix).
|
|
98
51
|
* @param entity - The entity to generate the type name for
|
|
@@ -101,50 +54,30 @@ export class GraphQLServerGeneratorBase {
|
|
|
101
54
|
getServerGraphQLTypeName(entity) {
|
|
102
55
|
return this.getServerGraphQLTypeNameBase(entity) + this.GraphQLTypeSuffix;
|
|
103
56
|
}
|
|
104
|
-
generateServerEntityString(entity, includeFileHeader, generatedEntitiesImportLibrary,
|
|
57
|
+
generateServerEntityString(entity, includeFileHeader, generatedEntitiesImportLibrary, _excludeRelatedEntitiesExternalToSchema) {
|
|
105
58
|
const isInternal = generatedEntitiesImportLibrary.trim().toLowerCase() === '@memberjunction/core-entities';
|
|
106
59
|
let sEntityOutput = '';
|
|
107
60
|
try {
|
|
108
|
-
const md = new Metadata(); // global-provider-ok: codegen runs offline against a single provider
|
|
109
61
|
const fields = sortBySequenceAndCreatedAt(entity.Fields);
|
|
110
62
|
const serverGraphQLTypeName = this.getServerGraphQLTypeName(entity);
|
|
111
63
|
if (includeFileHeader) {
|
|
112
64
|
const resolvedLib = isInternal
|
|
113
65
|
? generatedEntitiesImportLibrary
|
|
114
66
|
: resolveEntityPackageName(entity.SchemaName);
|
|
115
|
-
sEntityOutput = this.generateEntitySpecificServerFileHeader(entity, resolvedLib
|
|
67
|
+
sEntityOutput = this.generateEntitySpecificServerFileHeader(entity, resolvedLib);
|
|
116
68
|
}
|
|
117
69
|
sEntityOutput += this.generateServerEntityHeader(entity, serverGraphQLTypeName);
|
|
118
70
|
// now generate the fields by looping through the fields collection from the database
|
|
119
71
|
for (let j = 0; j < fields.length; ++j) {
|
|
120
72
|
sEntityOutput += this.generateServerField(fields[j]);
|
|
121
73
|
}
|
|
122
|
-
//
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
const re = md.Entities.find((e) => e.Name.toLowerCase() === r.RelatedEntity.toLowerCase());
|
|
127
|
-
// only include the relationship if we are IncludeInAPI for the related entity
|
|
128
|
-
if (re.IncludeInAPI) {
|
|
129
|
-
if (re.ExternalDataSourceID) {
|
|
130
|
-
// Related entity is external (no MJ base view) — its resolver is skipped (see
|
|
131
|
-
// generateServerGraphQLResolver), so skip the paired field declaration too for consistency.
|
|
132
|
-
sEntityOutput += `// Relationship field to ${r.RelatedEntity} not generated: related entity is external (no local base view).\n`;
|
|
133
|
-
}
|
|
134
|
-
else if (this.isRelatedTypeOutOfScope(entity, re, excludeRelatedEntitiesExternalToSchema, availability)) {
|
|
135
|
-
sEntityOutput += `// Relationship field to ${r.RelatedEntity} not generated: its GraphQL type is not declared in this file.\n`;
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
sEntityOutput += this.generateServerRelationship(md, sortedRelatedEntities[j], isInternal);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
sEntityOutput += `// Relationship to ${r.RelatedEntity} is not included in the API because it is not marked as IncludeInAPI\n`;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
74
|
+
// Child-array GraphQL fields (`Foo_BarIDArray`) are deliberately not emitted.
|
|
75
|
+
// They resolved with per-parent `SELECT *` (N+1). Load children via RunView
|
|
76
|
+
// or DeclareRelatedRecords; mutation responses that already have the graph
|
|
77
|
+
// should put children on a hand-written result type.
|
|
145
78
|
// finally, close it up with the footer
|
|
146
79
|
sEntityOutput += this.generateServerEntityFooter(entity);
|
|
147
|
-
sEntityOutput += this.generateServerGraphQLResolver(entity, serverGraphQLTypeName
|
|
80
|
+
sEntityOutput += this.generateServerGraphQLResolver(entity, serverGraphQLTypeName);
|
|
148
81
|
}
|
|
149
82
|
catch (err) {
|
|
150
83
|
logError(err);
|
|
@@ -163,7 +96,7 @@ export class GraphQLServerGeneratorBase {
|
|
|
163
96
|
* >>> THE NEXT TIME THIS FILE IS GENERATED
|
|
164
97
|
*
|
|
165
98
|
**********************************************************************************/
|
|
166
|
-
import { Arg, Ctx, Int, Query, Resolver, Field, Float, ObjectType,
|
|
99
|
+
import { Arg, Ctx, Int, Query, Resolver, Field, Float, ObjectType, InputType, Mutation,
|
|
167
100
|
PubSub, PubSubEngine, ResolverBase, RunViewByIDInput, RunViewByNameInput, RunDynamicViewInput,
|
|
168
101
|
AppContext, KeyValuePairInput, DeleteOptionsInput, GraphQLTimestamp as Timestamp,
|
|
169
102
|
GetReadOnlyProvider, GetReadWriteProvider, RestoreContextInput } from '@memberjunction/server';
|
|
@@ -205,8 +138,7 @@ ${this.generateEntityImports(entities, importLibrary, isInternal)}
|
|
|
205
138
|
}
|
|
206
139
|
return imports.join('\n');
|
|
207
140
|
}
|
|
208
|
-
generateEntitySpecificServerFileHeader(entity, importLibrary
|
|
209
|
-
const md = new Metadata(); // global-provider-ok: codegen runs offline against a single provider
|
|
141
|
+
generateEntitySpecificServerFileHeader(entity, importLibrary) {
|
|
210
142
|
let sRet = `/********************************************************************************
|
|
211
143
|
* ${entity.Name} TypeGraphQL Type Class Definition - AUTO GENERATED FILE
|
|
212
144
|
*
|
|
@@ -221,24 +153,9 @@ import { MaxLength } from 'class-validator';
|
|
|
221
153
|
import { Field, ${entity._floatCount > 0 ? 'Float, ' : ''}Int, ObjectType, GetReadOnlyProvider, GetReadWriteProvider } from '@memberjunction/server';
|
|
222
154
|
import { ${`${entity.ClassName}Entity`} } from '${importLibrary}';
|
|
223
155
|
`;
|
|
224
|
-
//
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
const r = sortedRelatedEntities[i];
|
|
228
|
-
const re = md.Entities.find((e) => e.Name.toLowerCase() == r.RelatedEntity.toLowerCase());
|
|
229
|
-
// This per-entity file imports each related type from a RELATIVE SIBLING file, so the rule here is
|
|
230
|
-
// narrower than the field gate: a sibling file exists only for an entity generated in this run.
|
|
231
|
-
// Core types are deliberately NOT sibling-imported — in a non-core file they resolve through the
|
|
232
|
-
// `mj_core_schema_server_object_types` namespace import, so emitting `./MJUser` would break the
|
|
233
|
-
// build. Hence set membership directly rather than isRelatedTypeOutOfScope.
|
|
234
|
-
const emitSiblingImport = availability
|
|
235
|
-
? availability.generatedEntityNames.has(re.Name.trim().toLowerCase())
|
|
236
|
-
: !this.isRelatedTypeOutOfScope(entity, re, excludeRelatedEntitiesExternalToSchema);
|
|
237
|
-
if (emitSiblingImport) {
|
|
238
|
-
const tableName = sortedRelatedEntities[i].RelatedEntityBaseTableCodeName;
|
|
239
|
-
sRet += `\nimport ${tableName} from './${tableName}';`;
|
|
240
|
-
}
|
|
241
|
-
}
|
|
156
|
+
// Sibling imports for related GraphQL types used to exist so reverse-relationship
|
|
157
|
+
// `@Field(() => [Related_])` members could resolve. Those members are no longer
|
|
158
|
+
// emitted, so the imports would be unused.
|
|
242
159
|
return sRet;
|
|
243
160
|
}
|
|
244
161
|
generateServerEntityHeader(entity, serverGraphQLTypeName) {
|
|
@@ -301,30 +218,7 @@ export class ${serverGraphQLTypeName} {`;
|
|
|
301
218
|
}
|
|
302
219
|
return '() => Int';
|
|
303
220
|
}
|
|
304
|
-
|
|
305
|
-
const re = md.Entities.find((e) => e.Name.toLowerCase() === r.RelatedEntity.toLowerCase());
|
|
306
|
-
const classPackagePrefix = re.SchemaName === mjCoreSchema && !isInternal ? 'mj_core_schema_server_object_types.' : '';
|
|
307
|
-
const relatedTypeName = this.getServerGraphQLTypeName(re);
|
|
308
|
-
const relatedClassName = classPackagePrefix + relatedTypeName;
|
|
309
|
-
// create a code name that is the combination of the relatedentitycode name plus the relatedentityjoinfield that has spaces stripped
|
|
310
|
-
// and replace all special characters with an underscore
|
|
311
|
-
const uniqueCodeName = `${r.RelatedEntityCodeName}_${r.RelatedEntityJoinField.replace(/ /g, '')}`.replace(/[^a-zA-Z0-9]/g, '_');
|
|
312
|
-
if (r.Type.toLowerCase().trim() == 'one to many') {
|
|
313
|
-
return `
|
|
314
|
-
@Field(() => [${relatedClassName}])
|
|
315
|
-
${uniqueCodeName}Array: ${relatedClassName}[]; // Link to ${r.RelatedEntityCodeName}
|
|
316
|
-
`;
|
|
317
|
-
}
|
|
318
|
-
else {
|
|
319
|
-
// many to many
|
|
320
|
-
return `
|
|
321
|
-
@Field(() => [${relatedClassName}])
|
|
322
|
-
${uniqueCodeName}Array: ${relatedClassName}[]; // Link to ${r.RelatedEntity}
|
|
323
|
-
`;
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
generateServerGraphQLResolver(entity, serverGraphQLTypeName, excludeRelatedEntitiesExternalToSchema, isInternal, availability) {
|
|
327
|
-
const md = new Metadata(); // global-provider-ok: codegen runs offline against a single provider
|
|
221
|
+
generateServerGraphQLResolver(entity, serverGraphQLTypeName) {
|
|
328
222
|
const typeNameBase = this.getServerGraphQLTypeNameBase(entity);
|
|
329
223
|
let sRet = '';
|
|
330
224
|
// we only generate resolvers for entities that have a primary key field
|
|
@@ -456,35 +350,11 @@ export class ${typeNameBase}Resolver${entity.CustomResolverAPI ? 'Base' : ''} ex
|
|
|
456
350
|
`;
|
|
457
351
|
}
|
|
458
352
|
}
|
|
459
|
-
//
|
|
460
|
-
//
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
const re = md.Entities.find((e) => e.Name.toLowerCase() === r.RelatedEntity.toLowerCase());
|
|
465
|
-
// only include the relationship if we are IncludeInAPI for the related entity
|
|
466
|
-
if (re.IncludeInAPI) {
|
|
467
|
-
if (re.ExternalDataSourceID) {
|
|
468
|
-
// The related entity is external-data-source-backed: its field resolver would query
|
|
469
|
-
// `SELECT * FROM <re.BaseView>`, but external entities have no MJ base view. Skip it rather
|
|
470
|
-
// than emit a resolver that fails at runtime (external rows are reachable via that entity's
|
|
471
|
-
// own RunView with a filter on the join column).
|
|
472
|
-
sRet += `// Relationship to ${r.RelatedEntity} not generated: related entity is external (no local base view to query).\n`;
|
|
473
|
-
}
|
|
474
|
-
else if (this.isRelatedTypeOutOfScope(entity, re, excludeRelatedEntitiesExternalToSchema, availability)) {
|
|
475
|
-
sRet += `// Relationship to ${r.RelatedEntity} not generated: its GraphQL type is not declared in this file.\n`;
|
|
476
|
-
}
|
|
477
|
-
else {
|
|
478
|
-
if (r.Type.toLowerCase().trim() == 'many to many')
|
|
479
|
-
sRet += this.generateManyToManyFieldResolver(entity, r);
|
|
480
|
-
else
|
|
481
|
-
sRet += this.generateOneToManyFieldResolver(entity, r, isInternal);
|
|
482
|
-
}
|
|
483
|
-
}
|
|
484
|
-
else {
|
|
485
|
-
sRet += `// Relationship to ${r.RelatedEntity} is not included in the API because it is not marked as IncludeInAPI\n`;
|
|
486
|
-
}
|
|
487
|
-
}
|
|
353
|
+
// Reverse-relationship FieldResolvers (`Foo_BarIDArray`) are not generated.
|
|
354
|
+
// They issued a per-parent `SELECT *` with no DataLoader and were unused in-tree.
|
|
355
|
+
// Load children via RunView or a DeclareRelatedRecords collection; for a
|
|
356
|
+
// mutation that already has the graph in memory, put the children on a
|
|
357
|
+
// hand-written result type (see QueryMutationResultType).
|
|
488
358
|
// now do the mutations
|
|
489
359
|
const sInputType = this.generateServerGraphQLInputType(entity);
|
|
490
360
|
if (sInputType !== '') {
|
|
@@ -642,89 +512,5 @@ export class ${classPrefix}${typeNameBase}Input {`;
|
|
|
642
512
|
}
|
|
643
513
|
return sRet;
|
|
644
514
|
}
|
|
645
|
-
generateOneToManyFieldResolver(entity, r, isInternal) {
|
|
646
|
-
const md = new Metadata(); // global-provider-ok: codegen runs offline against a single provider
|
|
647
|
-
const re = md.EntityByName(r.RelatedEntity);
|
|
648
|
-
const typeNameBase = this.getServerGraphQLTypeNameBase(entity);
|
|
649
|
-
const instanceName = typeNameBase.toLowerCase() + this.GraphQLTypeSuffix;
|
|
650
|
-
let filterFieldName = '';
|
|
651
|
-
if (!r.EntityKeyField) {
|
|
652
|
-
filterFieldName = entity.FirstPrimaryKey.CodeName;
|
|
653
|
-
}
|
|
654
|
-
else {
|
|
655
|
-
const field = entity.Fields.find((f) => f.Name.trim().toLowerCase() === r.EntityKeyField.trim().toLowerCase());
|
|
656
|
-
if (field) {
|
|
657
|
-
filterFieldName = field.CodeName;
|
|
658
|
-
}
|
|
659
|
-
else {
|
|
660
|
-
logError(`GenerateOneToManyFieldResolver: EntityRelationshipInfo Field ${r.EntityKeyField} not found in entity ${entity.Name} - check the relationship ${r.ID} and the EntityKeyField property`);
|
|
661
|
-
return '';
|
|
662
|
-
}
|
|
663
|
-
}
|
|
664
|
-
const filterField = entity.Fields.find((f) => f.CodeName.toLowerCase() === filterFieldName.toLowerCase());
|
|
665
|
-
if (!filterField) {
|
|
666
|
-
logError(`GenerateOneToManyFieldResolver: Field ${filterFieldName} not found in entity ${entity.Name} - check the relationship ${r.ID} and the EntityKeyField property`);
|
|
667
|
-
return '';
|
|
668
|
-
}
|
|
669
|
-
const serverPackagePrefix = re.SchemaName === mjCoreSchema && !isInternal ? 'mj_core_schema_server_object_types.' : '';
|
|
670
|
-
const relatedTypeName = this.getServerGraphQLTypeName(re);
|
|
671
|
-
const serverClassName = serverPackagePrefix + relatedTypeName;
|
|
672
|
-
// create a code name that is the combination of the relatedentitycode name plus the relatedentityjoinfield that has spaces stripped
|
|
673
|
-
// and replace all special characters with an underscore
|
|
674
|
-
const uniqueCodeName = `${r.RelatedEntityCodeName}_${r.RelatedEntityJoinField.replace(/ /g, '')}`.replace(/[^a-zA-Z0-9]/g, '_');
|
|
675
|
-
return `
|
|
676
|
-
@FieldResolver(() => [${serverClassName}])
|
|
677
|
-
async ${uniqueCodeName}Array(@Root() ${instanceName}: ${typeNameBase + this.GraphQLTypeSuffix}, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
678
|
-
this.CheckUserReadPermissions('${r.RelatedEntity}', userPayload);
|
|
679
|
-
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
680
|
-
const sSQL = \`SELECT * FROM \${provider.QuoteSchemaAndView(${this.schemaNameExpression(re)}, '${r.RelatedEntityBaseView}')} WHERE \${provider.QuoteIdentifier('${r.RelatedEntityJoinField}')}=\${provider.BuildParameterPlaceholder(0)} \` + this.getRowLevelSecurityWhereClause(provider, '${r.RelatedEntity}', userPayload, EntityPermissionType.Read, 'AND');
|
|
681
|
-
const rows = await provider.ExecuteSQL(sSQL, [${instanceName}.${filterFieldName}], undefined, this.GetUserFromPayload(userPayload));
|
|
682
|
-
const result = await this.ArrayMapFieldNamesToCodeNames('${r.RelatedEntity}', rows, this.GetUserFromPayload(userPayload));
|
|
683
|
-
return result;
|
|
684
|
-
}
|
|
685
|
-
`;
|
|
686
|
-
}
|
|
687
|
-
generateManyToManyFieldResolver(entity, r) {
|
|
688
|
-
const md = new Metadata(); // global-provider-ok: codegen runs offline against a single provider
|
|
689
|
-
const re = md.Entities.find((e) => e.Name.toLowerCase() == r.RelatedEntity.toLowerCase());
|
|
690
|
-
const typeNameBase = this.getServerGraphQLTypeNameBase(entity);
|
|
691
|
-
const instanceName = typeNameBase.toLowerCase() + this.GraphQLTypeSuffix;
|
|
692
|
-
let filterFieldName = '';
|
|
693
|
-
if (!r.EntityKeyField) {
|
|
694
|
-
filterFieldName = entity.FirstPrimaryKey.CodeName;
|
|
695
|
-
}
|
|
696
|
-
else {
|
|
697
|
-
const field = entity.Fields.find((f) => f.Name.trim().toLowerCase() === r.EntityKeyField.trim().toLowerCase());
|
|
698
|
-
if (field) {
|
|
699
|
-
filterFieldName = field.CodeName;
|
|
700
|
-
}
|
|
701
|
-
else {
|
|
702
|
-
logError(`GenerateManyToManyFieldResolver: EntityRelationshipInfo Field ${r.EntityKeyField} not found in entity ${entity.Name} - check the relationship ${r.ID} and the EntityKeyField property`);
|
|
703
|
-
return '';
|
|
704
|
-
}
|
|
705
|
-
}
|
|
706
|
-
const filterField = entity.Fields.find((f) => f.CodeName.toLowerCase() === filterFieldName.toLowerCase());
|
|
707
|
-
if (!filterField) {
|
|
708
|
-
logError(`GenerateManyToManyFieldResolver: Field ${filterFieldName} not found in entity ${entity.Name} - check the relationship ${r.ID} and the EntityKeyField property`);
|
|
709
|
-
return '';
|
|
710
|
-
}
|
|
711
|
-
const serverPackagePrefix = re.SchemaName === mjCoreSchema ? 'mj_core_schema_server_object_types.' : '';
|
|
712
|
-
const relatedTypeName = this.getServerGraphQLTypeName(re);
|
|
713
|
-
const serverClassName = serverPackagePrefix + relatedTypeName;
|
|
714
|
-
// create a code name that is the combination of the relatedentitycode name plus the relatedentityjoinfield that has spaces stripped
|
|
715
|
-
// and replace all special characters with an underscore
|
|
716
|
-
const uniqueCodeName = `${r.RelatedEntityCodeName}_${r.JoinEntityJoinField.replace(/ /g, '')}`.replace(/[^a-zA-Z0-9]/g, '_');
|
|
717
|
-
return `
|
|
718
|
-
@FieldResolver(() => [${serverClassName}])
|
|
719
|
-
async ${uniqueCodeName}Array(@Root() ${instanceName}: ${typeNameBase + this.GraphQLTypeSuffix}, @Ctx() { userPayload, providers }: AppContext, @PubSub() pubSub: PubSubEngine) {
|
|
720
|
-
this.CheckUserReadPermissions('${r.RelatedEntity}', userPayload);
|
|
721
|
-
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
722
|
-
const sSQL = \`SELECT * FROM \${provider.QuoteSchemaAndView(${this.schemaNameExpression(re)}, '${r.RelatedEntityBaseView}')} WHERE \${provider.QuoteIdentifier('${re.FirstPrimaryKey.Name}')} IN (SELECT \${provider.QuoteIdentifier('${r.JoinEntityInverseJoinField}')} FROM \${provider.QuoteSchemaAndView(${this.schemaNameExpression(re)}, '${r.JoinView}')} WHERE \${provider.QuoteIdentifier('${r.JoinEntityJoinField}')}=\${provider.BuildParameterPlaceholder(0)}) \` + this.getRowLevelSecurityWhereClause(provider, '${r.RelatedEntity}', userPayload, EntityPermissionType.Read, 'AND');
|
|
723
|
-
const rows = await provider.ExecuteSQL(sSQL, [${instanceName}.${filterFieldName}], undefined, this.GetUserFromPayload(userPayload));
|
|
724
|
-
const result = await this.ArrayMapFieldNamesToCodeNames('${r.RelatedEntity}', rows, this.GetUserFromPayload(userPayload));
|
|
725
|
-
return result;
|
|
726
|
-
}
|
|
727
|
-
`;
|
|
728
|
-
}
|
|
729
515
|
}
|
|
730
516
|
//# sourceMappingURL=graphql_server_codegen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql_server_codegen.js","sourceRoot":"","sources":["../../src/Misc/graphql_server_codegen.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graphql_server_codegen.js","sourceRoot":"","sources":["../../src/Misc/graphql_server_codegen.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,31 @@ export declare class SQLLogging {
|
|
|
7
7
|
private static _OmitRecurringScriptsFromLog;
|
|
8
8
|
static get SQLLoggingFilePath(): string;
|
|
9
9
|
static get OmitRecurringScriptsFromLog(): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Rewrites the migrations-root segment of a path to `migrations-pg`.
|
|
12
|
+
*
|
|
13
|
+
* Matching on a path SEGMENT rather than a prefix is what makes this reliable. The original
|
|
14
|
+
* code exact-matched the single string `'./migrations/v5/'`, so once the repo moved to v6 an
|
|
15
|
+
* ordinary `'./migrations/v6/'` stopped matching and PostgreSQL CodeGen wrote its audit SQL
|
|
16
|
+
* into the SQL Server tree — silently. Anchoring at the start of the string fixes that case
|
|
17
|
+
* but still misses an absolute path (`/repo/migrations/v6/`, which is what `path.resolve` on
|
|
18
|
+
* a config value produces) and a Windows separator (`.\migrations\v6\`).
|
|
19
|
+
*
|
|
20
|
+
* Only the LAST such segment is rewritten, and the match is not global. Rewriting every
|
|
21
|
+
* occurrence is wrong twice over: a checkout that itself lives under a directory named
|
|
22
|
+
* `migrations` (`/Users/x/migrations/mj/migrations/v6/`) would have its ANCESTOR rewritten
|
|
23
|
+
* too, and `initSQLLogging` then `mkdirSync`s the result — silently fabricating a tree
|
|
24
|
+
* outside the repo and writing the audit SQL into it, which is precisely the misroute this
|
|
25
|
+
* helper exists to prevent. It also made the function non-idempotent for adjacent segments,
|
|
26
|
+
* because a shared separator stops two neighbours matching in one pass.
|
|
27
|
+
*
|
|
28
|
+
* Paths with no `migrations` segment are returned untouched — an explicit override elsewhere
|
|
29
|
+
* on disk is honored as-is, which is the documented behaviour. `migrations-pg` is already the
|
|
30
|
+
* destination and is left alone, so the function is idempotent.
|
|
31
|
+
*
|
|
32
|
+
* Public so the routing can be unit-tested without a CodeGen run.
|
|
33
|
+
*/
|
|
34
|
+
static redirectToPGMigrations(folderPath: string): string;
|
|
10
35
|
static initSQLLogging(): void;
|
|
11
36
|
static finishSQLLogging(): void;
|
|
12
37
|
protected static createFileName(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql_logging.d.ts","sourceRoot":"","sources":["../../src/Misc/sql_logging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"sql_logging.d.ts","sourceRoot":"","sources":["../../src/Misc/sql_logging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAMxE;;GAEG;AACH,qBAAa,UAAU;IACnB,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAc;IAChD,OAAO,CAAC,MAAM,CAAC,4BAA4B,CAAkB;IAE7D,WAAkB,kBAAkB,IAAI,MAAM,CAE7C;IACD,WAAkB,2BAA2B,IAAI,OAAO,CAEvD;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;WACW,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;WAwBlD,cAAc;WA2Cb,gBAAgB;IAa9B,SAAS,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM;IAe1C;;;;;;OAMG;IACH;;;;;;;;OAQG;WACiB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,iBAAiB,GAAE,OAAe,EAAE,qBAAqB,GAAE,OAAe,EAAE,cAAc,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA8CxM;;;;;;;;;MASE;WACkB,gBAAgB,CAAC,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,iBAAiB,GAAE,OAAe,EAAE,qBAAqB,GAAE,OAAe,EAAE,cAAc,GAAE,MAAa,GAAG,OAAO,CAAC,GAAG,CAAC;IAMzN,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAUxD,SAAS,CAAC,MAAM,CAAC,2BAA2B,IAAI,IAAI;IAyBnD;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;CAG9B"}
|
package/dist/Misc/sql_logging.js
CHANGED
|
@@ -2,8 +2,6 @@ import { configInfo, mj_core_schema, dbPlatform } from "../Config/config.js";
|
|
|
2
2
|
import { logError, logStatus } from "./status_logging.js";
|
|
3
3
|
import * as fs from 'fs';
|
|
4
4
|
import path from 'path';
|
|
5
|
-
const DEFAULT_SS_SQL_OUTPUT_FOLDER = './migrations/v5/';
|
|
6
|
-
const DEFAULT_PG_SQL_OUTPUT_FOLDER = './migrations-pg/v5/';
|
|
7
5
|
/**
|
|
8
6
|
* Utility class for logging SQL to a run file that can be fresh for each run or appended to depending on the settings in the configuration
|
|
9
7
|
*/
|
|
@@ -16,6 +14,53 @@ export class SQLLogging {
|
|
|
16
14
|
static get OmitRecurringScriptsFromLog() {
|
|
17
15
|
return SQLLogging._OmitRecurringScriptsFromLog;
|
|
18
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Rewrites the migrations-root segment of a path to `migrations-pg`.
|
|
19
|
+
*
|
|
20
|
+
* Matching on a path SEGMENT rather than a prefix is what makes this reliable. The original
|
|
21
|
+
* code exact-matched the single string `'./migrations/v5/'`, so once the repo moved to v6 an
|
|
22
|
+
* ordinary `'./migrations/v6/'` stopped matching and PostgreSQL CodeGen wrote its audit SQL
|
|
23
|
+
* into the SQL Server tree — silently. Anchoring at the start of the string fixes that case
|
|
24
|
+
* but still misses an absolute path (`/repo/migrations/v6/`, which is what `path.resolve` on
|
|
25
|
+
* a config value produces) and a Windows separator (`.\migrations\v6\`).
|
|
26
|
+
*
|
|
27
|
+
* Only the LAST such segment is rewritten, and the match is not global. Rewriting every
|
|
28
|
+
* occurrence is wrong twice over: a checkout that itself lives under a directory named
|
|
29
|
+
* `migrations` (`/Users/x/migrations/mj/migrations/v6/`) would have its ANCESTOR rewritten
|
|
30
|
+
* too, and `initSQLLogging` then `mkdirSync`s the result — silently fabricating a tree
|
|
31
|
+
* outside the repo and writing the audit SQL into it, which is precisely the misroute this
|
|
32
|
+
* helper exists to prevent. It also made the function non-idempotent for adjacent segments,
|
|
33
|
+
* because a shared separator stops two neighbours matching in one pass.
|
|
34
|
+
*
|
|
35
|
+
* Paths with no `migrations` segment are returned untouched — an explicit override elsewhere
|
|
36
|
+
* on disk is honored as-is, which is the documented behaviour. `migrations-pg` is already the
|
|
37
|
+
* destination and is left alone, so the function is idempotent.
|
|
38
|
+
*
|
|
39
|
+
* Public so the routing can be unit-tested without a CodeGen run.
|
|
40
|
+
*/
|
|
41
|
+
static redirectToPGMigrations(folderPath) {
|
|
42
|
+
// Split on either separator so a Windows-style path is handled without normalizing the
|
|
43
|
+
// whole string (which would rewrite the caller's separators as a side effect).
|
|
44
|
+
const segments = folderPath.split(/([\\/])/);
|
|
45
|
+
// Already inside the PostgreSQL tree — nothing to do. This check is what makes the
|
|
46
|
+
// function idempotent, and it is not redundant with the loop below: after one rewrite the
|
|
47
|
+
// path may STILL contain an earlier `migrations` segment (an ancestor directory that
|
|
48
|
+
// happens to be named that), and a second application would walk left and rewrite the
|
|
49
|
+
// ancestor too.
|
|
50
|
+
if (segments.includes('migrations-pg'))
|
|
51
|
+
return folderPath;
|
|
52
|
+
// Rewrite only the LAST `migrations` segment — the migrations root, not an ancestor that
|
|
53
|
+
// shares its name. Rewriting an ancestor sends the audit SQL to a path that does not
|
|
54
|
+
// exist, and `initSQLLogging` mkdirSync's it, silently fabricating a tree outside the
|
|
55
|
+
// repo: exactly the misroute this helper exists to prevent.
|
|
56
|
+
for (let i = segments.length - 1; i >= 0; i--) {
|
|
57
|
+
if (segments[i] === 'migrations') {
|
|
58
|
+
segments[i] = 'migrations-pg';
|
|
59
|
+
return segments.join('');
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return folderPath;
|
|
63
|
+
}
|
|
19
64
|
static initSQLLogging() {
|
|
20
65
|
SQLLogging._OmitRecurringScriptsFromLog = configInfo.SQLOutput.omitRecurringScriptsFromLog;
|
|
21
66
|
if (!SQLLogging.SQLLoggingFilePath) {
|
|
@@ -28,13 +73,11 @@ export class SQLLogging {
|
|
|
28
73
|
if (!config.enabled)
|
|
29
74
|
return; // we are not doing anything here....
|
|
30
75
|
if (config.folderPath) {
|
|
31
|
-
// On PostgreSQL,
|
|
32
|
-
//
|
|
33
|
-
// the rest of the PG tooling. Users who explicitly override folderPath are
|
|
34
|
-
// honored as-is.
|
|
76
|
+
// On PostgreSQL, redirect the migrations root so CodeGen audit SQL lands in
|
|
77
|
+
// migrations-pg/ alongside the rest of the PG tooling.
|
|
35
78
|
let folderPath = config.folderPath;
|
|
36
|
-
if (dbPlatform() === 'postgresql'
|
|
37
|
-
folderPath =
|
|
79
|
+
if (dbPlatform() === 'postgresql') {
|
|
80
|
+
folderPath = SQLLogging.redirectToPGMigrations(folderPath);
|
|
38
81
|
}
|
|
39
82
|
const dirExists = fs.existsSync(folderPath);
|
|
40
83
|
if (!dirExists) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql_logging.js","sourceRoot":"","sources":["../../src/Misc/sql_logging.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAmB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB
|
|
1
|
+
{"version":3,"file":"sql_logging.js","sourceRoot":"","sources":["../../src/Misc/sql_logging.ts"],"names":[],"mappings":"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"}
|