@memberjunction/codegen-lib 0.9.111 → 0.9.112
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.
|
@@ -22,7 +22,7 @@ function generateAllEntitySubClasses(entities, directory) {
|
|
|
22
22
|
}
|
|
23
23
|
exports.generateAllEntitySubClasses = generateAllEntitySubClasses;
|
|
24
24
|
function generateEntitySubClassFileHeader() {
|
|
25
|
-
return `import { BaseEntity, PrimaryKeyValue } from "@memberjunction/core";
|
|
25
|
+
return `import { BaseEntity, PrimaryKeyValue, EntitySaveOptions } from "@memberjunction/core";
|
|
26
26
|
import { RegisterClass } from "@memberjunction/global";
|
|
27
27
|
`;
|
|
28
28
|
}
|
|
@@ -44,11 +44,11 @@ function generateEntitySubClass(entity, includeFileHeader = false) {
|
|
|
44
44
|
e.ValueListType.length > 0 &&
|
|
45
45
|
e.ValueListType.trim().toLowerCase() !== 'none') {
|
|
46
46
|
values = e.EntityFieldValues.map(v => `\n * ${v.Value}${v.Description && v.Description.length > 0 ? ' - ' + v.Description : ''}`).join('');
|
|
47
|
-
valueList = `\n
|
|
47
|
+
valueList = `\n * Value List Type: ${e.ValueListType}\n * Possible Values ` + values;
|
|
48
48
|
}
|
|
49
|
-
let sRet = `
|
|
50
|
-
* * Field Name: ${e.Name}${e.DisplayName && e.DisplayName.length > 0 ? '\n
|
|
51
|
-
* * SQL Data Type: ${e.SQLFullType}${e.RelatedEntity ? '\n
|
|
49
|
+
let sRet = ` /**
|
|
50
|
+
* * Field Name: ${e.Name}${e.DisplayName && e.DisplayName.length > 0 ? '\n * * Display Name: ' + e.DisplayName : ''}
|
|
51
|
+
* * SQL Data Type: ${e.SQLFullType}${e.RelatedEntity ? '\n * * Related Entity: ' + e.RelatedEntity : ''}${e.DefaultValue && e.DefaultValue.length > 0 ? '\n * * Default Value: ' + e.DefaultValue : ''}${valueList}${e.Description && e.Description.length > 0 ? '\n * * Description: ' + e.Description : ''}
|
|
52
52
|
*/
|
|
53
53
|
get ${e.CodeName}(): ${(0, core_1.TypeScriptTypeFromSQLType)(e.Type)} {
|
|
54
54
|
return this.Get('${e.Name}');
|
|
@@ -84,12 +84,38 @@ function generateEntitySubClass(entity, includeFileHeader = false) {
|
|
|
84
84
|
return await super.InnerLoad(pkeyValues, EntityRelationshipsToLoad);
|
|
85
85
|
}
|
|
86
86
|
`;
|
|
87
|
+
const deleteFunction = entity.AllowDeleteAPI ? '' : `
|
|
88
|
+
/**
|
|
89
|
+
* ${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.
|
|
90
|
+
* @public
|
|
91
|
+
* @method
|
|
92
|
+
* @override
|
|
93
|
+
* @memberof ${sClassName}
|
|
94
|
+
* @throws {Error} - Delete is not allowed for ${entity.Name}, to enable it set AllowDeleteAPI to 1 in the database.
|
|
95
|
+
*/
|
|
96
|
+
public async Delete(): Promise<boolean> {
|
|
97
|
+
throw new Error('Delete is not allowed for ${entity.Name}, to enable it set AllowDeleteAPI to 1 in the database.');
|
|
98
|
+
}
|
|
99
|
+
`;
|
|
100
|
+
const saveFunction = entity.AllowCreateAPI || entity.AllowUpdateAPI ? '' : `
|
|
101
|
+
/**
|
|
102
|
+
* ${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.
|
|
103
|
+
* @public
|
|
104
|
+
* @method
|
|
105
|
+
* @override
|
|
106
|
+
* @memberof ${sClassName}
|
|
107
|
+
* @throws {Error} - Save is not allowed for ${entity.Name}, to enable it set AllowCreateAPI and/or AllowUpdateAPI to 1 in the database.
|
|
108
|
+
*/
|
|
109
|
+
public async Save(options?: EntitySaveOptions) : Promise<boolean> {
|
|
110
|
+
throw new Error('Save is not allowed for ${entity.Name}, to enable it set AllowCreateAPI and/or AllowUpdateAPI to 1 in the database.');
|
|
111
|
+
}
|
|
112
|
+
`;
|
|
87
113
|
let sRet = `
|
|
88
114
|
/**
|
|
89
115
|
* ${entity.Name} - strongly typed entity sub-class
|
|
90
116
|
* * Schema: ${entity.SchemaName}
|
|
91
117
|
* * Base Table: ${entity.BaseTable}
|
|
92
|
-
* * Base View: ${entity.BaseView}${entity.Description && entity.Description.length > 0 ? '\n
|
|
118
|
+
* * Base View: ${entity.BaseView}${entity.Description && entity.Description.length > 0 ? '\n * * @description ' + entity.Description : ''}
|
|
93
119
|
* * Primary Key${entity.PrimaryKeys.length > 1 ? 's' : ''}: ${entity.PrimaryKeys.map(f => f.Name).join(', ')}
|
|
94
120
|
* @extends {BaseEntity}
|
|
95
121
|
* @class
|
|
@@ -97,7 +123,7 @@ function generateEntitySubClass(entity, includeFileHeader = false) {
|
|
|
97
123
|
*/
|
|
98
124
|
${subClassImportStatement}@RegisterClass(BaseEntity, '${entity.Name}')
|
|
99
125
|
export class ${sClassName} extends ${sBaseClass} {
|
|
100
|
-
${loadFunction}
|
|
126
|
+
${loadFunction}${saveFunction}${deleteFunction}
|
|
101
127
|
${fields}
|
|
102
128
|
}
|
|
103
129
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity_subclasses_codegen.js","sourceRoot":"","sources":["../src/entity_subclasses_codegen.ts"],"names":[],"mappings":";;;;;;AAAA,+CAA6E;AAC7E,4CAAoB;AACpB,gDAAwB;AACxB,iCAAiC;AAEjC,SAAgB,2BAA2B,CAAC,QAAsB,EAAE,SAAiB;IACjF,IAAI;QACA,MAAM,QAAQ,GAAG,gCAAgC,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAClH,IAAA,cAAO,EAAC,SAAS,CAAC,CAAC;QACnB,YAAE,CAAC,aAAa,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,EAAE,QAAQ,CAAC,CAAC;QAEzE,OAAO,IAAI,CAAC;KACf;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,OAAO,KAAK,CAAC;KAChB;AACL,CAAC;AAXD,kEAWC;AACD,SAAgB,gCAAgC;IAC5C,OAAO;;CAEV,CAAA;AACD,CAAC;AAJD,4EAIC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CAAC,MAAkB,EAAE,oBAA6B,KAAK;IACzF,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;QACjC,OAAO,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,IAAI,kCAAkC,CAAC,CAAA;KACxE;SACI;QACD,MAAM,MAAM,GAAW,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACzC,IAAI,MAAM,GAAW,EAAE,CAAC;YACxB,IAAI,SAAS,GAAW,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;gBAC1B,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE;gBACjD,MAAM,GAAG,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9I,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"entity_subclasses_codegen.js","sourceRoot":"","sources":["../src/entity_subclasses_codegen.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/codegen-lib",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.112",
|
|
4
4
|
"description": "Library used by the CodeGen executable to generate code for the MemberJunction platform",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"@memberjunction/core": "^0.9.128",
|
|
24
24
|
"@memberjunction/core-entities": "^0.9.44",
|
|
25
25
|
"@memberjunction/global": "^0.9.117",
|
|
26
|
-
"@memberjunction/sqlserver-dataprovider": "^0.9.
|
|
26
|
+
"@memberjunction/sqlserver-dataprovider": "^0.9.133",
|
|
27
27
|
"env-var": "^7.4.1",
|
|
28
28
|
"fs-extra": "^11.1.1",
|
|
29
29
|
"glob": "^10.3.10",
|