@memberjunction/codegen-lib 2.13.0 → 2.13.2

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.
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity_subclasses_codegen.d.ts","sourceRoot":"","sources":["../src/entity_subclasses_codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA4B,UAAU,EAA6B,MAAM,sBAAsB,CAAC;AAOxH;;GAEG;AACH,qBACa,2BAA2B;IAC/B,2BAA2B,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAkB/E,gCAAgC,IAAI,MAAM;IAYjD;;;;OAIG;IACI,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,iBAAiB,GAAE,OAAe,GAAG,MAAM;IAwHtF,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAiDjD,sBAAsB,CAAC,WAAW,EAAE,eAAe,GAAG,MAAM;CAepE"}
@@ -1,227 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.EntitySubClassGeneratorBase = void 0;
13
- const core_1 = require("@memberjunction/core");
14
- const fs_1 = __importDefault(require("fs"));
15
- const path_1 = __importDefault(require("path"));
16
- const util_1 = require("./Misc/util");
17
- const global_1 = require("@memberjunction/global");
18
- const logging_1 = require("./Misc/logging");
19
- /**
20
- * Base class for generating entity sub-classes, you can sub-class this class to modify/extend your own entity sub-class generator logic
21
- */
22
- let EntitySubClassGeneratorBase = class EntitySubClassGeneratorBase {
23
- generateAllEntitySubClasses(entities, directory) {
24
- try {
25
- const sortedEntities = entities.sort((a, b) => a.Name.localeCompare(b.Name));
26
- const zodContent = sortedEntities.map((entity) => this.GenerateSchemaAndType(entity)).join('');
27
- const sContent = sortedEntities.map((e) => this.generateEntitySubClass(e, false)).join('');
28
- const allContent = `${this.generateEntitySubClassFileHeader()} \n ${zodContent} \n ${sContent}`;
29
- (0, util_1.makeDir)(directory);
30
- fs_1.default.writeFileSync(path_1.default.join(directory, 'entity_subclasses.ts'), allContent);
31
- return true;
32
- }
33
- catch (err) {
34
- console.error(err);
35
- return false;
36
- }
37
- }
38
- generateEntitySubClassFileHeader() {
39
- return `import { BaseEntity, EntitySaveOptions, CompositeKey } from "@memberjunction/core";
40
- import { RegisterClass } from "@memberjunction/global";
41
- import { z } from "zod";
42
-
43
- export const loadModule = () => {
44
- // no-op, only used to ensure this file is a valid module and to allow easy loading
45
- }
46
-
47
- `;
48
- }
49
- /**
50
- *
51
- * @param entity
52
- * @param includeFileHeader
53
- */
54
- generateEntitySubClass(entity, includeFileHeader = false) {
55
- if (entity.PrimaryKeys.length === 0) {
56
- console.warn(`Entity ${entity.Name} has no primary keys. Skipping.`);
57
- return '';
58
- }
59
- else {
60
- const fields = entity.Fields.map((e) => {
61
- let values = '';
62
- let valueList = '';
63
- if (e.ValueListType && e.ValueListType.length > 0 && e.ValueListType.trim().toLowerCase() !== 'none') {
64
- values = e.EntityFieldValues.map((v) => `\n * * ${v.Value}${v.Description && v.Description.length > 0 ? ' - ' + v.Description : ''}`).join('');
65
- valueList = `\n * * Value List Type: ${e.ValueListType}\n * * Possible Values ` + values;
66
- }
67
- let typeString = (0, core_1.TypeScriptTypeFromSQLType)(e.Type) + (e.AllowsNull ? ' | null' : '');
68
- if (e.ValueListTypeEnum !== core_1.EntityFieldValueListType.None && e.EntityFieldValues && e.EntityFieldValues.length > 0) {
69
- // construct a typeString that is a union of the possible values
70
- const quotes = e.NeedsQuotes ? "'" : '';
71
- typeString = e.EntityFieldValues.map((v) => `${quotes}${v.Value}${quotes}`).join(' | ');
72
- if (e.ValueListTypeEnum === core_1.EntityFieldValueListType.ListOrUserEntry) {
73
- // special case becuase a user can enter whatever they want
74
- typeString += ' | ' + (0, core_1.TypeScriptTypeFromSQLType)(e.Type);
75
- }
76
- // finally, add the null type if it allows null
77
- if (e.AllowsNull) {
78
- typeString += ' | null';
79
- }
80
- }
81
- let sRet = ` /**
82
- * * Field Name: ${e.Name}${e.DisplayName && e.DisplayName.length > 0 ? '\n * * Display Name: ' + e.DisplayName : ''}
83
- * * SQL Data Type: ${e.SQLFullType}${e.RelatedEntity ? '\n * * Related Entity/Foreign Key: ' + e.RelatedEntity + ' (' + e.RelatedEntityBaseView + '.' + e.RelatedEntityFieldName + ')' : ''}${e.DefaultValue && e.DefaultValue.length > 0 ? '\n * * Default Value: ' + e.DefaultValue : ''}${valueList}${e.Description && e.Description.length > 0 ? '\n * * Description: ' + e.Description : ''}
84
- */
85
- get ${e.CodeName}(): ${typeString} {
86
- return this.Get('${e.Name}');
87
- }`;
88
- if (!e.ReadOnly) {
89
- sRet += `
90
- set ${e.CodeName}(value: ${typeString}) {
91
- this.Set('${e.Name}', value);
92
- }`;
93
- }
94
- return sRet;
95
- }).join('\n\n');
96
- const sClassName = `${entity.ClassName}Entity`;
97
- const subClass = entity.EntityObjectSubclassName ? entity.EntityObjectSubclassName : '';
98
- const subClassImport = entity.EntityObjectSubclassImport ? entity.EntityObjectSubclassImport : '';
99
- const sBaseClass = subClass.length > 0 && subClassImport.length > 0 ? `${subClass}` : 'BaseEntity';
100
- const subClassImportStatement = subClass.length > 0 && subClassImport.length > 0 ? `import { ${subClass} } from '${subClassImport}';\n` : '';
101
- const loadFieldString = entity.PrimaryKeys.map((f) => `${f.CodeName}: ${f.TSType}`).join(', ');
102
- const loadFunction = ` /**
103
- * Loads the ${entity.Name} record from the database
104
- ${entity.PrimaryKeys.map((f) => `* @param ${f.CodeName}: ${f.TSType} - primary key value to load the ${entity.Name} record.`).join('\n ')}
105
- * @param EntityRelationshipsToLoad - (optional) the relationships to load
106
- * @returns {Promise<boolean>} - true if successful, false otherwise
107
- * @public
108
- * @async
109
- * @memberof ${sClassName}
110
- * @method
111
- * @override
112
- */
113
- public async Load(${loadFieldString}, EntityRelationshipsToLoad?: string[]) : Promise<boolean> {
114
- const compositeKey: CompositeKey = new CompositeKey();
115
- ${entity.PrimaryKeys.map((f) => `compositeKey.KeyValuePairs.push({ FieldName: '${f.Name}', Value: ${f.CodeName} });`).join('\n ')}
116
- return await super.InnerLoad(compositeKey, EntityRelationshipsToLoad);
117
- }`;
118
- const deleteFunction = entity.AllowDeleteAPI
119
- ? ''
120
- : ` /**
121
- * ${entity.Name} - AllowDeleteAPI is set to 0 in the database. Delete is not allowed, so this method is generated to override the base class method and throw an error. To enable delete for this entity, set AllowDeleteAPI to 1 in the database.
122
- * @public
123
- * @method
124
- * @override
125
- * @memberof ${sClassName}
126
- * @throws {Error} - Delete is not allowed for ${entity.Name}, to enable it set AllowDeleteAPI to 1 in the database.
127
- */
128
- public async Delete(): Promise<boolean> {
129
- throw new Error('Delete is not allowed for ${entity.Name}, to enable it set AllowDeleteAPI to 1 in the database.');
130
- }`;
131
- const saveFunction = entity.AllowCreateAPI || entity.AllowUpdateAPI
132
- ? ''
133
- : ` /**
134
- * ${entity.Name} - AllowCreateAPI and AllowUpdateAPI are both set to 0 in the database. Save is not allowed, so this method is generated to override the base class method and throw an error. To enable save for this entity, set AllowCreateAPI and/or AllowUpdateAPI to 1 in the database.
135
- * @public
136
- * @method
137
- * @override
138
- * @memberof ${sClassName}
139
- * @throws {Error} - Save is not allowed for ${entity.Name}, to enable it set AllowCreateAPI and/or AllowUpdateAPI to 1 in the database.
140
- */
141
- public async Save(options?: EntitySaveOptions) : Promise<boolean> {
142
- throw new Error('Save is not allowed for ${entity.Name}, to enable it set AllowCreateAPI and/or AllowUpdateAPI to 1 in the database.');
143
- }`;
144
- let sRet = `
145
-
146
- /**
147
- * ${entity.Name} - strongly typed entity sub-class
148
- * * Schema: ${entity.SchemaName}
149
- * * Base Table: ${entity.BaseTable}
150
- * * Base View: ${entity.BaseView}${entity.Description && entity.Description.length > 0 ? '\n * * @description ' + entity.Description : ''}
151
- * * Primary Key${entity.PrimaryKeys.length > 1 ? 's' : ''}: ${entity.PrimaryKeys.map((f) => f.Name).join(', ')}
152
- * @extends {BaseEntity}
153
- * @class
154
- * @public
155
- */
156
- ${subClassImportStatement}@RegisterClass(BaseEntity, '${entity.Name}')
157
- export class ${sClassName} extends ${sBaseClass}<${sClassName}Type> {${loadFunction ? '\n' + loadFunction : ''}${saveFunction ? '\n\n' + saveFunction : ''}${deleteFunction ? '\n\n' + deleteFunction : ''}
158
-
159
- ${fields}
160
- }
161
- `;
162
- if (includeFileHeader)
163
- sRet = this.generateEntitySubClassFileHeader() + sRet;
164
- return sRet;
165
- }
166
- }
167
- GenerateSchemaAndType(entity) {
168
- let content = '';
169
- if (entity.PrimaryKeys.length === 0) {
170
- (0, logging_1.logStatus)(`Entity ${entity.Name} has no primary keys. Skipping.`);
171
- }
172
- else {
173
- const fields = entity.Fields.map((e) => {
174
- let values = '';
175
- let valueList = '';
176
- if (e.ValueListType && e.ValueListType.length > 0 && e.ValueListType.trim().toLowerCase() !== 'none') {
177
- values = e.EntityFieldValues.map((v) => `\n * * ${v.Value}${v.Description && v.Description.length > 0 ? ' - ' + v.Description : ''}`).join('');
178
- valueList = `\n * * Value List Type: ${e.ValueListType}\n * * Possible Values ` + values;
179
- }
180
- let typeString = `${(0, core_1.TypeScriptTypeFromSQLType)(e.Type).toLowerCase()}()` + (e.AllowsNull ? '.nullish()' : '');
181
- if (e.ValueListTypeEnum !== core_1.EntityFieldValueListType.None && e.EntityFieldValues && e.EntityFieldValues.length > 0) {
182
- // construct a typeString that is a union of the possible values
183
- const quotes = e.NeedsQuotes ? "'" : '';
184
- typeString = `union([${e.EntityFieldValues.map((v) => `z.literal(${quotes}${v.Value}${quotes})`).join(', ')}])`;
185
- if (e.ValueListTypeEnum === core_1.EntityFieldValueListType.ListOrUserEntry) {
186
- // special case becuase a user can enter whatever they want
187
- typeString += `.or(z.${(0, core_1.TypeScriptTypeFromSQLType)(e.Type)}()) `;
188
- }
189
- // finally, add the null type if it allows null
190
- if (e.AllowsNull) {
191
- typeString += '.nullish()';
192
- }
193
- }
194
- let sRet = ` ${e.CodeName}: z.${typeString}.describe(\`\n${this.GenetateZodDescription(e)}\`),`;
195
- return sRet;
196
- }).join('\n');
197
- const schemaName = `${entity.ClassName}Schema`;
198
- content = `
199
- /**
200
- * zod schema definition for the entity ${entity.Name}
201
- */
202
- export const ${schemaName} = z.object({
203
- ${fields}
204
- });
205
-
206
- export type ${entity.ClassName}EntityType = z.infer<typeof ${schemaName}>;
207
- `;
208
- }
209
- return content;
210
- }
211
- GenetateZodDescription(entityField) {
212
- let result = '';
213
- let valueList = '';
214
- if (entityField.ValueListType && entityField.ValueListType.length > 0 && entityField.ValueListType.trim().toLowerCase() !== 'none') {
215
- let values = entityField.EntityFieldValues.map((v) => `\n * * ${v.Value}${v.Description && v.Description.length > 0 ? ' - ' + v.Description : ''}`).join('');
216
- valueList = `\n * * Value List Type: ${entityField.ValueListType}\n * * Possible Values ` + values;
217
- }
218
- result += ` * * Field Name: ${entityField.Name}${entityField.DisplayName && entityField.DisplayName.length > 0 ? '\n * * Display Name: ' + entityField.DisplayName : ''}\n`;
219
- result += ` * * SQL Data Type: ${entityField.SQLFullType}${entityField.RelatedEntity ? '\n * * Related Entity/Foreign Key: ' + entityField.RelatedEntity + ' (' + entityField.RelatedEntityBaseView + '.' + entityField.RelatedEntityFieldName + ')' : ''}${entityField.DefaultValue && entityField.DefaultValue.length > 0 ? '\n * * Default Value: ' + entityField.DefaultValue : ''}${valueList}${entityField.Description && entityField.Description.length > 0 ? '\n * * Description: ' + entityField.Description : ''}`;
220
- return result;
221
- }
222
- };
223
- exports.EntitySubClassGeneratorBase = EntitySubClassGeneratorBase;
224
- exports.EntitySubClassGeneratorBase = EntitySubClassGeneratorBase = __decorate([
225
- (0, global_1.RegisterClass)(EntitySubClassGeneratorBase)
226
- ], EntitySubClassGeneratorBase);
227
- //# sourceMappingURL=entity_subclasses_codegen.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity_subclasses_codegen.js","sourceRoot":"","sources":["../src/entity_subclasses_codegen.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import { EntityInfo } from '@memberjunction/core';
2
- /**
3
- * Base class for generating type definitions for entity sub-classes, you can sub-class this class to modify/extend your own entity sub-class generator logic
4
- */
5
- export declare class EntityTypeGeneratorBase {
6
- generateAllEntityTypeDefinitions(entities: EntityInfo[], directory: string): boolean;
7
- generateTypeDefinitionHeader(): string;
8
- /**
9
- *
10
- * @param entity
11
- * @param includeFileHeader
12
- */
13
- generateEntitySubClass(entity: EntityInfo): string;
14
- }
15
- //# sourceMappingURL=entity_types_codegen.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity_types_codegen.d.ts","sourceRoot":"","sources":["../src/entity_types_codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,UAAU,EAA6B,MAAM,sBAAsB,CAAC;AAOvG;;GAEG;AACH,qBACa,uBAAuB;IACzB,gCAAgC,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAepF,4BAA4B,IAAI,MAAM;IAO7C;;;;OAIG;IACI,sBAAsB,CAAC,MAAM,EAAE,UAAU,GAAI,MAAM;CAuD7D"}
@@ -1,106 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.EntityTypeGeneratorBase = void 0;
13
- const core_1 = require("@memberjunction/core");
14
- const fs_1 = __importDefault(require("fs"));
15
- const path_1 = __importDefault(require("path"));
16
- const util_1 = require("./Misc/util");
17
- const global_1 = require("@memberjunction/global");
18
- const logging_1 = require("./Misc/logging");
19
- /**
20
- * Base class for generating type definitions for entity sub-classes, you can sub-class this class to modify/extend your own entity sub-class generator logic
21
- */
22
- let EntityTypeGeneratorBase = class EntityTypeGeneratorBase {
23
- generateAllEntityTypeDefinitions(entities, directory) {
24
- try {
25
- const sortedEntities = entities.sort((a, b) => a.Name.localeCompare(b.Name));
26
- const sContent = this.generateTypeDefinitionHeader() + sortedEntities.map((entity) => this.generateEntitySubClass(entity)).join('');
27
- (0, logging_1.logStatus)(`Generating entity sub-class types file in ${directory}`);
28
- (0, util_1.makeDir)(directory);
29
- fs_1.default.writeFileSync(path_1.default.join(directory, 'entity_type_definitions.ts'), sContent);
30
- return true;
31
- }
32
- catch (err) {
33
- console.error(err);
34
- return false;
35
- }
36
- }
37
- generateTypeDefinitionHeader() {
38
- return `/*************************************************
39
- * GENERATED CODE - DO NOT MODIFY
40
- * Generated by MemberJunction CodeGen at ${new Date().toLocaleString()}
41
- **************************************************/`;
42
- }
43
- /**
44
- *
45
- * @param entity
46
- * @param includeFileHeader
47
- */
48
- generateEntitySubClass(entity) {
49
- if (entity.PrimaryKeys.length === 0) {
50
- (0, logging_1.logStatus)(`Entity ${entity.Name} has no primary keys. Skipping.`);
51
- }
52
- else {
53
- const fields = entity.Fields.map(e => {
54
- let values = '';
55
- let valueList = '';
56
- if (e.ValueListType &&
57
- e.ValueListType.length > 0 &&
58
- e.ValueListType.trim().toLowerCase() !== 'none') {
59
- values = e.EntityFieldValues.map(v => `\n * * ${v.Value}${v.Description && v.Description.length > 0 ? ' - ' + v.Description : ''}`).join('');
60
- valueList = `\n * * Value List Type: ${e.ValueListType}\n * * Possible Values ` + values;
61
- }
62
- let typeString = (0, core_1.TypeScriptTypeFromSQLType)(e.Type) + (e.AllowsNull ? ' | null' : '');
63
- if (e.ValueListTypeEnum !== core_1.EntityFieldValueListType.None && e.EntityFieldValues && e.EntityFieldValues.length > 0) {
64
- // construct a typeString that is a union of the possible values
65
- const quotes = e.NeedsQuotes ? "'" : '';
66
- typeString = e.EntityFieldValues.map(v => `${quotes}${v.Value}${quotes}`).join(' | ');
67
- if (e.ValueListTypeEnum === core_1.EntityFieldValueListType.ListOrUserEntry) {
68
- // special case becuase a user can enter whatever they want
69
- typeString += ' | ' + (0, core_1.TypeScriptTypeFromSQLType)(e.Type);
70
- }
71
- // finally, add the null type if it allows null
72
- if (e.AllowsNull) {
73
- typeString += ' | null';
74
- }
75
- }
76
- let sRet = ` /**
77
- * * Field Name: ${e.Name}${e.DisplayName && e.DisplayName.length > 0 ? '\n * * Display Name: ' + e.DisplayName : ''}
78
- * * SQL Data Type: ${e.SQLFullType}${e.RelatedEntity ? '\n * * Related Entity/Foreign Key: ' + e.RelatedEntity + ' (' + e.RelatedEntityBaseView + '.' + e.RelatedEntityFieldName + ')' : ''}${e.DefaultValue && e.DefaultValue.length > 0 ? '\n * * Default Value: ' + e.DefaultValue : ''}${valueList}${e.Description && e.Description.length > 0 ? '\n * * Description: ' + e.Description : ''}
79
- */
80
- ${e.CodeName}: ${typeString}`;
81
- return sRet;
82
- }).join('\n\n');
83
- const sClassName = `${entity.ClassName}Object`;
84
- let sRet = `
85
-
86
- /**
87
- * Type definition for the entity ${entity.Name}
88
- * * Schema: ${entity.SchemaName}
89
- * * Base Table: ${entity.BaseTable}
90
- * * Base View: ${entity.BaseView}${entity.Description && entity.Description.length > 0 ? '\n * * @description ' + entity.Description : ''}
91
- * * Primary Key${entity.PrimaryKeys.length > 1 ? 's' : ''}: ${entity.PrimaryKeys.map(f => f.Name).join(', ')}
92
- */
93
- export type ${sClassName} = {
94
-
95
- ${fields}
96
- }
97
- `;
98
- return sRet;
99
- }
100
- }
101
- };
102
- exports.EntityTypeGeneratorBase = EntityTypeGeneratorBase;
103
- exports.EntityTypeGeneratorBase = EntityTypeGeneratorBase = __decorate([
104
- (0, global_1.RegisterClass)(EntityTypeGeneratorBase)
105
- ], EntityTypeGeneratorBase);
106
- //# sourceMappingURL=entity_types_codegen.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity_types_codegen.js","sourceRoot":"","sources":["../src/entity_types_codegen.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- import { EntityInfo, EntityFieldInfo, EntityRelationshipInfo, Metadata } from '@memberjunction/core';
2
- /**
3
- * 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
4
- * so that your class is used.
5
- */
6
- export declare class GraphQLServerGeneratorBase {
7
- generateGraphQLServerCode(entities: EntityInfo[], outputDirectory: string, generatedEntitiesImportLibrary: string, excludeRelatedEntitiesExternalToSchema: boolean): boolean;
8
- protected _graphQLTypeSuffix: string;
9
- /**
10
- * The suffix to append to the GraphQL Type name, default is an underscore, override this property in your sub-class to change the suffix
11
- */
12
- get GraphQLTypeSuffix(): string;
13
- generateServerEntityString(entity: EntityInfo, includeFileHeader: boolean, generatedEntitiesImportLibrary: string, excludeRelatedEntitiesExternalToSchema: boolean): string;
14
- generateAllEntitiesServerFileHeader(entities: EntityInfo[], importLibrary: string, isInternal: boolean): string;
15
- generateEntitySpecificServerFileHeader(entity: EntityInfo, importLibrary: string, excludeRelatedEntitiesExternalToSchema: boolean): string;
16
- protected generateServerEntityHeader(entity: EntityInfo, serverGraphQLTypeName: string): string;
17
- protected generateServerEntityFooter(entity: EntityInfo): string;
18
- protected generateServerField(fieldInfo: EntityFieldInfo): string;
19
- protected getTypeGraphQLFieldString(fieldInfo: EntityFieldInfo): string;
20
- protected generateServerRelationship(md: Metadata, r: EntityRelationshipInfo, isInternal: boolean): string;
21
- protected generateServerGraphQLResolver(entity: EntityInfo, serverGraphQLTypeName: string, excludeRelatedEntitiesExternalToSchema: boolean, isInternal: boolean): string;
22
- protected schemaName(entity: EntityInfo): string;
23
- protected generateServerGraphQLInputType(entity: EntityInfo): string;
24
- protected generateServerGraphQLInputTypeInner(entity: EntityInfo, isUpdate: boolean, classPrefix: string): string;
25
- protected generateServerGraphQLMutations(entity: EntityInfo, serverGraphQLTypeName: string): string;
26
- protected generateOneToManyFieldResolver(entity: EntityInfo, r: EntityRelationshipInfo, isInternal: boolean): string;
27
- protected generateManyToManyFieldResolver(entity: EntityInfo, r: EntityRelationshipInfo): string;
28
- }
29
- //# sourceMappingURL=graphql_server_codegen.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graphql_server_codegen.d.ts","sourceRoot":"","sources":["../src/graphql_server_codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,sBAAsB,EAA6B,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAQhI;;;GAGG;AACH,qBACa,0BAA0B;IAC9B,yBAAyB,CAC9B,QAAQ,EAAE,UAAU,EAAE,EACtB,eAAe,EAAE,MAAM,EACvB,8BAA8B,EAAE,MAAM,EACtC,sCAAsC,EAAE,OAAO,GAC9C,OAAO;IAmBV,SAAS,CAAC,kBAAkB,SAAO;IACnC;;OAEG;IACH,IAAW,iBAAiB,IAAI,MAAM,CAErC;IAEM,0BAA0B,CAC/B,MAAM,EAAE,UAAU,EAClB,iBAAiB,EAAE,OAAO,EAC1B,8BAA8B,EAAE,MAAM,EACtC,sCAAsC,EAAE,OAAO,GAC9C,MAAM;IAqDF,mCAAmC,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM;IA+B/G,sCAAsC,CAC3C,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,MAAM,EACrB,sCAAsC,EAAE,OAAO,GAC9C,MAAM;IA6BT,SAAS,CAAC,0BAA0B,CAAC,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,GAAG,MAAM;IAa/F,SAAS,CAAC,0BAA0B,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAMhE,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM;IAejE,SAAS,CAAC,yBAAyB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM;IAiCvE,SAAS,CAAC,0BAA0B,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,sBAAsB,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM;IAuB1G,SAAS,CAAC,6BAA6B,CACrC,MAAM,EAAE,UAAU,EAClB,qBAAqB,EAAE,MAAM,EAC7B,sCAAsC,EAAE,OAAO,EAC/C,UAAU,EAAE,OAAO,GAClB,MAAM;IA2HT,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAMhD,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAOpE,SAAS,CAAC,mCAAmC,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAuCjH,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,GAAG,MAAM;IAqEnG,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,sBAAsB,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM;IA+CpH,SAAS,CAAC,+BAA+B,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,sBAAsB,GAAG,MAAM;CA6CjG"}