runlify 0.0.252 → 0.0.253
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 +3 -1
- package/build/projectsGeneration/generateEntity.js +193 -154
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/class.js +11 -39
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/config.js +49 -19
- package/build/projectsGeneration/generators/fileTemplates/back/services/serviceConstrictors.js +3 -5
- package/build/projectsGeneration/types.js +1 -1
- package/build/projectsGeneration/utils.js +16 -14
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/class.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/config.d.ts +2 -1
- package/build/types/projectsGeneration/utils.d.ts +2 -1
- package/package.json +1 -1
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/additionalClass.js +0 -10
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/additionalMethods.js +0 -10
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/getPostOperations.js +0 -51
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/getRegistryEntries.js +0 -11
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/getUnPostOperations.js +0 -19
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/additionalClass.d.ts +0 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/additionalMethods.d.ts +0 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/getPostOperations.d.ts +0 -3
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/getRegistryEntries.d.ts +0 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/getUnPostOperations.d.ts +0 -3
|
@@ -62,7 +62,6 @@ var DefaultActions_1 = require("./generators/fileTemplates/ui/pages/EntityShow/D
|
|
|
62
62
|
var utils_1 = require("./utils");
|
|
63
63
|
var fs_jetpack_1 = require("fs-jetpack");
|
|
64
64
|
var additionalTabs_1 = require("./generators/fileTemplates/ui/pages/EntityShow/additionalTabs");
|
|
65
|
-
var additionalMethods_1 = require("./generators/fileTemplates/back/services/entity/additionalMethods");
|
|
66
65
|
var additionalResolvers_1 = require("./generators/fileTemplates/back/graph/additionalResolvers");
|
|
67
66
|
var entityPermissionToGraphqlTmpl_1 = require("./generators/fileTemplates/back/graph/entityPermissionToGraphqlTmpl");
|
|
68
67
|
var entityAdditionalPermissionToGraphqlTmpl_1 = require("./generators/fileTemplates/back/graph/entityAdditionalPermissionToGraphqlTmpl");
|
|
@@ -77,9 +76,6 @@ var beforeCreate_1 = require("./generators/fileTemplates/back/services/entity/ho
|
|
|
77
76
|
var beforeUpdate_1 = require("./generators/fileTemplates/back/services/entity/hooks/beforeUpdate");
|
|
78
77
|
var afterUpdate_1 = require("./generators/fileTemplates/back/services/entity/hooks/afterUpdate");
|
|
79
78
|
var afterDelete_1 = require("./generators/fileTemplates/back/services/entity/hooks/afterDelete");
|
|
80
|
-
var getUnPostOperations_1 = require("./generators/fileTemplates/back/services/entity/hooks/getUnPostOperations");
|
|
81
|
-
var getRegistryEntries_1 = require("./generators/fileTemplates/back/services/entity/hooks/getRegistryEntries");
|
|
82
|
-
var getPostOperations_1 = require("./generators/fileTemplates/back/services/entity/hooks/getPostOperations");
|
|
83
79
|
var beforeDelete_1 = require("./generators/fileTemplates/back/services/entity/hooks/beforeDelete");
|
|
84
80
|
var beforeUpsert_1 = require("./generators/fileTemplates/back/services/entity/hooks/beforeUpsert");
|
|
85
81
|
var changeListFilter_1 = require("./generators/fileTemplates/back/services/entity/hooks/changeListFilter");
|
|
@@ -90,169 +86,212 @@ var initBuiltInHooks_1 = require("./generators/fileTemplates/back/services/entit
|
|
|
90
86
|
var tenantIdRequiredHooks_1 = require("./generators/fileTemplates/back/services/entity/hooks/tenantIdRequiredHooks");
|
|
91
87
|
var config_1 = require("./generators/fileTemplates/back/services/entity/config");
|
|
92
88
|
var class_1 = require("./generators/fileTemplates/back/services/entity/class");
|
|
93
|
-
var additionalClass_1 = require("./generators/fileTemplates/back/services/entity/additionalClass");
|
|
94
89
|
var generateEntity = function (entityWideGenerationArgs) { return __awaiter(void 0, void 0, void 0, function () {
|
|
95
|
-
var
|
|
96
|
-
|
|
97
|
-
|
|
90
|
+
var allEntities, allSumRegistries, allInfoRegistries, entity, allLinks, options, prjBackSrcPrefixedDir, prjDetachedBackSrcDir, serviceName, serviceDir, servicePath, configPath, aditionalsMethodsClassPath, additionalsClassText, searchString, importsText, first, indexEndOfString, index, beforeFromAdditionalMethods, codeFromAdditionalMethods, generatedClassService, generatedClassService, config, generatedService, hooksDir, graphServiceDir, prjUiSrcPrefixedDir, prjDetachedUiSrcDir, widgetsDir, countWdgetsDir, generatedResources, toLinks, pagesDir, entityShowDir, mainTab, defaultMainTab, additionalTabs, _i, toLinks_1, link, tabsDir, entity_1, componentName, dependencyTab, entityCreateDir, entityEditDir, entityListDir, listWdgetsDir, generatedResources;
|
|
91
|
+
var _a, _b, _c;
|
|
92
|
+
return __generator(this, function (_d) {
|
|
93
|
+
switch (_d.label) {
|
|
98
94
|
case 0:
|
|
99
|
-
|
|
95
|
+
allEntities = entityWideGenerationArgs.allEntities, allSumRegistries = entityWideGenerationArgs.allSumRegistries, allInfoRegistries = entityWideGenerationArgs.allInfoRegistries, entity = entityWideGenerationArgs.entity, allLinks = entityWideGenerationArgs.allLinks, options = entityWideGenerationArgs.options;
|
|
100
96
|
prjBackSrcPrefixedDir = '';
|
|
101
97
|
prjDetachedBackSrcDir = (0, path_1.join)(options.detachedBackProject, 'src');
|
|
102
98
|
// if (options.detachedBackProject) {
|
|
103
99
|
prjBackSrcPrefixedDir = (0, path_1.join)(prjDetachedBackSrcDir, 'adm');
|
|
104
|
-
if (!(options.genPrismaServices && !options.typesOnly)) return [3 /*break*/,
|
|
100
|
+
if (!(options.genPrismaServices && !options.typesOnly)) return [3 /*break*/, 29];
|
|
105
101
|
serviceName = "".concat((0, cases_1.pascalPlural)(entity.name), "Service");
|
|
106
102
|
serviceDir = (0, path_1.join)(prjBackSrcPrefixedDir, 'services', serviceName);
|
|
107
|
-
|
|
103
|
+
servicePath = (0, path_1.join)(serviceDir, "".concat(serviceName, ".ts"));
|
|
108
104
|
configPath = (0, path_1.join)(serviceDir, "config.ts");
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
if (!
|
|
112
|
-
|
|
113
|
-
baseClassService = (0, class_1.prismaServiceBaseClassTmpl)(entityWideGenerationArgs);
|
|
114
|
-
classService = (0, additionalClass_1.prismaServiceClassTmpl)(entityWideGenerationArgs);
|
|
115
|
-
return [4 /*yield*/, (0, fs_jetpack_1.write)(configPath, config)];
|
|
105
|
+
aditionalsMethodsClassPath = (0, path_1.join)(serviceDir, "".concat(serviceName, "Class.ts"));
|
|
106
|
+
if (!entityWideGenerationArgs.entity.previewFeatures.includes('classService')) return [3 /*break*/, 11];
|
|
107
|
+
if (!(0, fs_jetpack_1.exists)(aditionalsMethodsClassPath)) return [3 /*break*/, 4];
|
|
108
|
+
return [4 /*yield*/, (0, fs_jetpack_1.read)(aditionalsMethodsClassPath)];
|
|
116
109
|
case 1:
|
|
117
|
-
|
|
118
|
-
|
|
110
|
+
additionalsClassText = _d.sent();
|
|
111
|
+
searchString = "export class ".concat(serviceName, "Class extends Base").concat(serviceName, "Class {");
|
|
112
|
+
importsText = '';
|
|
113
|
+
first = true;
|
|
114
|
+
while ((additionalsClassText === null || additionalsClassText === void 0 ? void 0 : additionalsClassText.indexOf('import')) === 0) {
|
|
115
|
+
indexEndOfString = additionalsClassText.indexOf('\n');
|
|
116
|
+
if (!first) {
|
|
117
|
+
importsText += additionalsClassText === null || additionalsClassText === void 0 ? void 0 : additionalsClassText.slice(0, indexEndOfString + 1);
|
|
118
|
+
}
|
|
119
|
+
additionalsClassText = additionalsClassText === null || additionalsClassText === void 0 ? void 0 : additionalsClassText.slice(indexEndOfString + 1);
|
|
120
|
+
first = false;
|
|
121
|
+
}
|
|
122
|
+
index = additionalsClassText === null || additionalsClassText === void 0 ? void 0 : additionalsClassText.indexOf(searchString);
|
|
123
|
+
beforeFromAdditionalMethods = (_a = additionalsClassText === null || additionalsClassText === void 0 ? void 0 : additionalsClassText.slice(0, index)) === null || _a === void 0 ? void 0 : _a.trim();
|
|
124
|
+
codeFromAdditionalMethods = '';
|
|
125
|
+
if (index) {
|
|
126
|
+
codeFromAdditionalMethods = (_c = (_b = additionalsClassText === null || additionalsClassText === void 0 ? void 0 : additionalsClassText.slice(index + searchString.length, (additionalsClassText === null || additionalsClassText === void 0 ? void 0 : additionalsClassText.lastIndexOf('}')) - 1)) === null || _b === void 0 ? void 0 : _b.trim()) !== null && _c !== void 0 ? _c : '';
|
|
127
|
+
}
|
|
128
|
+
generatedClassService = (0, class_1.prismaServiceBaseClassTmpl)(entityWideGenerationArgs, importsText, beforeFromAdditionalMethods, codeFromAdditionalMethods);
|
|
129
|
+
return [4 /*yield*/, (0, fs_jetpack_1.write)(servicePath, generatedClassService)];
|
|
119
130
|
case 2:
|
|
120
|
-
|
|
121
|
-
return [4 /*yield*/, (0,
|
|
122
|
-
// await remove(oldServicePath)
|
|
123
|
-
];
|
|
131
|
+
_d.sent();
|
|
132
|
+
return [4 /*yield*/, (0, fs_jetpack_1.remove)(aditionalsMethodsClassPath)];
|
|
124
133
|
case 3:
|
|
125
|
-
|
|
134
|
+
_d.sent();
|
|
126
135
|
return [3 /*break*/, 6];
|
|
127
136
|
case 4:
|
|
137
|
+
generatedClassService = (0, class_1.prismaServiceBaseClassTmpl)(entityWideGenerationArgs);
|
|
138
|
+
// await write(servicePath, generatedClassService) // todo: uncomment for migration
|
|
139
|
+
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)(servicePath, generatedClassService)];
|
|
140
|
+
case 5:
|
|
141
|
+
// await write(servicePath, generatedClassService) // todo: uncomment for migration
|
|
142
|
+
_d.sent();
|
|
143
|
+
_d.label = 6;
|
|
144
|
+
case 6:
|
|
145
|
+
config = (0, config_1.configTmpl)(entityWideGenerationArgs, allSumRegistries, allInfoRegistries);
|
|
146
|
+
return [4 /*yield*/, (0, fs_jetpack_1.write)(configPath, config)];
|
|
147
|
+
case 7:
|
|
148
|
+
_d.sent();
|
|
149
|
+
return [4 /*yield*/, (0, fs_jetpack_1.remove)((0, path_1.join)(serviceDir, "Base".concat(serviceName, "Class.ts")))];
|
|
150
|
+
case 8:
|
|
151
|
+
_d.sent();
|
|
152
|
+
if (!(0, fs_jetpack_1.exists)((0, path_1.join)(serviceDir, 'additionalMethods.ts'))) return [3 /*break*/, 10];
|
|
153
|
+
return [4 /*yield*/, (0, fs_jetpack_1.renameAsync)((0, path_1.join)(serviceDir, 'additionalMethods.ts'), 'additionalMethods.ts_')];
|
|
154
|
+
case 9:
|
|
155
|
+
_d.sent();
|
|
156
|
+
_d.label = 10;
|
|
157
|
+
case 10: return [3 /*break*/, 13];
|
|
158
|
+
case 11:
|
|
128
159
|
generatedService = (0, service_1.prismaServiceTmpl)(entityWideGenerationArgs);
|
|
129
|
-
return [4 /*yield*/, (0, fs_jetpack_1.write)(
|
|
160
|
+
return [4 /*yield*/, (0, fs_jetpack_1.write)(servicePath, generatedService)
|
|
130
161
|
// await remove(configPath)
|
|
131
162
|
// await remove(baseClassPath)
|
|
132
163
|
];
|
|
133
|
-
case
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
case
|
|
137
|
-
case
|
|
138
|
-
|
|
139
|
-
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(serviceDir, 'initUserHooks.ts'), (0, initUserHooks_1.initUserHooksTmpl)(entityWideGenerationArgs))];
|
|
140
|
-
case 8:
|
|
141
|
-
_a.sent();
|
|
164
|
+
case 12:
|
|
165
|
+
_d.sent();
|
|
166
|
+
_d.label = 13;
|
|
167
|
+
case 13: return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(serviceDir, 'initUserHooks.ts'), (0, initUserHooks_1.initUserHooksTmpl)(entityWideGenerationArgs))];
|
|
168
|
+
case 14:
|
|
169
|
+
_d.sent();
|
|
142
170
|
hooksDir = (0, path_1.join)(serviceDir, 'hooks');
|
|
143
|
-
if (!['optional', 'required'].includes(entity.multitenancy)) return [3 /*break*/,
|
|
171
|
+
if (!['optional', 'required'].includes(entity.multitenancy)) return [3 /*break*/, 16];
|
|
144
172
|
if (!entityWideGenerationArgs.entities.some(function (entity) { return entity.name === 'tenants'; })) {
|
|
145
173
|
throw new Error('Only the sprt project supports the multitenancy field!');
|
|
146
174
|
}
|
|
147
175
|
return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(hooksDir, 'tenantIdRequiredHooks.ts'), (0, tenantIdRequiredHooks_1.tenantIdRequiredHooksTmpl)(entityWideGenerationArgs))];
|
|
148
|
-
case 9:
|
|
149
|
-
_a.sent();
|
|
150
|
-
_a.label = 10;
|
|
151
|
-
case 10: return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(serviceDir, 'initBuiltInHooks.ts'), (0, initBuiltInHooks_1.initBuiltInHooksTmpl)(entityWideGenerationArgs))];
|
|
152
|
-
case 11:
|
|
153
|
-
_a.sent();
|
|
154
|
-
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'additionalOperationsOnCreate.ts'), (0, additionalOperationsOnCreate_1.additionalOperationsOnCreateTmpl)(entityWideGenerationArgs))];
|
|
155
|
-
case 12:
|
|
156
|
-
_a.sent();
|
|
157
|
-
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'additionalOperationsOnUpdate.ts'), (0, additionalOperationsOnUpdate_1.additionalOperationsOnUpdateTmpl)(entityWideGenerationArgs))];
|
|
158
|
-
case 13:
|
|
159
|
-
_a.sent();
|
|
160
|
-
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'additionalOperationsOnDelete.ts'), (0, additionalOperationsOnDelete_1.additionalOperationsOnDeleteTmpl)(entityWideGenerationArgs))];
|
|
161
|
-
case 14:
|
|
162
|
-
_a.sent();
|
|
163
|
-
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'beforeCreate.ts'), (0, beforeCreate_1.beforeCreateTmpl)(entityWideGenerationArgs))];
|
|
164
176
|
case 15:
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
case 16:
|
|
168
|
-
_a.sent();
|
|
169
|
-
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'beforeUpdate.ts'), (0, beforeUpdate_1.beforeUpdateTmpl)(entityWideGenerationArgs))];
|
|
177
|
+
_d.sent();
|
|
178
|
+
_d.label = 16;
|
|
179
|
+
case 16: return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(serviceDir, 'initBuiltInHooks.ts'), (0, initBuiltInHooks_1.initBuiltInHooksTmpl)(entityWideGenerationArgs))];
|
|
170
180
|
case 17:
|
|
171
|
-
|
|
172
|
-
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, '
|
|
181
|
+
_d.sent();
|
|
182
|
+
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'additionalOperationsOnCreate.ts'), (0, additionalOperationsOnCreate_1.additionalOperationsOnCreateTmpl)(entityWideGenerationArgs))];
|
|
173
183
|
case 18:
|
|
174
|
-
|
|
175
|
-
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, '
|
|
184
|
+
_d.sent();
|
|
185
|
+
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'additionalOperationsOnUpdate.ts'), (0, additionalOperationsOnUpdate_1.additionalOperationsOnUpdateTmpl)(entityWideGenerationArgs))];
|
|
176
186
|
case 19:
|
|
177
|
-
|
|
178
|
-
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, '
|
|
187
|
+
_d.sent();
|
|
188
|
+
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'additionalOperationsOnDelete.ts'), (0, additionalOperationsOnDelete_1.additionalOperationsOnDeleteTmpl)(entityWideGenerationArgs))];
|
|
179
189
|
case 20:
|
|
180
|
-
|
|
181
|
-
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, '
|
|
190
|
+
_d.sent();
|
|
191
|
+
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'beforeCreate.ts'), (0, beforeCreate_1.beforeCreateTmpl)(entityWideGenerationArgs))];
|
|
182
192
|
case 21:
|
|
183
|
-
|
|
184
|
-
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, '
|
|
193
|
+
_d.sent();
|
|
194
|
+
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'beforeDelete.ts'), (0, beforeDelete_1.beforeDeleteTmpl)(entityWideGenerationArgs))];
|
|
185
195
|
case 22:
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'getRegistryEntries.ts'), (0, getRegistryEntries_1.getRegistryEntriesTmpl)(system.prefix, entity))];
|
|
196
|
+
_d.sent();
|
|
197
|
+
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'beforeUpdate.ts'), (0, beforeUpdate_1.beforeUpdateTmpl)(entityWideGenerationArgs))];
|
|
189
198
|
case 23:
|
|
190
|
-
|
|
191
|
-
return [4 /*yield*/, (0,
|
|
199
|
+
_d.sent();
|
|
200
|
+
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'beforeUpsert.ts'), (0, beforeUpsert_1.beforeUpsertTmpl)(entityWideGenerationArgs))];
|
|
192
201
|
case 24:
|
|
193
|
-
|
|
194
|
-
return [4 /*yield*/, (0,
|
|
202
|
+
_d.sent();
|
|
203
|
+
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'afterCreate.ts'), (0, afterCreate_1.afterCreateTmpl)(entityWideGenerationArgs))];
|
|
195
204
|
case 25:
|
|
196
|
-
|
|
197
|
-
|
|
205
|
+
_d.sent();
|
|
206
|
+
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'afterUpdate.ts'), (0, afterUpdate_1.afterUpdateTmpl)(entityWideGenerationArgs))];
|
|
198
207
|
case 26:
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(graphServiceDir, 'baseTypeDefs.ts'), (0, types_1.backBaseTypesTmpl)((0, graphql_1.printSchema)((0, genGraphCrudSchema_1.genGraphCrudSchema)(entity)), options))];
|
|
208
|
+
_d.sent();
|
|
209
|
+
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'afterDelete.ts'), (0, afterDelete_1.afterDeleteTmpl)(entityWideGenerationArgs))];
|
|
202
210
|
case 27:
|
|
203
|
-
|
|
204
|
-
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(
|
|
211
|
+
_d.sent();
|
|
212
|
+
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'changeListFilter.ts'), (0, changeListFilter_1.changeListFilterTmpl)(entityWideGenerationArgs))
|
|
213
|
+
// if (entity.type === 'document') {
|
|
214
|
+
// // await writeFileIfNotExists(
|
|
215
|
+
// // join(hooksDir, 'getRegistryEntries.ts'),
|
|
216
|
+
// // getRegistryEntriesTmpl(system.prefix, entity)
|
|
217
|
+
// // )
|
|
218
|
+
// // await write(
|
|
219
|
+
// // join(hooksDir, 'getPostOperations.ts'),
|
|
220
|
+
// // getPostOperationsTmpl(
|
|
221
|
+
// // system.prefix,
|
|
222
|
+
// // entity,
|
|
223
|
+
// // allSumRegistries,
|
|
224
|
+
// // allInfoRegistries,
|
|
225
|
+
// // options
|
|
226
|
+
// // )
|
|
227
|
+
// // )
|
|
228
|
+
// // await write(
|
|
229
|
+
// // join(hooksDir, 'getUnPostOperations.ts'),
|
|
230
|
+
// // getUnPostOperationsTmpl(system.prefix, entity, options)
|
|
231
|
+
// // )
|
|
232
|
+
// }
|
|
233
|
+
];
|
|
205
234
|
case 28:
|
|
206
|
-
|
|
207
|
-
|
|
235
|
+
_d.sent();
|
|
236
|
+
_d.label = 29;
|
|
208
237
|
case 29:
|
|
209
|
-
|
|
210
|
-
return [
|
|
238
|
+
graphServiceDir = (0, path_1.join)(prjBackSrcPrefixedDir, 'graph', 'services', (0, cases_1.camelPlural)(entity.name));
|
|
239
|
+
if (!options.genGraphSchema) return [3 /*break*/, 32];
|
|
240
|
+
return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(graphServiceDir, 'baseTypeDefs.ts'), (0, types_1.backBaseTypesTmpl)((0, graphql_1.printSchema)((0, genGraphCrudSchema_1.genGraphCrudSchema)(entity)), options))];
|
|
211
241
|
case 30:
|
|
212
|
-
|
|
213
|
-
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)(
|
|
242
|
+
_d.sent();
|
|
243
|
+
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(graphServiceDir, 'additionalTypeDefs.ts'), (0, additionalTypes_1.backAdditionalTypesTmpl)())];
|
|
214
244
|
case 31:
|
|
215
|
-
|
|
216
|
-
|
|
245
|
+
_d.sent();
|
|
246
|
+
_d.label = 32;
|
|
217
247
|
case 32:
|
|
248
|
+
if (!(options.genGraphResolvers && !options.typesOnly)) return [3 /*break*/, 35];
|
|
249
|
+
return [4 /*yield*/, (0, fs_jetpack_1.write)("".concat(graphServiceDir, "/baseResolvers.ts"), (0, resolvers_1.backBaseResolversTmpl)(entityWideGenerationArgs))];
|
|
250
|
+
case 33:
|
|
251
|
+
_d.sent();
|
|
252
|
+
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)("".concat(graphServiceDir, "/additionalResolvers.ts"), (0, additionalResolvers_1.backAdditionalResolversTmpl)())];
|
|
253
|
+
case 34:
|
|
254
|
+
_d.sent();
|
|
255
|
+
_d.label = 35;
|
|
256
|
+
case 35:
|
|
218
257
|
prjUiSrcPrefixedDir = '';
|
|
219
258
|
prjDetachedUiSrcDir = (0, path_1.join)(options.detachedUiProject, 'src');
|
|
220
259
|
// if (options.detachedBackProject) {
|
|
221
260
|
prjUiSrcPrefixedDir = (0, path_1.join)(prjDetachedUiSrcDir, 'adm');
|
|
222
261
|
widgetsDir = (0, path_1.join)(prjUiSrcPrefixedDir, 'widgets');
|
|
223
|
-
if (!!options.typesOnly) return [3 /*break*/,
|
|
262
|
+
if (!!options.typesOnly) return [3 /*break*/, 63];
|
|
224
263
|
// Permissions
|
|
225
264
|
return [4 /*yield*/, (0, fs_jetpack_1.write)("".concat(graphServiceDir, "/permissionsToGraphql.ts"), (0, entityPermissionToGraphqlTmpl_1.backEntityPermissionToGraphqlTmpl)(entityWideGenerationArgs))];
|
|
226
|
-
case
|
|
265
|
+
case 36:
|
|
227
266
|
// Permissions
|
|
228
|
-
|
|
267
|
+
_d.sent();
|
|
229
268
|
return [4 /*yield*/, (0, fs_jetpack_1.write)("".concat(graphServiceDir, "/basePermissionsToGraphql.ts"), (0, entityBasePermissionToGraphql_1.backBasePermissionToGraphqlTmpl)(entityWideGenerationArgs))];
|
|
230
|
-
case
|
|
231
|
-
|
|
269
|
+
case 37:
|
|
270
|
+
_d.sent();
|
|
232
271
|
return [4 /*yield*/, (0, fs_jetpack_1.write)("".concat(graphServiceDir, "/additionalPermissionsToGraphql.ts"), (0, entityAdditionalPermissionToGraphqlTmpl_1.backEntityAdditionalPermissionToGraphqlTmpl)(entityWideGenerationArgs))
|
|
233
272
|
// CountWidget
|
|
234
273
|
// src/dc/widgets/count/CountAccountsWidget.tsx genUiCountWidget uiCountWidgetTmpl
|
|
235
274
|
];
|
|
236
|
-
case
|
|
237
|
-
|
|
238
|
-
if (!options.genUiCountWidget) return [3 /*break*/,
|
|
275
|
+
case 38:
|
|
276
|
+
_d.sent();
|
|
277
|
+
if (!options.genUiCountWidget) return [3 /*break*/, 40];
|
|
239
278
|
countWdgetsDir = (0, path_1.join)(widgetsDir, 'count');
|
|
240
279
|
generatedResources = (0, CountWidget_1.uiCountWidgetTmpl)(entityWideGenerationArgs);
|
|
241
280
|
return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(countWdgetsDir, "Count".concat((0, cases_1.pascal)(entity.name), "Widget.tsx")), generatedResources)];
|
|
242
|
-
case
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
case
|
|
281
|
+
case 39:
|
|
282
|
+
_d.sent();
|
|
283
|
+
_d.label = 40;
|
|
284
|
+
case 40:
|
|
246
285
|
toLinks = (0, getLinksFromExternalEntities_1.getLinksFromExternalEntities)(entity, allLinks);
|
|
247
286
|
pagesDir = (0, path_1.join)(prjUiSrcPrefixedDir, 'pages', entity.name);
|
|
248
|
-
if (!options.forms.show) return [3 /*break*/,
|
|
287
|
+
if (!options.forms.show) return [3 /*break*/, 50];
|
|
249
288
|
entityShowDir = (0, path_1.join)(pagesDir, "".concat((0, cases_1.pascalSingular)(entity.name), "Show"));
|
|
250
289
|
mainTab = (0, MainTab_1.uiEntityShowMainTabTmpl)();
|
|
251
290
|
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(entityShowDir, 'MainTab.tsx'), mainTab)
|
|
252
291
|
// DefaultMainTab
|
|
253
292
|
];
|
|
254
|
-
case
|
|
255
|
-
|
|
293
|
+
case 41:
|
|
294
|
+
_d.sent();
|
|
256
295
|
defaultMainTab = (0, DefaultMainTab_1.uiEntityShowDefaultMainTabTmpl)(entityWideGenerationArgs);
|
|
257
296
|
return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(entityShowDir, 'DefaultMainTab.tsx'), defaultMainTab)
|
|
258
297
|
// // index
|
|
@@ -260,8 +299,8 @@ var generateEntity = function (entityWideGenerationArgs) { return __awaiter(void
|
|
|
260
299
|
// await write(join(entityShowDir, 'index.tsx'), index);
|
|
261
300
|
// DefaultEntityShow
|
|
262
301
|
];
|
|
263
|
-
case
|
|
264
|
-
|
|
302
|
+
case 42:
|
|
303
|
+
_d.sent();
|
|
265
304
|
// // index
|
|
266
305
|
// const index = uiEntityShowIndexTmpl(prefix, allEntities, entity, toLinks, options);
|
|
267
306
|
// await write(join(entityShowDir, 'index.tsx'), index);
|
|
@@ -270,39 +309,39 @@ var generateEntity = function (entityWideGenerationArgs) { return __awaiter(void
|
|
|
270
309
|
// DefaultActions
|
|
271
310
|
// if (entity.type === 'document' && entity.registries.length > 0) {
|
|
272
311
|
];
|
|
273
|
-
case
|
|
312
|
+
case 43:
|
|
274
313
|
// // index
|
|
275
314
|
// const index = uiEntityShowIndexTmpl(prefix, allEntities, entity, toLinks, options);
|
|
276
315
|
// await write(join(entityShowDir, 'index.tsx'), index);
|
|
277
316
|
// DefaultEntityShow
|
|
278
|
-
|
|
317
|
+
_d.sent();
|
|
279
318
|
// DefaultActions
|
|
280
319
|
// if (entity.type === 'document' && entity.registries.length > 0) {
|
|
281
320
|
return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(entityShowDir, 'DefaultActions.tsx'), (0, DefaultActions_1.uiDefaultActionTmpl)(entityWideGenerationArgs))
|
|
282
321
|
// }
|
|
283
322
|
// index
|
|
284
323
|
];
|
|
285
|
-
case
|
|
324
|
+
case 44:
|
|
286
325
|
// DefaultActions
|
|
287
326
|
// if (entity.type === 'document' && entity.registries.length > 0) {
|
|
288
|
-
|
|
327
|
+
_d.sent();
|
|
289
328
|
// }
|
|
290
329
|
// index
|
|
291
330
|
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(entityShowDir, 'index.tsx'), (0, EntityShow_1.uiEntityShowIndexTmpl)(entityWideGenerationArgs))];
|
|
292
|
-
case
|
|
331
|
+
case 45:
|
|
293
332
|
// }
|
|
294
333
|
// index
|
|
295
|
-
|
|
334
|
+
_d.sent();
|
|
296
335
|
additionalTabs = (0, additionalTabs_1.uiAdditionalTabsTmpl)();
|
|
297
336
|
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(entityShowDir, 'additionalTabs.tsx'), additionalTabs)
|
|
298
337
|
// DependencyTabs
|
|
299
338
|
];
|
|
300
|
-
case
|
|
301
|
-
|
|
339
|
+
case 46:
|
|
340
|
+
_d.sent();
|
|
302
341
|
_i = 0, toLinks_1 = toLinks;
|
|
303
|
-
|
|
304
|
-
case
|
|
305
|
-
if (!(_i < toLinks_1.length)) return [3 /*break*/,
|
|
342
|
+
_d.label = 47;
|
|
343
|
+
case 47:
|
|
344
|
+
if (!(_i < toLinks_1.length)) return [3 /*break*/, 50];
|
|
306
345
|
link = toLinks_1[_i];
|
|
307
346
|
tabsDir = (0, path_1.join)(entityShowDir, 'tabs');
|
|
308
347
|
entity_1 = allEntities.get(link.entityOwnerName);
|
|
@@ -312,59 +351,59 @@ var generateEntity = function (entityWideGenerationArgs) { return __awaiter(void
|
|
|
312
351
|
componentName = "".concat((0, cases_1.pascal)(entity_1.name)).concat((0, cases_1.pascal)(link.fromField.name), "Tab");
|
|
313
352
|
dependencyTab = (0, DependencyTab_1.uiEntityShowDependencyTabTmpl)(allEntities, entity_1, link, options);
|
|
314
353
|
return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(tabsDir, "".concat(componentName, ".tsx")), dependencyTab)];
|
|
315
|
-
case
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
case
|
|
354
|
+
case 48:
|
|
355
|
+
_d.sent();
|
|
356
|
+
_d.label = 49;
|
|
357
|
+
case 49:
|
|
319
358
|
_i++;
|
|
320
|
-
return [3 /*break*/,
|
|
321
|
-
case
|
|
322
|
-
if (!options.forms.create) return [3 /*break*/,
|
|
359
|
+
return [3 /*break*/, 47];
|
|
360
|
+
case 50:
|
|
361
|
+
if (!options.forms.create) return [3 /*break*/, 53];
|
|
323
362
|
entityCreateDir = (0, path_1.join)(pagesDir, "".concat((0, cases_1.pascalSingular)(entity.name), "Create"));
|
|
324
363
|
return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(entityCreateDir, "Default".concat((0, cases_1.pascalSingular)(entity.name), "Create.tsx")), (0, DefaultEntityCreate_1.uiDefaultCreateTmpl)(entityWideGenerationArgs))];
|
|
325
|
-
case
|
|
326
|
-
|
|
364
|
+
case 51:
|
|
365
|
+
_d.sent();
|
|
327
366
|
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(entityCreateDir, 'index.tsx'), (0, EntityCreate_1.uiCreateTmpl)(entityWideGenerationArgs))];
|
|
328
|
-
case
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
case
|
|
332
|
-
if (!options.forms.edit) return [3 /*break*/,
|
|
367
|
+
case 52:
|
|
368
|
+
_d.sent();
|
|
369
|
+
_d.label = 53;
|
|
370
|
+
case 53:
|
|
371
|
+
if (!options.forms.edit) return [3 /*break*/, 56];
|
|
333
372
|
entityEditDir = (0, path_1.join)(pagesDir, "".concat((0, cases_1.pascalSingular)(entity.name), "Edit"));
|
|
334
373
|
return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(entityEditDir, "Default".concat((0, cases_1.pascalSingular)(entity.name), "Edit.tsx")), (0, DefaultEntityEdit_1.uiDefaultEditTmpl)(entityWideGenerationArgs))];
|
|
335
|
-
case
|
|
336
|
-
|
|
374
|
+
case 54:
|
|
375
|
+
_d.sent();
|
|
337
376
|
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(entityEditDir, 'index.tsx'), (0, EntityEdit_1.uiEditTmpl)(entityWideGenerationArgs))];
|
|
338
|
-
case
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
case
|
|
342
|
-
if (!options.forms.list) return [3 /*break*/,
|
|
377
|
+
case 55:
|
|
378
|
+
_d.sent();
|
|
379
|
+
_d.label = 56;
|
|
380
|
+
case 56:
|
|
381
|
+
if (!options.forms.list) return [3 /*break*/, 61];
|
|
343
382
|
entityListDir = (0, path_1.join)(pagesDir, "".concat((0, cases_1.pascalSingular)(entity.name), "List"));
|
|
344
383
|
return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(entityListDir, "Default".concat((0, cases_1.pascalSingular)(entity.name), "List.tsx")), (0, DefaultEntityList_1.uiDefaultListTmpl)(entityWideGenerationArgs))];
|
|
345
|
-
case
|
|
346
|
-
|
|
384
|
+
case 57:
|
|
385
|
+
_d.sent();
|
|
347
386
|
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(entityListDir, "".concat((0, cases_1.pascalSingular)(entity.name), "Filter.tsx")), (0, EntityFilter_1.uiFilterTmpl)(entityWideGenerationArgs))];
|
|
348
|
-
case
|
|
349
|
-
|
|
387
|
+
case 58:
|
|
388
|
+
_d.sent();
|
|
350
389
|
return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(entityListDir, "Default".concat((0, cases_1.pascalSingular)(entity.name), "Filter.tsx")), (0, DefaultEntityFilter_1.uiDefaultFilterTmpl)(entityWideGenerationArgs))];
|
|
351
|
-
case
|
|
352
|
-
|
|
390
|
+
case 59:
|
|
391
|
+
_d.sent();
|
|
353
392
|
return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(entityListDir, 'index.tsx'), (0, EntityList_1.uiListTmpl)(entityWideGenerationArgs))];
|
|
354
|
-
case
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
case
|
|
358
|
-
if (!options.genUiListWidget) return [3 /*break*/,
|
|
393
|
+
case 60:
|
|
394
|
+
_d.sent();
|
|
395
|
+
_d.label = 61;
|
|
396
|
+
case 61:
|
|
397
|
+
if (!options.genUiListWidget) return [3 /*break*/, 63];
|
|
359
398
|
listWdgetsDir = (0, path_1.join)(widgetsDir, 'list');
|
|
360
399
|
generatedResources = (0, ListWidget_1.uiListWidgetTmpl)(entityWideGenerationArgs);
|
|
361
400
|
return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(listWdgetsDir, "List".concat((0, cases_1.pascal)(entity.name), "Widget.tsx")), generatedResources)];
|
|
362
|
-
case
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
case
|
|
401
|
+
case 62:
|
|
402
|
+
_d.sent();
|
|
403
|
+
_d.label = 63;
|
|
404
|
+
case 63: return [2 /*return*/];
|
|
366
405
|
}
|
|
367
406
|
});
|
|
368
407
|
}); };
|
|
369
408
|
exports.generateEntity = generateEntity;
|
|
370
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVFbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRlRW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRCQUE0QjtBQUM1Qiw2QkFBMkI7QUFDM0Isd0NBS3VCO0FBQ3ZCLHFFQUErRTtBQUMvRSw2RUFBdUY7QUFDdkYsb0ZBQXdGO0FBQ3hGLHVGQUEyRjtBQUMzRiw2RUFBc0Y7QUFDdEYsc0dBQW9HO0FBQ3BHLDRHQUEwRztBQUMxRyxzR0FBb0c7QUFDcEcsNEZBQTBGO0FBQzFGLDZFQUEyRTtBQUMzRSxpRkFBK0U7QUFDL0UsNkVBQTJFO0FBQzNFLHFGQUFtRjtBQUNuRiw0RUFBMEU7QUFDMUUsbUNBQXFDO0FBQ3JDLGtGQUFnRztBQUNoRyxnR0FBOEc7QUFDOUcsOEZBQTRHO0FBQzVHLGdHQUFtRztBQUNuRyxpQ0FBOEM7QUFDOUMseUNBQWtDO0FBQ2xDLGdHQUFvRztBQUNwRyx1R0FBNkc7QUFDN0csaUdBQXVHO0FBQ3ZHLHFIQUF1SDtBQUN2SCx5SUFBMkk7QUFDM0kscUhBQXFIO0FBQ3JILHlGQUErRjtBQUMvRixtRkFBMkY7QUFDM0YsbUlBQXFJO0FBQ3JJLG1JQUFxSTtBQUNySSxtSUFBcUk7QUFDckksaUdBQW1HO0FBQ25HLG1HQUFxRztBQUNyRyxtR0FBcUc7QUFDckcsaUdBQW1HO0FBQ25HLGlHQUFtRztBQUNuRyxpSEFBbUg7QUFDbkgsK0dBQWlIO0FBQ2pILDZHQUErRztBQUMvRyxtR0FBcUc7QUFDckcsbUdBQXFHO0FBQ3JHLDJHQUE2RztBQUM3RyxzR0FBb0c7QUFDcEcsMEdBQXdHO0FBRXhHLCtGQUFpRztBQUNqRyxxR0FBdUc7QUFDdkcscUhBQXVIO0FBQ3ZILGlGQUFtRjtBQUNuRiwrRUFBa0c7QUFDbEcsbUdBQXdHO0FBRWpHLElBQU0sY0FBYyxHQUFH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
|
|
409
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVFbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRlRW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRCQUE0QjtBQUM1Qiw2QkFBMkI7QUFDM0Isd0NBS3VCO0FBQ3ZCLHFFQUErRTtBQUMvRSw2RUFBdUY7QUFDdkYsb0ZBQXdGO0FBQ3hGLHVGQUEyRjtBQUMzRiw2RUFBc0Y7QUFDdEYsc0dBQW9HO0FBQ3BHLDRHQUEwRztBQUMxRyxzR0FBb0c7QUFDcEcsNEZBQTBGO0FBQzFGLDZFQUEyRTtBQUMzRSxpRkFBK0U7QUFDL0UsNkVBQTJFO0FBQzNFLHFGQUFtRjtBQUNuRiw0RUFBMEU7QUFDMUUsbUNBQXFDO0FBQ3JDLGtGQUFnRztBQUNoRyxnR0FBOEc7QUFDOUcsOEZBQTRHO0FBQzVHLGdHQUFtRztBQUNuRyxpQ0FBOEM7QUFDOUMseUNBQXFFO0FBQ3JFLGdHQUFvRztBQUNwRyxpR0FBdUc7QUFDdkcscUhBQXVIO0FBQ3ZILHlJQUEySTtBQUMzSSxxSEFBcUg7QUFDckgseUZBQStGO0FBQy9GLG1GQUEyRjtBQUMzRixtSUFBcUk7QUFDckksbUlBQXFJO0FBQ3JJLG1JQUFxSTtBQUNySSxpR0FBbUc7QUFDbkcsbUdBQXFHO0FBQ3JHLG1HQUFxRztBQUNyRyxpR0FBbUc7QUFDbkcsaUdBQW1HO0FBQ25HLG1HQUFxRztBQUNyRyxtR0FBcUc7QUFDckcsMkdBQTZHO0FBQzdHLHNHQUFvRztBQUNwRywwR0FBd0c7QUFFeEcsK0ZBQWlHO0FBQ2pHLHFHQUF1RztBQUN2RyxxSEFBdUg7QUFDdkgsaUZBQW1GO0FBQ25GLCtFQUFrRztBQUUzRixJQUFNLGNBQWMsR0FBRyxVQUM1Qix3QkFBa0Q7Ozs7OztnQkFHaEQsV0FBVyxHQU1ULHdCQUF3QixZQU5mLEVBQ1gsZ0JBQWdCLEdBS2Qs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
|