runlify 0.0.739 → 0.0.741

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.
@@ -13,42 +13,33 @@ exports.generateAdditionalService = void 0;
13
13
  const path_1 = require("path");
14
14
  const cases_1 = require("../utils/cases");
15
15
  const graphql_1 = require("graphql");
16
- const fs_jetpack_1 = require("fs-jetpack");
17
16
  const resolvers_1 = require("./generators/fileTemplates/back/graph/additionalService/resolvers");
18
17
  const typeDefs_1 = require("./generators/fileTemplates/back/graph/additionalService/typeDefs");
19
18
  const permissionToGraphql_1 = require("./generators/fileTemplates/back/graph/additionalService/permissionToGraphql");
20
19
  const genGraphAdditionalServiceSchema_1 = require("./generators/graph/genGraphAdditionalServiceSchema");
21
20
  const types_1 = require("./generators/fileTemplates/back/services/additionalService/types");
22
- const generateAdditionalService = (serviceWideGenerationArgs) => __awaiter(void 0, void 0, void 0, function* () {
21
+ const generateAdditionalService = (fileWriter, serviceWideGenerationArgs) => __awaiter(void 0, void 0, void 0, function* () {
23
22
  const { service, options, } = serviceWideGenerationArgs;
24
23
  let prjBackSrcPrefixedDir = '';
25
24
  const prjDetachedBackSrcDir = (0, path_1.join)(options.detachedBackProject, 'src');
26
25
  prjBackSrcPrefixedDir = (0, path_1.join)(prjDetachedBackSrcDir, 'adm');
27
26
  const serviceName = `${(0, cases_1.pascal)(service.name)}Service`;
28
27
  const serviceDir = (0, path_1.join)(prjBackSrcPrefixedDir, 'services', serviceName);
29
- // if (options.genPrismaServices && !options.typesOnly) {
30
- // const servicePath = join(serviceDir, `${serviceName}.ts`)
31
- // const additionalServicePath = join(serviceDir, `Additional${serviceName}.ts`)
32
- // const additionalClassService = prismaAdditionalServiceClassTmpl(serviceWideGenerationArgs)
33
- // await writeFileIfNotExists(additionalServicePath, additionalClassService)
34
- // const generatedClassService = prismaServiceBaseClassTmpl(serviceWideGenerationArgs)
35
- // await write(servicePath, generatedClassService)
36
- // }
37
- yield (0, fs_jetpack_1.write)((0, path_1.join)(serviceDir, 'types.ts'), (0, types_1.backAdditionalServiceTypesTmpl)(serviceWideGenerationArgs));
28
+ fileWriter.write((0, path_1.join)(serviceDir, 'types.ts'), (0, types_1.backAdditionalServiceTypesTmpl)(serviceWideGenerationArgs));
38
29
  // Graph
39
30
  const graphServiceDir = (0, path_1.join)(prjBackSrcPrefixedDir, 'graph', 'services', service.name);
40
31
  // Graph schema
41
32
  if (options.genGraphSchema) {
42
- yield (0, fs_jetpack_1.write)((0, path_1.join)(graphServiceDir, 'typeDefs.ts'), (0, typeDefs_1.backAdditionalServiceTypeDefsTmpl)((0, graphql_1.printSchema)((0, genGraphAdditionalServiceSchema_1.genGraphAdditionalServiceSchema)(service)), options));
33
+ fileWriter.write((0, path_1.join)(graphServiceDir, 'typeDefs.ts'), (0, typeDefs_1.backAdditionalServiceTypeDefsTmpl)((0, graphql_1.printSchema)((0, genGraphAdditionalServiceSchema_1.genGraphAdditionalServiceSchema)(service)), options));
43
34
  }
44
35
  // Graph resolvers
45
36
  if (options.genGraphResolvers && !options.typesOnly) {
46
- yield (0, fs_jetpack_1.write)(`${graphServiceDir}/resolvers.ts`, (0, resolvers_1.backAdditionalServiceResolversTmpl)(serviceWideGenerationArgs));
37
+ fileWriter.write(`${graphServiceDir}/resolvers.ts`, (0, resolvers_1.backAdditionalServiceResolversTmpl)(serviceWideGenerationArgs));
47
38
  }
48
39
  if (!options.typesOnly) {
49
40
  // Permissions
50
- yield (0, fs_jetpack_1.write)(`${graphServiceDir}/permissionsToGraphql.ts`, (0, permissionToGraphql_1.backAdditionalServicePermissionToGraphqlTmpl)(serviceWideGenerationArgs));
41
+ fileWriter.write(`${graphServiceDir}/permissionsToGraphql.ts`, (0, permissionToGraphql_1.backAdditionalServicePermissionToGraphqlTmpl)(serviceWideGenerationArgs));
51
42
  }
52
43
  });
53
44
  exports.generateAdditionalService = generateAdditionalService;
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVBZGRpdGlvbmFsU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vZ2VuZXJhdGVBZGRpdGlvbmFsU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSwrQkFBeUI7QUFDekIsMENBQXVDO0FBQ3ZDLHFDQUFtQztBQUNuQywyQ0FBZ0M7QUFFaEMsaUdBQW9IO0FBQ3BILCtGQUFrSDtBQUNsSCxxSEFBMEk7QUFDMUksd0dBQW9HO0FBQ3BHLDRGQUFpSDtBQUUxRyxNQUFNLHlCQUF5QixHQUFHLENBQ3ZDLHlCQUE4RCxFQUM5RCxFQUFFO0lBQ0YsTUFBTSxFQUNKLE9BQU8sRUFDUCxPQUFPLEdBQ1IsR0FBRyx5QkFBeUIsQ0FBQTtJQUM3QixJQUFJLHFCQUFxQixHQUFHLEVBQUUsQ0FBQTtJQUM5QixNQUFNLHFCQUFxQixHQUFHLElBQUEsV0FBSSxFQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUV0RSxxQkFBcUIsR0FBRyxJQUFBLFdBQUksRUFBQyxxQkFBcUIsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUUxRCxNQUFNLFdBQVcsR0FBRyxHQUFHLElBQUEsY0FBTSxFQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFBO0lBQ3BELE1BQU0sVUFBVSxHQUFHLElBQUEsV0FBSSxFQUFDLHFCQUFxQixFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQTtJQUV2RSx5REFBeUQ7SUFDekQsOERBQThEO0lBQzlELGtGQUFrRjtJQUVsRiwrRkFBK0Y7SUFDL0YsOEVBQThFO0lBRTlFLHdGQUF3RjtJQUN4RixvREFBb0Q7SUFDcEQsSUFBSTtJQUVKLE1BQU0sSUFBQSxrQkFBSyxFQUNULElBQUEsV0FBSSxFQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFDNUIsSUFBQSxzQ0FBOEIsRUFBQyx5QkFBeUIsQ0FBQyxDQUMxRCxDQUFBO0lBRUQsUUFBUTtJQUNSLE1BQU0sZUFBZSxHQUFHLElBQUEsV0FBSSxFQUMxQixxQkFBcUIsRUFDckIsT0FBTyxFQUNQLFVBQVUsRUFDVixPQUFPLENBQUMsSUFBSSxDQUNiLENBQUE7SUFFRCxlQUFlO0lBQ2YsSUFBSSxPQUFPLENBQUMsY0FBYyxFQUFFO1FBQzFCLE1BQU0sSUFBQSxrQkFBSyxFQUNULElBQUEsV0FBSSxFQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsRUFDcEMsSUFBQSw0Q0FBaUMsRUFBQyxJQUFBLHFCQUFXLEVBQUMsSUFBQSxpRUFBK0IsRUFBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUNsRyxDQUFBO0tBQ0Y7SUFFRCxrQkFBa0I7SUFDbEIsSUFBSSxPQUFPLENBQUMsaUJBQWlCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1FBQ25ELE1BQU0sSUFBQSxrQkFBSyxFQUNULEdBQUcsZUFBZSxlQUFlLEVBQ2pDLElBQUEsOENBQWtDLEVBQUMseUJBQXlCLENBQUMsQ0FDOUQsQ0FBQTtLQUNGO0lBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7UUFDdEIsY0FBYztRQUNkLE1BQU0sSUFBQSxrQkFBSyxFQUNULEdBQUcsZUFBZSwwQkFBMEIsRUFDNUMsSUFBQSxrRUFBNEMsRUFBQyx5QkFBeUIsQ0FBQyxDQUN4RSxDQUFBO0tBQ0Y7QUFDSCxDQUFDLENBQUEsQ0FBQTtBQTlEWSxRQUFBLHlCQUF5Qiw2QkE4RHJDIn0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVBZGRpdGlvbmFsU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vZ2VuZXJhdGVBZGRpdGlvbmFsU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSwrQkFBeUI7QUFDekIsMENBQXVDO0FBQ3ZDLHFDQUFtQztBQUVuQyxpR0FBb0g7QUFDcEgsK0ZBQWtIO0FBQ2xILHFIQUEwSTtBQUMxSSx3R0FBb0c7QUFDcEcsNEZBQWlIO0FBRzFHLE1BQU0seUJBQXlCLEdBQUcsQ0FDdkMsVUFBc0IsRUFDdEIseUJBQThELEVBQzlELEVBQUU7SUFDRixNQUFNLEVBQ0osT0FBTyxFQUNQLE9BQU8sR0FDUixHQUFHLHlCQUF5QixDQUFBO0lBQzdCLElBQUkscUJBQXFCLEdBQUcsRUFBRSxDQUFBO0lBQzlCLE1BQU0scUJBQXFCLEdBQUcsSUFBQSxXQUFJLEVBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFBO0lBRXRFLHFCQUFxQixHQUFHLElBQUEsV0FBSSxFQUFDLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxDQUFBO0lBRTFELE1BQU0sV0FBVyxHQUFHLEdBQUcsSUFBQSxjQUFNLEVBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUE7SUFDcEQsTUFBTSxVQUFVLEdBQUcsSUFBQSxXQUFJLEVBQUMscUJBQXFCLEVBQUUsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBRXZFLFVBQVUsQ0FBQyxLQUFLLENBQ2QsSUFBQSxXQUFJLEVBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxFQUM1QixJQUFBLHNDQUE4QixFQUFDLHlCQUF5QixDQUFDLENBQzFELENBQUE7SUFFRCxRQUFRO0lBQ1IsTUFBTSxlQUFlLEdBQUcsSUFBQSxXQUFJLEVBQzFCLHFCQUFxQixFQUNyQixPQUFPLEVBQ1AsVUFBVSxFQUNWLE9BQU8sQ0FBQyxJQUFJLENBQ2IsQ0FBQTtJQUVELGVBQWU7SUFDZixJQUFJLE9BQU8sQ0FBQyxjQUFjLEVBQUU7UUFDMUIsVUFBVSxDQUFDLEtBQUssQ0FDZCxJQUFBLFdBQUksRUFBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLEVBQ3BDLElBQUEsNENBQWlDLEVBQUMsSUFBQSxxQkFBVyxFQUFDLElBQUEsaUVBQStCLEVBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FDbEcsQ0FBQTtLQUNGO0lBRUQsa0JBQWtCO0lBQ2xCLElBQUksT0FBTyxDQUFDLGlCQUFpQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtRQUNuRCxVQUFVLENBQUMsS0FBSyxDQUNkLEdBQUcsZUFBZSxlQUFlLEVBQ2pDLElBQUEsOENBQWtDLEVBQUMseUJBQXlCLENBQUMsQ0FDOUQsQ0FBQTtLQUNGO0lBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7UUFDdEIsY0FBYztRQUNkLFVBQVUsQ0FBQyxLQUFLLENBQ2QsR0FBRyxlQUFlLDBCQUEwQixFQUM1QyxJQUFBLGtFQUE0QyxFQUFDLHlCQUF5QixDQUFDLENBQ3hFLENBQUE7S0FDRjtBQUNILENBQUMsQ0FBQSxDQUFBO0FBcERZLFFBQUEseUJBQXlCLDZCQW9EckMifQ==
@@ -31,8 +31,6 @@ const MainTab_1 = require("./generators/fileTemplates/ui/pages/EntityShow/MainTa
31
31
  const DefaultMainTab_1 = require("./generators/fileTemplates/ui/pages/EntityShow/DefaultMainTab");
32
32
  const DependencyTab_1 = require("./generators/fileTemplates/ui/pages/EntityShow/DependencyTab");
33
33
  const DefaultActions_1 = require("./generators/fileTemplates/ui/pages/EntityShow/DefaultActions");
34
- const utils_1 = require("./utils");
35
- const fs_jetpack_1 = require("fs-jetpack");
36
34
  const additionalTabs_1 = require("./generators/fileTemplates/ui/pages/EntityShow/additionalTabs");
37
35
  const additionalResolvers_1 = require("./generators/fileTemplates/back/graph/additionalResolvers");
38
36
  const entityPermissionToGraphqlTmpl_1 = require("./generators/fileTemplates/back/graph/entityPermissionToGraphqlTmpl");
@@ -59,7 +57,7 @@ const config_1 = require("./generators/fileTemplates/back/services/entity/config
59
57
  const class_1 = require("./generators/fileTemplates/back/services/entity/class");
60
58
  const additionalClass_1 = require("./generators/fileTemplates/back/services/entity/additionalClass");
61
59
  const EntityBreadcrumbs_1 = require("./generators/fileTemplates/ui/pages/EntityList/EntityBreadcrumbs");
62
- const generateEntity = (entityWideGenerationArgs) => __awaiter(void 0, void 0, void 0, function* () {
60
+ const generateEntity = (fileWriter, entityWideGenerationArgs) => __awaiter(void 0, void 0, void 0, function* () {
63
61
  const { allEntities, allSumRegistries, allInfoRegistries, entity, allLinks, options, } = entityWideGenerationArgs;
64
62
  let prjBackSrcPrefixedDir = '';
65
63
  const prjDetachedBackSrcDir = (0, path_1.join)(options.detachedBackProject, 'src');
@@ -76,39 +74,39 @@ const generateEntity = (entityWideGenerationArgs) => __awaiter(void 0, void 0, v
76
74
  const configPath = (0, path_1.join)(serviceDir, `config.ts`);
77
75
  const additionalServicePath = (0, path_1.join)(serviceDir, `Additional${serviceName}.ts`);
78
76
  const additionalClassService = (0, additionalClass_1.prismaAdditionalServiceClassTmpl)(entityWideGenerationArgs);
79
- yield (0, utils_1.writeFileIfNotExists)(additionalServicePath, additionalClassService);
77
+ fileWriter.writeFileIfNotExists(additionalServicePath, additionalClassService);
80
78
  const generatedClassService = (0, class_1.prismaServiceBaseClassTmpl)(entityWideGenerationArgs);
81
- yield (0, fs_jetpack_1.write)(servicePath, generatedClassService);
79
+ fileWriter.write(servicePath, generatedClassService);
82
80
  const config = (0, config_1.configTmpl)(entityWideGenerationArgs, allSumRegistries, allInfoRegistries);
83
- yield (0, fs_jetpack_1.write)(configPath, config);
84
- yield (0, utils_1.writeFileIfNotExists)((0, path_1.join)(serviceDir, 'initUserHooks.ts'), (0, initUserHooks_1.initUserHooksTmpl)(entityWideGenerationArgs));
81
+ fileWriter.write(configPath, config);
82
+ fileWriter.writeFileIfNotExists((0, path_1.join)(serviceDir, 'initUserHooks.ts'), (0, initUserHooks_1.initUserHooksTmpl)(entityWideGenerationArgs));
85
83
  const hooksDir = (0, path_1.join)(serviceDir, 'hooks');
86
84
  if (['optional', 'required'].includes(entity.multitenancy)) {
87
85
  if (!entityWideGenerationArgs.entities.some((entity) => entity.name === 'tenants')) {
88
86
  throw new Error('Only the sprt project supports the multitenancy field!');
89
87
  }
90
- yield (0, fs_jetpack_1.write)((0, path_1.join)(hooksDir, 'tenantIdRequiredHooks.ts'), (0, tenantIdRequiredHooks_1.tenantIdRequiredHooksTmpl)(entityWideGenerationArgs));
88
+ fileWriter.write((0, path_1.join)(hooksDir, 'tenantIdRequiredHooks.ts'), (0, tenantIdRequiredHooks_1.tenantIdRequiredHooksTmpl)(entityWideGenerationArgs));
91
89
  }
92
- yield (0, fs_jetpack_1.write)((0, path_1.join)(serviceDir, 'initBuiltInHooks.ts'), (0, initBuiltInHooks_1.initBuiltInHooksTmpl)(entityWideGenerationArgs));
90
+ fileWriter.write((0, path_1.join)(serviceDir, 'initBuiltInHooks.ts'), (0, initBuiltInHooks_1.initBuiltInHooksTmpl)(entityWideGenerationArgs));
93
91
  if (!entity.elasticOnly) {
94
- yield (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'additionalOperationsOnCreate.ts'), (0, additionalOperationsOnCreate_1.additionalOperationsOnCreateTmpl)(entityWideGenerationArgs));
95
- yield (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'additionalOperationsOnUpdate.ts'), (0, additionalOperationsOnUpdate_1.additionalOperationsOnUpdateTmpl)(entityWideGenerationArgs));
96
- yield (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'additionalOperationsOnDelete.ts'), (0, additionalOperationsOnDelete_1.additionalOperationsOnDeleteTmpl)(entityWideGenerationArgs));
92
+ fileWriter.writeFileIfNotExists((0, path_1.join)(hooksDir, 'additionalOperationsOnCreate.ts'), (0, additionalOperationsOnCreate_1.additionalOperationsOnCreateTmpl)(entityWideGenerationArgs));
93
+ fileWriter.writeFileIfNotExists((0, path_1.join)(hooksDir, 'additionalOperationsOnUpdate.ts'), (0, additionalOperationsOnUpdate_1.additionalOperationsOnUpdateTmpl)(entityWideGenerationArgs));
94
+ fileWriter.writeFileIfNotExists((0, path_1.join)(hooksDir, 'additionalOperationsOnDelete.ts'), (0, additionalOperationsOnDelete_1.additionalOperationsOnDeleteTmpl)(entityWideGenerationArgs));
97
95
  }
98
- yield (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'beforeCreate.ts'), (0, beforeCreate_1.beforeCreateTmpl)(entityWideGenerationArgs));
99
- yield (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'beforeDelete.ts'), (0, beforeDelete_1.beforeDeleteTmpl)(entityWideGenerationArgs));
100
- yield (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'beforeUpdate.ts'), (0, beforeUpdate_1.beforeUpdateTmpl)(entityWideGenerationArgs));
101
- yield (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'beforeUpsert.ts'), (0, beforeUpsert_1.beforeUpsertTmpl)(entityWideGenerationArgs));
102
- yield (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'afterCreate.ts'), (0, afterCreate_1.afterCreateTmpl)(entityWideGenerationArgs));
103
- yield (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'afterUpdate.ts'), (0, afterUpdate_1.afterUpdateTmpl)(entityWideGenerationArgs));
104
- yield (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'afterDelete.ts'), (0, afterDelete_1.afterDeleteTmpl)(entityWideGenerationArgs));
105
- yield (0, utils_1.writeFileIfNotExists)((0, path_1.join)(hooksDir, 'changeListFilter.ts'), (0, changeListFilter_1.changeListFilterTmpl)(entityWideGenerationArgs));
96
+ fileWriter.writeFileIfNotExists((0, path_1.join)(hooksDir, 'beforeCreate.ts'), (0, beforeCreate_1.beforeCreateTmpl)(entityWideGenerationArgs));
97
+ fileWriter.writeFileIfNotExists((0, path_1.join)(hooksDir, 'beforeDelete.ts'), (0, beforeDelete_1.beforeDeleteTmpl)(entityWideGenerationArgs));
98
+ fileWriter.writeFileIfNotExists((0, path_1.join)(hooksDir, 'beforeUpdate.ts'), (0, beforeUpdate_1.beforeUpdateTmpl)(entityWideGenerationArgs));
99
+ fileWriter.writeFileIfNotExists((0, path_1.join)(hooksDir, 'beforeUpsert.ts'), (0, beforeUpsert_1.beforeUpsertTmpl)(entityWideGenerationArgs));
100
+ fileWriter.writeFileIfNotExists((0, path_1.join)(hooksDir, 'afterCreate.ts'), (0, afterCreate_1.afterCreateTmpl)(entityWideGenerationArgs));
101
+ fileWriter.writeFileIfNotExists((0, path_1.join)(hooksDir, 'afterUpdate.ts'), (0, afterUpdate_1.afterUpdateTmpl)(entityWideGenerationArgs));
102
+ fileWriter.writeFileIfNotExists((0, path_1.join)(hooksDir, 'afterDelete.ts'), (0, afterDelete_1.afterDeleteTmpl)(entityWideGenerationArgs));
103
+ fileWriter.writeFileIfNotExists((0, path_1.join)(hooksDir, 'changeListFilter.ts'), (0, changeListFilter_1.changeListFilterTmpl)(entityWideGenerationArgs));
106
104
  // if (entity.type === 'document') {
107
- // // await writeFileIfNotExists(
105
+ // // fileWriter.writeFileIfNotExists(
108
106
  // // join(hooksDir, 'getRegistryEntries.ts'),
109
107
  // // getRegistryEntriesTmpl(system.prefix, entity)
110
108
  // // )
111
- // // await write(
109
+ // // fileWriter.write(
112
110
  // // join(hooksDir, 'getPostOperations.ts'),
113
111
  // // getPostOperationsTmpl(
114
112
  // // system.prefix,
@@ -118,7 +116,7 @@ const generateEntity = (entityWideGenerationArgs) => __awaiter(void 0, void 0, v
118
116
  // // options
119
117
  // // )
120
118
  // // )
121
- // // await write(
119
+ // // fileWriter.write(
122
120
  // // join(hooksDir, 'getUnPostOperations.ts'),
123
121
  // // getUnPostOperationsTmpl(system.prefix, entity, options)
124
122
  // // )
@@ -128,13 +126,13 @@ const generateEntity = (entityWideGenerationArgs) => __awaiter(void 0, void 0, v
128
126
  const graphServiceDir = (0, path_1.join)(prjBackSrcPrefixedDir, 'graph', 'services', (0, cases_1.camelPlural)(entity.name));
129
127
  // Graph schema
130
128
  if (options.genGraphSchema) {
131
- 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));
132
- yield (0, utils_1.writeFileIfNotExists)((0, path_1.join)(graphServiceDir, 'additionalTypeDefs.ts'), (0, additionalTypes_1.backAdditionalTypesTmpl)());
129
+ fileWriter.write((0, path_1.join)(graphServiceDir, 'baseTypeDefs.ts'), (0, types_1.backBaseTypesTmpl)((0, graphql_1.printSchema)((0, genGraphCrudSchema_1.genGraphCrudSchema)(entity)), options));
130
+ fileWriter.writeFileIfNotExists((0, path_1.join)(graphServiceDir, 'additionalTypeDefs.ts'), (0, additionalTypes_1.backAdditionalTypesTmpl)());
133
131
  }
134
132
  // Graph resolvers
135
133
  if (options.genGraphResolvers && !options.typesOnly) {
136
- yield (0, fs_jetpack_1.write)(`${graphServiceDir}/baseResolvers.ts`, (0, resolvers_1.backBaseResolversTmpl)(entityWideGenerationArgs));
137
- yield (0, utils_1.writeFileIfNotExists)(`${graphServiceDir}/additionalResolvers.ts`, (0, additionalResolvers_1.backAdditionalResolversTmpl)());
134
+ fileWriter.write(`${graphServiceDir}/baseResolvers.ts`, (0, resolvers_1.backBaseResolversTmpl)(entityWideGenerationArgs));
135
+ fileWriter.writeFileIfNotExists(`${graphServiceDir}/additionalResolvers.ts`, (0, additionalResolvers_1.backAdditionalResolversTmpl)());
138
136
  }
139
137
  // UI
140
138
  let prjUiSrcPrefixedDir = '';
@@ -150,45 +148,36 @@ const generateEntity = (entityWideGenerationArgs) => __awaiter(void 0, void 0, v
150
148
  const widgetsDir = (0, path_1.join)(prjUiSrcPrefixedDir, 'widgets');
151
149
  if (!options.typesOnly) {
152
150
  // Permissions
153
- yield (0, fs_jetpack_1.write)(`${graphServiceDir}/permissionsToGraphql.ts`, (0, entityPermissionToGraphqlTmpl_1.backEntityPermissionToGraphqlTmpl)(entityWideGenerationArgs));
154
- yield (0, fs_jetpack_1.write)(`${graphServiceDir}/basePermissionsToGraphql.ts`, (0, entityBasePermissionToGraphql_1.backBasePermissionToGraphqlTmpl)(entityWideGenerationArgs));
155
- yield (0, fs_jetpack_1.write)(`${graphServiceDir}/additionalPermissionsToGraphql.ts`, (0, entityAdditionalPermissionToGraphqlTmpl_1.backEntityAdditionalPermissionToGraphqlTmpl)(entityWideGenerationArgs));
151
+ fileWriter.write(`${graphServiceDir}/permissionsToGraphql.ts`, (0, entityPermissionToGraphqlTmpl_1.backEntityPermissionToGraphqlTmpl)(entityWideGenerationArgs));
152
+ fileWriter.write(`${graphServiceDir}/basePermissionsToGraphql.ts`, (0, entityBasePermissionToGraphql_1.backBasePermissionToGraphqlTmpl)(entityWideGenerationArgs));
153
+ fileWriter.write(`${graphServiceDir}/additionalPermissionsToGraphql.ts`, (0, entityAdditionalPermissionToGraphqlTmpl_1.backEntityAdditionalPermissionToGraphqlTmpl)(entityWideGenerationArgs));
156
154
  // CountWidget
157
- // src/dc/widgets/count/CountAccountsWidget.tsx genUiCountWidget uiCountWidgetTmpl
158
155
  if (options.genUiCountWidget) {
159
156
  const countWdgetsDir = (0, path_1.join)(widgetsDir, 'count');
160
157
  const generatedResources = (0, CountWidget_1.uiCountWidgetTmpl)(entityWideGenerationArgs);
161
- yield (0, fs_jetpack_1.write)((0, path_1.join)(countWdgetsDir, `Count${(0, cases_1.pascal)(entity.name)}Widget.tsx`), generatedResources);
158
+ fileWriter.write((0, path_1.join)(countWdgetsDir, `Count${(0, cases_1.pascal)(entity.name)}Widget.tsx`), generatedResources);
162
159
  }
163
160
  const toLinks = (0, getLinksFromExternalEntities_1.getLinksFromExternalEntities)(entity, allLinks);
164
- // log.info(`To links for entity ${entity.name}`);
165
- // log.info(toLinks);
166
161
  // pages
167
162
  const pagesDir = (0, path_1.join)(prjUiSrcPrefixedDir, 'pages', entity.name);
168
163
  // EntityShow
169
- // src/air/pages/countries/CountryShow
170
164
  if (options.forms.show) {
171
165
  const entityShowDir = (0, path_1.join)(pagesDir, `${(0, cases_1.pascalSingular)(entity.name)}Show`);
172
166
  // MainTab
173
167
  // Do not touch if already exists
174
168
  const mainTab = (0, MainTab_1.uiEntityShowMainTabTmpl)();
175
- yield (0, utils_1.writeFileIfNotExists)((0, path_1.join)(entityShowDir, 'MainTab.tsx'), mainTab);
169
+ fileWriter.writeFileIfNotExists((0, path_1.join)(entityShowDir, 'MainTab.tsx'), mainTab);
176
170
  // DefaultMainTab
177
171
  const defaultMainTab = (0, DefaultMainTab_1.uiEntityShowDefaultMainTabTmpl)(entityWideGenerationArgs);
178
- yield (0, fs_jetpack_1.write)((0, path_1.join)(entityShowDir, 'DefaultMainTab.tsx'), defaultMainTab);
179
- // // index
180
- // const index = uiEntityShowIndexTmpl(prefix, allEntities, entity, toLinks, options);
181
- // await write(join(entityShowDir, 'index.tsx'), index);
172
+ fileWriter.write((0, path_1.join)(entityShowDir, 'DefaultMainTab.tsx'), defaultMainTab);
182
173
  // DefaultEntityShow
183
- yield (0, fs_jetpack_1.write)((0, path_1.join)(entityShowDir, `Default${(0, cases_1.pascalSingular)(entity.name)}Show.tsx`), (0, DefaultEntityShow_1.uiDefaultShowTmpl)(entityWideGenerationArgs));
174
+ fileWriter.write((0, path_1.join)(entityShowDir, `Default${(0, cases_1.pascalSingular)(entity.name)}Show.tsx`), (0, DefaultEntityShow_1.uiDefaultShowTmpl)(entityWideGenerationArgs));
184
175
  // DefaultActions
185
- // if (entity.type === 'document' && entity.registries.length > 0) {
186
- yield (0, fs_jetpack_1.write)((0, path_1.join)(entityShowDir, 'DefaultActions.tsx'), (0, DefaultActions_1.uiDefaultActionTmpl)(entityWideGenerationArgs));
187
- // }
176
+ fileWriter.write((0, path_1.join)(entityShowDir, 'DefaultActions.tsx'), (0, DefaultActions_1.uiDefaultActionTmpl)(entityWideGenerationArgs));
188
177
  // index
189
- yield (0, utils_1.writeFileIfNotExists)((0, path_1.join)(entityShowDir, 'index.tsx'), (0, EntityShow_1.uiEntityShowIndexTmpl)(entityWideGenerationArgs));
178
+ fileWriter.writeFileIfNotExists((0, path_1.join)(entityShowDir, 'index.tsx'), (0, EntityShow_1.uiEntityShowIndexTmpl)(entityWideGenerationArgs));
190
179
  const additionalTabs = (0, additionalTabs_1.uiAdditionalTabsTmpl)();
191
- yield (0, utils_1.writeFileIfNotExists)((0, path_1.join)(entityShowDir, 'additionalTabs.tsx'), additionalTabs);
180
+ fileWriter.writeFileIfNotExists((0, path_1.join)(entityShowDir, 'additionalTabs.tsx'), additionalTabs);
192
181
  // DependencyTabs
193
182
  for (const link of toLinks) {
194
183
  const tabsDir = (0, path_1.join)(entityShowDir, 'tabs');
@@ -198,35 +187,34 @@ const generateEntity = (entityWideGenerationArgs) => __awaiter(void 0, void 0, v
198
187
  }
199
188
  const componentName = `${(0, cases_1.pascal)(entity.name)}${(0, cases_1.pascal)(link.fromField.name)}Tab`;
200
189
  const dependencyTab = (0, DependencyTab_1.uiEntityShowDependencyTabTmpl)(allEntities, entity, link, options);
201
- yield (0, fs_jetpack_1.write)((0, path_1.join)(tabsDir, `${componentName}.tsx`), dependencyTab);
190
+ fileWriter.write((0, path_1.join)(tabsDir, `${componentName}.tsx`), dependencyTab);
202
191
  }
203
192
  }
204
193
  if (options.forms.create) {
205
194
  const entityCreateDir = (0, path_1.join)(pagesDir, `${(0, cases_1.pascalSingular)(entity.name)}Create`);
206
- yield (0, fs_jetpack_1.write)((0, path_1.join)(entityCreateDir, `Default${(0, cases_1.pascalSingular)(entity.name)}Create.tsx`), (0, DefaultEntityCreate_1.uiDefaultCreateTmpl)(entityWideGenerationArgs));
207
- yield (0, utils_1.writeFileIfNotExists)((0, path_1.join)(entityCreateDir, 'index.tsx'), (0, EntityCreate_1.uiCreateTmpl)(entityWideGenerationArgs));
195
+ fileWriter.write((0, path_1.join)(entityCreateDir, `Default${(0, cases_1.pascalSingular)(entity.name)}Create.tsx`), (0, DefaultEntityCreate_1.uiDefaultCreateTmpl)(entityWideGenerationArgs));
196
+ fileWriter.writeFileIfNotExists((0, path_1.join)(entityCreateDir, 'index.tsx'), (0, EntityCreate_1.uiCreateTmpl)(entityWideGenerationArgs));
208
197
  }
209
198
  if (options.forms.edit) {
210
199
  const entityEditDir = (0, path_1.join)(pagesDir, `${(0, cases_1.pascalSingular)(entity.name)}Edit`);
211
- yield (0, fs_jetpack_1.write)((0, path_1.join)(entityEditDir, `Default${(0, cases_1.pascalSingular)(entity.name)}Edit.tsx`), (0, DefaultEntityEdit_1.uiDefaultEditTmpl)(entityWideGenerationArgs));
212
- yield (0, utils_1.writeFileIfNotExists)((0, path_1.join)(entityEditDir, 'index.tsx'), (0, EntityEdit_1.uiEditTmpl)(entityWideGenerationArgs));
200
+ fileWriter.write((0, path_1.join)(entityEditDir, `Default${(0, cases_1.pascalSingular)(entity.name)}Edit.tsx`), (0, DefaultEntityEdit_1.uiDefaultEditTmpl)(entityWideGenerationArgs));
201
+ fileWriter.writeFileIfNotExists((0, path_1.join)(entityEditDir, 'index.tsx'), (0, EntityEdit_1.uiEditTmpl)(entityWideGenerationArgs));
213
202
  }
214
203
  if (options.forms.list) {
215
204
  const entityListDir = (0, path_1.join)(pagesDir, `${(0, cases_1.pascalSingular)(entity.name)}List`);
216
- yield (0, fs_jetpack_1.write)((0, path_1.join)(entityListDir, `Default${(0, cases_1.pascalSingular)(entity.name)}List.tsx`), (0, DefaultEntityList_1.uiDefaultListTmpl)(entityWideGenerationArgs));
217
- yield (0, utils_1.writeFileIfNotExists)((0, path_1.join)(entityListDir, `${(0, cases_1.pascalSingular)(entity.name)}Filter.tsx`), (0, EntityFilter_1.uiFilterTmpl)(entityWideGenerationArgs));
218
- yield (0, utils_1.writeFileIfNotExists)((0, path_1.join)(entityListDir, `${(0, cases_1.pascalSingular)(entity.name)}ListBreadcrumbs.tsx`), (0, EntityBreadcrumbs_1.uiListBreadcrumbsTmpl)(entityWideGenerationArgs));
219
- yield (0, fs_jetpack_1.write)((0, path_1.join)(entityListDir, `Default${(0, cases_1.pascalSingular)(entity.name)}Filter.tsx`), (0, DefaultEntityFilter_1.uiDefaultFilterTmpl)(entityWideGenerationArgs));
220
- yield (0, utils_1.writeFileIfNotExists)((0, path_1.join)(entityListDir, 'index.tsx'), (0, EntityList_1.uiListTmpl)(entityWideGenerationArgs));
205
+ fileWriter.write((0, path_1.join)(entityListDir, `Default${(0, cases_1.pascalSingular)(entity.name)}List.tsx`), (0, DefaultEntityList_1.uiDefaultListTmpl)(entityWideGenerationArgs));
206
+ fileWriter.writeFileIfNotExists((0, path_1.join)(entityListDir, `${(0, cases_1.pascalSingular)(entity.name)}Filter.tsx`), (0, EntityFilter_1.uiFilterTmpl)(entityWideGenerationArgs));
207
+ fileWriter.writeFileIfNotExists((0, path_1.join)(entityListDir, `${(0, cases_1.pascalSingular)(entity.name)}ListBreadcrumbs.tsx`), (0, EntityBreadcrumbs_1.uiListBreadcrumbsTmpl)(entityWideGenerationArgs));
208
+ fileWriter.write((0, path_1.join)(entityListDir, `Default${(0, cases_1.pascalSingular)(entity.name)}Filter.tsx`), (0, DefaultEntityFilter_1.uiDefaultFilterTmpl)(entityWideGenerationArgs));
209
+ fileWriter.writeFileIfNotExists((0, path_1.join)(entityListDir, 'index.tsx'), (0, EntityList_1.uiListTmpl)(entityWideGenerationArgs));
221
210
  }
222
211
  // ListWidget
223
- // src/dc/widgets/list/ListAccountsWidget.tsx genUiListWidget uiListWidgetTmpl
224
212
  if (options.genUiListWidget) {
225
213
  const listWdgetsDir = (0, path_1.join)(widgetsDir, 'list');
226
214
  const generatedResources = (0, ListWidget_1.uiListWidgetTmpl)(entityWideGenerationArgs);
227
- yield (0, fs_jetpack_1.write)((0, path_1.join)(listWdgetsDir, `List${(0, cases_1.pascal)(entity.name)}Widget.tsx`), generatedResources);
215
+ fileWriter.write((0, path_1.join)(listWdgetsDir, `List${(0, cases_1.pascal)(entity.name)}Widget.tsx`), generatedResources);
228
216
  }
229
217
  }
230
218
  });
231
219
  exports.generateEntity = generateEntity;
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVFbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRlRW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLCtCQUEyQjtBQUMzQiwwQ0FLdUI7QUFDdkIsdUVBQStFO0FBQy9FLCtFQUF1RjtBQUN2RixzRkFBd0Y7QUFDeEYseUZBQTJGO0FBQzNGLCtFQUFzRjtBQUN0Rix3R0FBb0c7QUFDcEcsOEdBQTBHO0FBQzFHLHdHQUFvRztBQUNwRyw4RkFBMEY7QUFDMUYsK0VBQTJFO0FBQzNFLG1GQUErRTtBQUMvRSwrRUFBMkU7QUFDM0UsdUZBQW1GO0FBQ25GLDhFQUEwRTtBQUMxRSxxQ0FBcUM7QUFDckMsb0ZBQWdHO0FBQ2hHLGtHQUE4RztBQUM5RyxnR0FBNEc7QUFDNUcsa0dBQW1HO0FBQ25HLG1DQUE4QztBQUM5QywyQ0FBa0M7QUFDbEMsa0dBQW9HO0FBQ3BHLG1HQUF1RztBQUN2Ryx1SEFBdUg7QUFDdkgsMklBQTJJO0FBQzNJLHVIQUFxSDtBQUNySCwyRkFBK0Y7QUFDL0YscUlBQXFJO0FBQ3JJLHFJQUFxSTtBQUNySSxxSUFBcUk7QUFDckksbUdBQW1HO0FBQ25HLHFHQUFxRztBQUNyRyxxR0FBcUc7QUFDckcsbUdBQW1HO0FBQ25HLG1HQUFtRztBQUNuRyxxR0FBcUc7QUFDckcscUdBQXFHO0FBQ3JHLDZHQUE2RztBQUM3Ryx3R0FBb0c7QUFDcEcsNEdBQXdHO0FBRXhHLGlHQUFpRztBQUNqRyx1R0FBdUc7QUFDdkcsdUhBQXVIO0FBQ3ZILG1GQUFtRjtBQUNuRixpRkFBa0c7QUFDbEcscUdBQWtIO0FBQ2xILHdHQUF3RztBQUVqRyxNQUFNLGNBQWMsR0FBRyxDQUM1Qix3QkFBa0QsRUFDbEQsRUFBRTtJQUNGLE1BQU0sRUFDSixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sUUFBUSxF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
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVFbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRlRW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLCtCQUEyQjtBQUMzQiwwQ0FLdUI7QUFDdkIsdUVBQStFO0FBQy9FLCtFQUF1RjtBQUN2RixzRkFBd0Y7QUFDeEYseUZBQTJGO0FBQzNGLCtFQUFzRjtBQUN0Rix3R0FBb0c7QUFDcEcsOEdBQTBHO0FBQzFHLHdHQUFvRztBQUNwRyw4RkFBMEY7QUFDMUYsK0VBQTJFO0FBQzNFLG1GQUErRTtBQUMvRSwrRUFBMkU7QUFDM0UsdUZBQW1GO0FBQ25GLDhFQUEwRTtBQUMxRSxxQ0FBcUM7QUFDckMsb0ZBQWdHO0FBQ2hHLGtHQUE4RztBQUM5RyxnR0FBNEc7QUFDNUcsa0dBQW1HO0FBQ25HLGtHQUFvRztBQUNwRyxtR0FBdUc7QUFDdkcsdUhBQXVIO0FBQ3ZILDJJQUEySTtBQUMzSSx1SEFBcUg7QUFDckgsMkZBQStGO0FBQy9GLHFJQUFxSTtBQUNySSxxSUFBcUk7QUFDckkscUlBQXFJO0FBQ3JJLG1HQUFtRztBQUNuRyxxR0FBcUc7QUFDckcscUdBQXFHO0FBQ3JHLG1HQUFtRztBQUNuRyxtR0FBbUc7QUFDbkcscUdBQXFHO0FBQ3JHLHFHQUFxRztBQUNyRyw2R0FBNkc7QUFDN0csd0dBQW9HO0FBQ3BHLDRHQUF3RztBQUV4RyxpR0FBaUc7QUFDakcsdUdBQXVHO0FBQ3ZHLHVIQUF1SDtBQUN2SCxtRkFBbUY7QUFDbkYsaUZBQWtHO0FBQ2xHLHFHQUFrSDtBQUNsSCx3R0FBd0c7QUFHakcsTUFBTSxjQUFjLEdBQUcsQ0FDNUIsVUFBc0IsRUFDdEIsd0JBQWtELEVBQ2xELEVBQUU7SUFDRixNQUFNLEVBQ0osV0FBVyxFQUNYLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsTUFBTSxFQUNOLFFBQVEsRUFDUixPQUFPLEdBQ1IsR0FBRyx3QkFBd0IsQ0FBQTtJQUM1QixJQUFJLHFCQUFxQixHQUFHLEVBQUUsQ0FBQTtJQUM5QixNQUFNLHFCQUFxQixHQUFHLElBQUEsV0FBSSxFQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUV0RSxxQ0FBcUM7SUFDckMscUJBQXFCLEdBQUcsSUFBQSxXQUFJLEVBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFFMUQsV0FBVztJQUNYLGlFQUFpRTtJQUNqRSxJQUFJO0lBRUosaUJBQWlCO0lBQ2pCLElBQUksT0FBTyxDQUFDLGlCQUFpQixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtRQUNuRCxNQUFNLFdBQVcsR0FBRyxHQUFHLElBQUEsb0JBQVksRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQTtRQUN6RCxNQUFNLFVBQVUsR0FBRyxJQUFBLFdBQUksRUFBQyxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUE7UUFDdkUsTUFBTSxXQUFXLEdBQUcsSUFBQSxXQUFJLEVBQUMsVUFBVSxFQUFFLEdBQUcsV0FBVyxLQUFLLENBQUMsQ0FBQTtRQUN6RCxNQUFNLFVBQVUsR0FBRyxJQUFBLFdBQUksRUFBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUE7UUFDaEQsTUFBTSxxQkFBcUIsR0FBRyxJQUFBLFdBQUksRUFBQyxVQUFVLEVBQUUsYUFBYSxXQUFXLEtBQUssQ0FBQyxDQUFBO1FBRTdFLE1BQU0sc0JBQXNCLEdBQUcsSUFBQSxrREFBZ0MsRUFBQyx3QkFBd0IsQ0FBQyxDQUFBO1FBQ3pGLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxxQkFBcUIsRUFBRSxzQkFBc0IsQ0FBQyxDQUFBO1FBRTlFLE1BQU0scUJBQXFCLEdBQUcsSUFBQSxrQ0FBMEIsRUFBQyx3QkFBd0IsQ0FBQyxDQUFBO1FBQ2xGLFVBQVUsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLHFCQUFxQixDQUFDLENBQUE7UUFFcEQsTUFBTSxNQUFNLEdBQUcsSUFBQSxtQkFBVSxFQUN2Qix3QkFBd0IsRUFDeEIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixDQUNsQixDQUFBO1FBQ0QsVUFBVSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFFcEMsVUFBVSxDQUFDLG9CQUFvQixDQUM3QixJQUFBLFdBQUksRUFBQyxVQUFVLEVBQUUsa0JBQWtCLENBQUMsRUFDcEMsSUFBQSxpQ0FBaUIsRUFBQyx3QkFBd0IsQ0FBQyxDQUM1QyxDQUFBO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBQSxXQUFJLEVBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQzFDLElBQUksQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUMxRCxJQUNFLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDckMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUN0QyxFQUNEO2dCQUNBLE1BQU0sSUFBSSxLQUFLLENBQ2Isd0RBQXdELENBQ3pELENBQUE7YUFDRjtZQUVELFVBQVUsQ0FBQyxLQUFLLENBQ2QsSUFBQSxXQUFJLEVBQUMsUUFBUSxFQUFFLDBCQUEwQixDQUFDLEVBQzFDLElBQUEsaURBQXlCLEVBQUMsd0JBQXdCLENBQUMsQ0FDcEQsQ0FBQTtTQUNGO1FBRUQsVUFBVSxDQUFDLEtBQUssQ0FDZCxJQUFBLFdBQUksRUFBQyxVQUFVLEVBQUUscUJBQXFCLENBQUMsRUFDdkMsSUFBQSx1Q0FBb0IsRUFBQyx3QkFBd0IsQ0FBQyxDQUMvQyxDQUFBO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUU7WUFDdkIsVUFBVSxDQUFDLG9CQUFvQixDQUM3QixJQUFBLFdBQUksRUFBQyxRQUFRLEVBQUUsaUNBQWlDLENBQUMsRUFDakQsSUFBQSwrREFBZ0MsRUFBQyx3QkFBd0IsQ0FBQyxDQUMzRCxDQUFBO1lBQ0QsVUFBVSxDQUFDLG9CQUFvQixDQUM3QixJQUFBLFdBQUksRUFBQyxRQUFRLEVBQUUsaUNBQWlDLENBQUMsRUFDakQsSUFBQSwrREFBZ0MsRUFBQyx3QkFBd0IsQ0FBQyxDQUMzRCxDQUFBO1lBQ0QsVUFBVSxDQUFDLG9CQUFvQixDQUM3QixJQUFBLFdBQUksRUFBQyxRQUFRLEVBQUUsaUNBQWlDLENBQUMsRUFDakQsSUFBQSwrREFBZ0MsRUFBQyx3QkFBd0IsQ0FBQyxDQUMzRCxDQUFBO1NBQ0Y7UUFFRCxVQUFVLENBQUMsb0JBQW9CLENBQzdCLElBQUEsV0FBSSxFQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxFQUNqQyxJQUFBLCtCQUFnQixFQUFDLHdCQUF3QixDQUFDLENBQzNDLENBQUE7UUFDRCxVQUFVLENBQUMsb0JBQW9CLENBQzdCLElBQUEsV0FBSSxFQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxFQUNqQyxJQUFBLCtCQUFnQixFQUFDLHdCQUF3QixDQUFDLENBQzNDLENBQUE7UUFDRCxVQUFVLENBQUMsb0JBQW9CLENBQzdCLElBQUEsV0FBSSxFQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxFQUNqQyxJQUFBLCtCQUFnQixFQUFDLHdCQUF3QixDQUFDLENBQzNDLENBQUE7UUFDRCxVQUFVLENBQUMsb0JBQW9CLENBQzdCLElBQUEsV0FBSSxFQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxFQUNqQyxJQUFBLCtCQUFnQixFQUFDLHdCQUF3QixDQUFDLENBQzNDLENBQUE7UUFDRCxVQUFVLENBQUMsb0JBQW9CLENBQzdCLElBQUEsV0FBSSxFQUFDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxFQUNoQyxJQUFBLDZCQUFlLEVBQUMsd0JBQXdCLENBQUMsQ0FDMUMsQ0FBQTtRQUNELFVBQVUsQ0FBQyxvQkFBb0IsQ0FDN0IsSUFBQSxXQUFJLEVBQUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLEVBQ2hDLElBQUEsNkJBQWUsRUFBQyx3QkFBd0IsQ0FBQyxDQUMxQyxDQUFBO1FBQ0QsVUFBVSxDQUFDLG9CQUFvQixDQUM3QixJQUFBLFdBQUksRUFBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsRUFDaEMsSUFBQSw2QkFBZSxFQUFDLHdCQUF3QixDQUFDLENBQzFDLENBQUE7UUFDRCxVQUFVLENBQUMsb0JBQW9CLENBQzdCLElBQUEsV0FBSSxFQUFDLFFBQVEsRUFBRSxxQkFBcUIsQ0FBQyxFQUNyQyxJQUFBLHVDQUFvQixFQUFDLHdCQUF3QixDQUFDLENBQy9DLENBQUE7UUFFRCxvQ0FBb0M7UUFDcEMsd0NBQXdDO1FBQ3hDLGtEQUFrRDtRQUNsRCx1REFBdUQ7UUFDdkQsU0FBUztRQUNULHlCQUF5QjtRQUN6QixpREFBaUQ7UUFDakQsZ0NBQWdDO1FBQ2hDLDBCQUEwQjtRQUMxQixtQkFBbUI7UUFDbkIsNkJBQTZCO1FBQzdCLDhCQUE4QjtRQUM5QixtQkFBbUI7UUFDbkIsV0FBVztRQUNYLFNBQVM7UUFDVCx5QkFBeUI7UUFDekIsbURBQW1EO1FBQ25ELGlFQUFpRTtRQUNqRSxTQUFTO1FBQ1QsSUFBSTtLQUNMO0lBRUQsUUFBUTtJQUNSLE1BQU0sZUFBZSxHQUFHLElBQUEsV0FBSSxFQUMxQixxQkFBcUIsRUFDckIsT0FBTyxFQUNQLFVBQVUsRUFDVixJQUFBLG1CQUFXLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUN6QixDQUFBO0lBRUQsZUFBZTtJQUNmLElBQUksT0FBTyxDQUFDLGNBQWMsRUFBRTtRQUMxQixVQUFVLENBQUMsS0FBSyxDQUNkLElBQUEsV0FBSSxFQUFDLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQyxFQUN4QyxJQUFBLHlCQUFpQixFQUFDLElBQUEscUJBQVcsRUFBQyxJQUFBLHVDQUFrQixFQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQ3BFLENBQUE7UUFFRCxVQUFVLENBQUMsb0JBQW9CLENBQzdCLElBQUEsV0FBSSxFQUFDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxFQUM5QyxJQUFBLHlDQUF1QixHQUFFLENBQzFCLENBQUE7S0FDRjtJQUVELGtCQUFrQjtJQUNsQixJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7UUFDbkQsVUFBVSxDQUFDLEtBQUssQ0FDZCxHQUFHLGVBQWUsbUJBQW1CLEVBQ3JDLElBQUEsaUNBQXFCLEVBQUMsd0JBQXdCLENBQUMsQ0FDaEQsQ0FBQTtRQUNELFVBQVUsQ0FBQyxvQkFBb0IsQ0FDN0IsR0FBRyxlQUFlLHlCQUF5QixFQUMzQyxJQUFBLGlEQUEyQixHQUFFLENBQzlCLENBQUE7S0FDRjtJQUVELEtBQUs7SUFFTCxJQUFJLG1CQUFtQixHQUFHLEVBQUUsQ0FBQTtJQUM1QixNQUFNLG1CQUFtQixHQUFHLElBQUEsV0FBSSxFQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUVsRSxxQ0FBcUM7SUFDckMsbUJBQW1CLEdBQUcsSUFBQSxXQUFJLEVBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFFdEQsV0FBVztJQUNYLHlFQUF5RTtJQUN6RSxJQUFJO0lBRUosNkVBQTZFO0lBRTdFLHNFQUFzRTtJQUV0RSxVQUFVO0lBQ1YsTUFBTSxVQUFVLEdBQUcsSUFBQSxXQUFJLEVBQUMsbUJBQW1CLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFFdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7UUFDdEIsY0FBYztRQUNkLFVBQVUsQ0FBQyxLQUFLLENBQ2QsR0FBRyxlQUFlLDBCQUEwQixFQUM1QyxJQUFBLGlFQUFpQyxFQUFDLHdCQUF3QixDQUFDLENBQzVELENBQUE7UUFDRCxVQUFVLENBQUMsS0FBSyxDQUNkLEdBQUcsZUFBZSw4QkFBOEIsRUFDaEQsSUFBQSwrREFBK0IsRUFBQyx3QkFBd0IsQ0FBQyxDQUMxRCxDQUFBO1FBQ0QsVUFBVSxDQUFDLEtBQUssQ0FDZCxHQUFHLGVBQWUsb0NBQW9DLEVBQ3RELElBQUEscUZBQTJDLEVBQUMsd0JBQXdCLENBQUMsQ0FDdEUsQ0FBQTtRQUVELGNBQWM7UUFDZCxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRTtZQUM1QixNQUFNLGNBQWMsR0FBRyxJQUFBLFdBQUksRUFBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUE7WUFFaEQsTUFBTSxrQkFBa0IsR0FBRyxJQUFBLCtCQUFpQixFQUFDLHdCQUF3QixDQUFDLENBQUE7WUFFdEUsVUFBVSxDQUFDLEtBQUssQ0FDZCxJQUFBLFdBQUksRUFBQyxjQUFjLEVBQUUsUUFBUSxJQUFBLGNBQU0sRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUM3RCxrQkFBa0IsQ0FDbkIsQ0FBQTtTQUNGO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBQSwyREFBNEIsRUFBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFFOUQsUUFBUTtRQUNSLE1BQU0sUUFBUSxHQUFHLElBQUEsV0FBSSxFQUFDLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFaEUsYUFBYTtRQUNiLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDdEIsTUFBTSxhQUFhLEdBQUcsSUFBQSxXQUFJLEVBQUMsUUFBUSxFQUFFLEdBQUcsSUFBQSxzQkFBYyxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7WUFFMUUsVUFBVTtZQUNWLGlDQUFpQztZQUNqQyxNQUFNLE9BQU8sR0FBRyxJQUFBLGlDQUF1QixHQUFFLENBQUE7WUFDekMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLElBQUEsV0FBSSxFQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQTtZQUU1RSxpQkFBaUI7WUFDakIsTUFBTSxjQUFjLEdBQUcsSUFBQSwrQ0FBOEIsRUFDbkQsd0JBQXdCLENBQ3pCLENBQUE7WUFDRCxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUEsV0FBSSxFQUFDLGFBQWEsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUFBO1lBRTNFLG9CQUFvQjtZQUNwQixVQUFVLENBQUMsS0FBSyxDQUNkLElBQUEsV0FBSSxFQUFDLGFBQWEsRUFBRSxVQUFVLElBQUEsc0JBQWMsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUNwRSxJQUFBLHFDQUFpQixFQUFDLHdCQUF3QixDQUFDLENBQzVDLENBQUE7WUFFRCxpQkFBaUI7WUFDakIsVUFBVSxDQUFDLEtBQUssQ0FDZCxJQUFBLFdBQUksRUFBQyxhQUFhLEVBQUUsb0JBQW9CLENBQUMsRUFDekMsSUFBQSxvQ0FBbUIsRUFBQyx3QkFBd0IsQ0FBQyxDQUM5QyxDQUFBO1lBRUQsUUFBUTtZQUNSLFVBQVUsQ0FBQyxvQkFBb0IsQ0FDN0IsSUFBQSxXQUFJLEVBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxFQUNoQyxJQUFBLGtDQUFxQixFQUFDLHdCQUF3QixDQUFDLENBQ2hELENBQUE7WUFFRCxNQUFNLGNBQWMsR0FBRyxJQUFBLHFDQUFvQixHQUFFLENBQUE7WUFDN0MsVUFBVSxDQUFDLG9CQUFvQixDQUM3QixJQUFBLFdBQUksRUFBQyxhQUFhLEVBQUUsb0JBQW9CLENBQUMsRUFDekMsY0FBYyxDQUNmLENBQUE7WUFFRCxpQkFBaUI7WUFDakIsS0FBSyxNQUFNLElBQUksSUFBSSxPQUFPLEVBQUU7Z0JBQzFCLE1BQU0sT0FBTyxHQUFHLElBQUEsV0FBSSxFQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQTtnQkFFM0MsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUE7Z0JBRXBELElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxjQUFjLElBQUksQ0FBQyxlQUFlLFVBQVUsQ0FBQyxDQUFBO2lCQUM5RDtnQkFFRCxNQUFNLGFBQWEsR0FBRyxHQUFHLElBQUEsY0FBTSxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFBLGNBQU0sRUFDbkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ3BCLEtBQUssQ0FBQTtnQkFFTixNQUFNLGFBQWEsR0FBRyxJQUFBLDZDQUE2QixFQUNqRCxXQUFXLEVBQ1gsTUFBTSxFQUNOLElBQUksRUFDSixPQUFPLENBQ1IsQ0FBQTtnQkFDRCxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUEsV0FBSSxFQUFDLE9BQU8sRUFBRSxHQUFHLGFBQWEsTUFBTSxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUE7YUFDdkU7U0FDRjtRQUVELElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDeEIsTUFBTSxlQUFlLEdBQUcsSUFBQSxXQUFJLEVBQzFCLFFBQVEsRUFDUixHQUFHLElBQUEsc0JBQWMsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FDdkMsQ0FBQTtZQUVELFVBQVUsQ0FBQyxLQUFLLENBQ2QsSUFBQSxXQUFJLEVBQ0YsZUFBZSxFQUNmLFVBQVUsSUFBQSxzQkFBYyxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUNsRCxFQUNELElBQUEseUNBQW1CLEVBQUMsd0JBQXdCLENBQUMsQ0FDOUMsQ0FBQTtZQUNELFVBQVUsQ0FBQyxvQkFBb0IsQ0FDN0IsSUFBQSxXQUFJLEVBQUMsZUFBZSxFQUFFLFdBQVcsQ0FBQyxFQUNsQyxJQUFBLDJCQUFZLEVBQUMsd0JBQXdCLENBQUMsQ0FDdkMsQ0FBQTtTQUNGO1FBRUQsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRTtZQUN0QixNQUFNLGFBQWEsR0FBRyxJQUFBLFdBQUksRUFBQyxRQUFRLEVBQUUsR0FBRyxJQUFBLHNCQUFjLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUUxRSxVQUFVLENBQUMsS0FBSyxDQUNkLElBQUEsV0FBSSxFQUFDLGFBQWEsRUFBRSxVQUFVLElBQUEsc0JBQWMsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUNwRSxJQUFBLHFDQUFpQixFQUFDLHdCQUF3QixDQUFDLENBQzVDLENBQUE7WUFDRCxVQUFVLENBQUMsb0JBQW9CLENBQzdCLElBQUEsV0FBSSxFQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsRUFDaEMsSUFBQSx1QkFBVSxFQUFDLHdCQUF3QixDQUFDLENBQ3JDLENBQUE7U0FDRjtRQUVELElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDdEIsTUFBTSxhQUFhLEdBQUcsSUFBQSxXQUFJLEVBQUMsUUFBUSxFQUFFLEdBQUcsSUFBQSxzQkFBYyxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7WUFFMUUsVUFBVSxDQUFDLEtBQUssQ0FDZCxJQUFBLFdBQUksRUFBQyxhQUFhLEVBQUUsVUFBVSxJQUFBLHNCQUFjLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFDcEUsSUFBQSxxQ0FBaUIsRUFBQyx3QkFBd0IsQ0FBQyxDQUM1QyxDQUFBO1lBQ0QsVUFBVSxDQUFDLG9CQUFvQixDQUM3QixJQUFBLFdBQUksRUFBQyxhQUFhLEVBQUUsR0FBRyxJQUFBLHNCQUFjLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFDL0QsSUFBQSwyQkFBWSxFQUFDLHdCQUF3QixDQUFDLENBQ3ZDLENBQUE7WUFDRCxVQUFVLENBQUMsb0JBQW9CLENBQzdCLElBQUEsV0FBSSxFQUFDLGFBQWEsRUFBRSxHQUFHLElBQUEsc0JBQWMsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQ3hFLElBQUEseUNBQXFCLEVBQUMsd0JBQXdCLENBQUMsQ0FDaEQsQ0FBQTtZQUNELFVBQVUsQ0FBQyxLQUFLLENBQ2QsSUFBQSxXQUFJLEVBQUMsYUFBYSxFQUFFLFVBQVUsSUFBQSxzQkFBYyxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQ3RFLElBQUEseUNBQW1CLEVBQUMsd0JBQXdCLENBQUMsQ0FDOUMsQ0FBQTtZQUNELFVBQVUsQ0FBQyxvQkFBb0IsQ0FDN0IsSUFBQSxXQUFJLEVBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxFQUNoQyxJQUFBLHVCQUFVLEVBQUMsd0JBQXdCLENBQUMsQ0FDckMsQ0FBQTtTQUNGO1FBRUQsYUFBYTtRQUNiLElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRTtZQUMzQixNQUFNLGFBQWEsR0FBRyxJQUFBLFdBQUksRUFBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUE7WUFFOUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFBLDZCQUFnQixFQUFDLHdCQUF3QixDQUFDLENBQUE7WUFFckUsVUFBVSxDQUFDLEtBQUssQ0FDZCxJQUFBLFdBQUksRUFBQyxhQUFhLEVBQUUsT0FBTyxJQUFBLGNBQU0sRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUMzRCxrQkFBa0IsQ0FDbkIsQ0FBQTtTQUNGO0tBQ0Y7QUFDSCxDQUFDLENBQUEsQ0FBQTtBQXJXWSxRQUFBLGNBQWMsa0JBcVcxQiJ9
@@ -32,13 +32,12 @@ const i18nProvider_1 = require("./generators/fileTemplates/ui/environment/src/i1
32
32
  const SpacesContext_1 = require("./generators/fileTemplates/ui/environment/src/contexts/SpacesContext");
33
33
  const AppBar_1 = require("./generators/fileTemplates/ui/environment/src/layout/AppBar");
34
34
  const genPrismaSchemaForEntitiesWithClientAdnDb_1 = require("./generators/prisma/scheme/genPrismaSchemaForEntitiesWithClientAdnDb");
35
- const fs_jetpack_1 = require("fs-jetpack");
36
35
  const dockerfileTmplUI_1 = require("./generators/fileTemplates/back/environment/dockerfileTmplUI");
37
36
  const dockerfileTmplBack_1 = require("./generators/fileTemplates/back/environment/dockerfileTmplBack");
38
37
  const ciNotify_1 = require("./generators/fileTemplates/ui/environment/ciNotify");
39
38
  const ciNotify_2 = require("./generators/fileTemplates/back/environment/ciNotify");
40
39
  const getAdditionalMethods_1 = require("./generators/fileTemplates/ui/environment/src/dataProvider/getAdditionalMethods");
41
- const generateEnvironment = (projectWideGenerationArgs) => __awaiter(void 0, void 0, void 0, function* () {
40
+ const generateEnvironment = (fileWriter, projectWideGenerationArgs) => __awaiter(void 0, void 0, void 0, function* () {
42
41
  const { entities, options } = projectWideGenerationArgs;
43
42
  const opts = Object.assign(Object.assign({}, types_1.defaultBootstrapEntityOptions), options);
44
43
  const allEntities = new Map();
@@ -48,124 +47,101 @@ const generateEnvironment = (projectWideGenerationArgs) => __awaiter(void 0, voi
48
47
  if (opts.detachedBackProject) {
49
48
  const prjDetachedBackSrcDir = (0, path_1.join)(opts.detachedBackProject, 'src');
50
49
  // corePrismaGetter
51
- // src/prisma/prisma.ts
52
50
  if (opts.corePrismaGetter) {
53
51
  const clientsFolderDir = (0, path_1.join)(prjDetachedBackSrcDir, 'clients');
54
- yield (0, fs_jetpack_1.write)((0, path_1.join)(clientsFolderDir, 'getPrisma.ts'), (0, getPrisma_1.prismaGetterTmpl)(opts));
52
+ fileWriter.write((0, path_1.join)(clientsFolderDir, 'getPrisma.ts'), (0, getPrisma_1.prismaGetterTmpl)(opts));
55
53
  }
56
- // src/clients/queue/getQueue.ts
57
54
  if (opts.corePrismaGetter) {
58
55
  const queueFolderDir = (0, path_1.join)(prjDetachedBackSrcDir, 'clients', 'queue');
59
- yield (0, fs_jetpack_1.write)((0, path_1.join)(queueFolderDir, 'getQueue.ts'), (0, getQueue_1.getQueueTmpl)(opts));
56
+ fileWriter.write((0, path_1.join)(queueFolderDir, 'getQueue.ts'), (0, getQueue_1.getQueueTmpl)(opts));
60
57
  }
61
58
  // coreIndex
62
- // src/index.ts
63
59
  if (opts.coreIndex) {
64
- yield (0, fs_jetpack_1.write)((0, path_1.join)(prjDetachedBackSrcDir, 'index.ts'), (0, src_1.environmentIndexTmpl)(opts));
60
+ fileWriter.write((0, path_1.join)(prjDetachedBackSrcDir, 'index.ts'), (0, src_1.environmentIndexTmpl)(opts));
65
61
  }
66
62
  // schema.prisma
67
- // prisma/schema.prisma
68
63
  if (opts.genPrismaSchema) {
69
64
  const prismaFolderDir = (0, path_1.join)(opts.detachedBackProject, 'prisma');
70
65
  const prismaSchema = (0, genPrismaSchemaForEntitiesWithClientAdnDb_1.genPrismaSchemaForEntitiesWithClientAdnDb)(projectWideGenerationArgs);
71
- yield (0, fs_jetpack_1.write)((0, path_1.join)(prismaFolderDir, 'schema.prisma'), prismaSchema);
66
+ fileWriter.write((0, path_1.join)(prismaFolderDir, 'schema.prisma'), prismaSchema);
72
67
  if (opts.sharding) {
73
68
  const prismaSchema = (0, genPrismaSchemaForEntitiesWithClientAdnDb_1.genPrismaSchemaForEntitiesWithClientAdnDb)(projectWideGenerationArgs, true);
74
- yield (0, fs_jetpack_1.write)((0, path_1.join)(prismaFolderDir, 'shards', 'schema.prisma'), prismaSchema);
69
+ fileWriter.write((0, path_1.join)(prismaFolderDir, 'shards', 'schema.prisma'), prismaSchema);
75
70
  }
76
71
  }
77
72
  // chart
78
73
  const chartDir = (0, path_1.join)(opts.detachedBackProject, 'chart');
79
74
  // chart itself
80
- // chart/Chart.yaml
81
- yield (0, fs_jetpack_1.write)((0, path_1.join)(chartDir, 'Chart.yaml'), (0, Chart_1.chartTmpl)(projectWideGenerationArgs));
75
+ fileWriter.write((0, path_1.join)(chartDir, 'Chart.yaml'), (0, Chart_1.chartTmpl)(projectWideGenerationArgs));
82
76
  // chart values
83
- // chart/values.yaml
84
77
  if (opts.genBackChartValues) {
85
- yield (0, fs_jetpack_1.write)((0, path_1.join)(chartDir, 'values.yaml'), (0, values_1.chartValuesTmpl)(projectWideGenerationArgs));
78
+ fileWriter.write((0, path_1.join)(chartDir, 'values.yaml'), (0, values_1.chartValuesTmpl)(projectWideGenerationArgs));
86
79
  }
87
80
  // chart templates
88
81
  const chartTemplatesDir = (0, path_1.join)(chartDir, 'templates');
89
82
  // chart ingress
90
- // chart/templates/ingress.yaml
91
83
  if (opts.genBackChartIngress) {
92
- yield (0, fs_jetpack_1.write)((0, path_1.join)(chartTemplatesDir, 'ingress.yaml'), (0, ingress_1.chartIngressTmpl)(projectWideGenerationArgs));
84
+ fileWriter.write((0, path_1.join)(chartTemplatesDir, 'ingress.yaml'), (0, ingress_1.chartIngressTmpl)(projectWideGenerationArgs));
93
85
  }
94
86
  // chart back
95
87
  if (opts.genBackChartBack) {
96
- // chart/templates/back.yaml
97
- yield (0, fs_jetpack_1.write)((0, path_1.join)(chartTemplatesDir, 'back.yaml'), (0, back_1.chartBackTmpl)(projectWideGenerationArgs));
88
+ fileWriter.write((0, path_1.join)(chartTemplatesDir, 'back.yaml'), (0, back_1.chartBackTmpl)(projectWideGenerationArgs));
98
89
  }
99
90
  // gitlab-ci
100
- // .gitlab-ci.yml
101
91
  if (opts.genBackGitlabCi) {
102
- yield (0, fs_jetpack_1.write)((0, path_1.join)(opts.detachedBackProject, '.gitlab-ci.yml'), (0, gitlabCi_1.gitlabCiTmpl)(projectWideGenerationArgs));
92
+ fileWriter.write((0, path_1.join)(opts.detachedBackProject, '.gitlab-ci.yml'), (0, gitlabCi_1.gitlabCiTmpl)(projectWideGenerationArgs));
103
93
  }
104
94
  // ci-notify
105
- // ci-notify.sh
106
95
  if (opts.genBackCiNotify) {
107
- yield (0, fs_jetpack_1.write)((0, path_1.join)(opts.detachedBackProject, 'ci-notify.sh'), (0, ciNotify_2.ciNotifyTmpl)(projectWideGenerationArgs));
96
+ fileWriter.write((0, path_1.join)(opts.detachedBackProject, 'ci-notify.sh'), (0, ciNotify_2.ciNotifyTmpl)(projectWideGenerationArgs));
108
97
  }
109
98
  // dockerfileTmplBack
110
- yield (0, fs_jetpack_1.write)((0, path_1.join)(opts.detachedBackProject, 'Dockerfile'), (0, dockerfileTmplBack_1.dockerfileTmplBack)(projectWideGenerationArgs));
99
+ fileWriter.write((0, path_1.join)(opts.detachedBackProject, 'Dockerfile'), (0, dockerfileTmplBack_1.dockerfileTmplBack)(projectWideGenerationArgs));
111
100
  // UI
112
101
  const prjDetachedUiSrcDir = (0, path_1.join)(opts.detachedUiProject, 'src');
113
- // src/App.tsx
114
102
  if (opts.genUIApp) {
115
- yield (0, fs_jetpack_1.write)((0, path_1.join)(prjDetachedUiSrcDir, 'App.tsx'), (0, App_1.uiAppTmpl)(projectWideGenerationArgs, opts));
103
+ fileWriter.write((0, path_1.join)(prjDetachedUiSrcDir, 'App.tsx'), (0, App_1.uiAppTmpl)(projectWideGenerationArgs, opts));
116
104
  }
117
105
  // layout
118
106
  const uiLayoutFolder = (0, path_1.join)(prjDetachedUiSrcDir, 'layout');
119
- // src/layout/Menu.tsx
120
- yield (0, fs_jetpack_1.write)((0, path_1.join)(uiLayoutFolder, 'Menu.tsx'), (0, Menu_1.uiLayoutMenuTmpl)(opts));
121
- // src/layout/AppBar.tsx
107
+ fileWriter.write((0, path_1.join)(uiLayoutFolder, 'Menu.tsx'), (0, Menu_1.uiLayoutMenuTmpl)(opts));
122
108
  if (opts.genUiAppBar) {
123
- yield (0, fs_jetpack_1.write)((0, path_1.join)(uiLayoutFolder, 'AppBar.tsx'), (0, AppBar_1.uiLayoutAppBarTmpl)(opts));
109
+ fileWriter.write((0, path_1.join)(uiLayoutFolder, 'AppBar.tsx'), (0, AppBar_1.uiLayoutAppBarTmpl)(opts));
124
110
  }
125
- // src/contexts/SpacesContext.tsx
126
111
  const uiContextsFolder = (0, path_1.join)(prjDetachedUiSrcDir, 'contexts');
127
- yield (0, fs_jetpack_1.write)((0, path_1.join)(uiContextsFolder, 'SpacesContext.tsx'), (0, SpacesContext_1.uiSpacesContextTmpl)(projectWideGenerationArgs));
128
- // src/dataProvider/index.ts
112
+ fileWriter.write((0, path_1.join)(uiContextsFolder, 'SpacesContext.tsx'), (0, SpacesContext_1.uiSpacesContextTmpl)(projectWideGenerationArgs));
129
113
  const uiDataProviderFolder = (0, path_1.join)(prjDetachedUiSrcDir, 'dataProvider');
130
- yield (0, fs_jetpack_1.write)((0, path_1.join)(uiDataProviderFolder, 'index.ts'), (0, dataProvider_1.uiDataProviderTmpl)(entities, opts));
131
- // src/dataProvider/getAdditionalMethods.ts
132
- yield (0, fs_jetpack_1.write)((0, path_1.join)(uiDataProviderFolder, 'getAdditionalMethods.ts'), (0, getAdditionalMethods_1.uiGetAdditionalMethodsTmpl)(projectWideGenerationArgs.system.additionalServices, opts));
133
- // src/i18nProvider/index.ts
114
+ fileWriter.write((0, path_1.join)(uiDataProviderFolder, 'index.ts'), (0, dataProvider_1.uiDataProviderTmpl)(entities, opts));
115
+ fileWriter.write((0, path_1.join)(uiDataProviderFolder, 'getAdditionalMethods.ts'), (0, getAdditionalMethods_1.uiGetAdditionalMethodsTmpl)(projectWideGenerationArgs.system.additionalServices, opts));
134
116
  const uiI18nProviderFolder = (0, path_1.join)(prjDetachedUiSrcDir, 'i18nProvider');
135
- yield (0, fs_jetpack_1.write)((0, path_1.join)(uiI18nProviderFolder, 'index.ts'), (0, i18nProvider_1.uiI18nProviderTmpl)(projectWideGenerationArgs, opts));
117
+ fileWriter.write((0, path_1.join)(uiI18nProviderFolder, 'index.ts'), (0, i18nProvider_1.uiI18nProviderTmpl)(projectWideGenerationArgs, opts));
136
118
  // chart
137
119
  const uiChartDir = (0, path_1.join)(opts.detachedUiProject, 'chart');
138
120
  // chart itself
139
- // chart/Chart.yaml
140
- yield (0, fs_jetpack_1.write)((0, path_1.join)(uiChartDir, 'Chart.yaml'), (0, Chart_2.uiChartTmpl)(projectWideGenerationArgs));
121
+ fileWriter.write((0, path_1.join)(uiChartDir, 'Chart.yaml'), (0, Chart_2.uiChartTmpl)(projectWideGenerationArgs));
141
122
  // chart values
142
- // chart/values.yaml
143
- yield (0, fs_jetpack_1.write)((0, path_1.join)(uiChartDir, 'values.yaml'), (0, values_2.uiChartValuesTmpl)(projectWideGenerationArgs));
123
+ fileWriter.write((0, path_1.join)(uiChartDir, 'values.yaml'), (0, values_2.uiChartValuesTmpl)(projectWideGenerationArgs));
144
124
  // chart templates
145
125
  const uiChartTemplatesDir = (0, path_1.join)(uiChartDir, 'templates');
146
126
  // chart ingress
147
- // chart/templates/ingress.yaml
148
127
  if (opts.genUiChartIngress) {
149
- yield (0, fs_jetpack_1.write)((0, path_1.join)(uiChartTemplatesDir, 'ingress.yaml'), (0, ingress_2.uiChartIngressTmpl)(projectWideGenerationArgs));
128
+ fileWriter.write((0, path_1.join)(uiChartTemplatesDir, 'ingress.yaml'), (0, ingress_2.uiChartIngressTmpl)(projectWideGenerationArgs));
150
129
  }
151
130
  // chart front
152
- // chart/templates/front.yaml
153
131
  if (opts.genUiChartFront) {
154
- yield (0, fs_jetpack_1.write)((0, path_1.join)(uiChartTemplatesDir, 'front.yaml'), (0, front_1.uiChartFrontTmpl)(projectWideGenerationArgs));
132
+ fileWriter.write((0, path_1.join)(uiChartTemplatesDir, 'front.yaml'), (0, front_1.uiChartFrontTmpl)(projectWideGenerationArgs));
155
133
  }
156
134
  // gitlab-ci
157
- // .gitlab-ci.yml
158
135
  if (opts.genUiGitlabCi) {
159
- yield (0, fs_jetpack_1.write)((0, path_1.join)(opts.detachedUiProject, '.gitlab-ci.yml'), (0, gitlabCi_2.uiGitlabCiTmpl)(projectWideGenerationArgs));
136
+ fileWriter.write((0, path_1.join)(opts.detachedUiProject, '.gitlab-ci.yml'), (0, gitlabCi_2.uiGitlabCiTmpl)(projectWideGenerationArgs));
160
137
  }
161
138
  // ci-notify
162
- // ci-notify.sh
163
139
  if (opts.genUiCiNotify) {
164
- yield (0, fs_jetpack_1.write)((0, path_1.join)(opts.detachedUiProject, 'ci-notify.sh'), (0, ciNotify_1.uiCiNotifyTmpl)(projectWideGenerationArgs));
140
+ fileWriter.write((0, path_1.join)(opts.detachedUiProject, 'ci-notify.sh'), (0, ciNotify_1.uiCiNotifyTmpl)(projectWideGenerationArgs));
165
141
  }
166
142
  // dockerfileTmplUI
167
- yield (0, fs_jetpack_1.write)((0, path_1.join)(opts.detachedUiProject, 'Dockerfile'), (0, dockerfileTmplUI_1.dockerfileTmplUI)(projectWideGenerationArgs));
143
+ fileWriter.write((0, path_1.join)(opts.detachedUiProject, 'Dockerfile'), (0, dockerfileTmplUI_1.dockerfileTmplUI)(projectWideGenerationArgs));
168
144
  }
169
145
  });
170
146
  exports.generateEnvironment = generateEnvironment;
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVFbnZpcm9ubWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vZ2VuZXJhdGVFbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSwrQkFBMkI7QUFDM0IsbUNBQXVEO0FBQ3ZELGlHQUFvRztBQUNwRyxxR0FBcUc7QUFDckcseUVBQXNGO0FBQ3RGLDJGQUFnRztBQUNoRyxtRkFBbUY7QUFDbkYsbUZBQW1GO0FBQ25GLHFGQUEwRjtBQUMxRixpR0FBc0c7QUFDdEcsaUZBQW1GO0FBQ25GLGlGQUFtRjtBQUNuRixtRkFBMEY7QUFDMUYsK0ZBQXNHO0FBQ3RHLDJGQUFrRztBQUNsRywyRUFBNkU7QUFDN0Usb0ZBQTRGO0FBQzVGLDZGQUErRjtBQUMvRiw2RkFBK0Y7QUFDL0Ysd0dBQTBHO0FBQzFHLHdGQUFnRztBQUNoRyxvSUFBZ0k7QUFDaEksMkNBQWtDO0FBR2xDLG1HQUErRjtBQUMvRix1R0FBbUc7QUFDbkcsaUZBQW1GO0FBQ25GLG1GQUFtRjtBQUNuRiwwSEFBNEg7QUFFckgsTUFBTSxtQkFBbUIsR0FBRyxDQUNqQyx5QkFBb0QsRUFDcEQsRUFBRTtJQUNGLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEdBQUcseUJBQXlCLENBQUE7SUFDdkQsTUFBTSxJQUFJLG1DQUNMLHFDQUE2QixHQUM3QixPQUFPLENBQ1gsQ0FBQTtJQUVELE1BQU0sV0FBVyxHQUF3QixJQUFJLEdBQUcsRUFBRSxDQUFBO0lBQ2xELEtBQUssTUFBTSxNQUFNLElBQUksUUFBUSxFQUFFO1FBQzdCLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQTtLQUNyQztJQUVELElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO1FBQzVCLE1BQU0scUJBQXFCLEdBQUcsSUFBQSxXQUFJLEVBQUMsSUFBSSxDQUFDLG1C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
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVFbnZpcm9ubWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vZ2VuZXJhdGVFbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSwrQkFBMkI7QUFDM0IsbUNBQW1FO0FBQ25FLGlHQUFvRztBQUNwRyxxR0FBcUc7QUFDckcseUVBQXNGO0FBQ3RGLDJGQUFnRztBQUNoRyxtRkFBbUY7QUFDbkYsbUZBQW1GO0FBQ25GLHFGQUEwRjtBQUMxRixpR0FBc0c7QUFDdEcsaUZBQW1GO0FBQ25GLGlGQUFtRjtBQUNuRixtRkFBMEY7QUFDMUYsK0ZBQXNHO0FBQ3RHLDJGQUFrRztBQUNsRywyRUFBNkU7QUFDN0Usb0ZBQTRGO0FBQzVGLDZGQUErRjtBQUMvRiw2RkFBK0Y7QUFDL0Ysd0dBQTBHO0FBQzFHLHdGQUFnRztBQUNoRyxvSUFBZ0k7QUFHaEksbUdBQStGO0FBQy9GLHVHQUFtRztBQUNuRyxpRkFBbUY7QUFDbkYsbUZBQW1GO0FBQ25GLDBIQUE0SDtBQUVySCxNQUFNLG1CQUFtQixHQUFHLENBQ2pDLFVBQXNCLEVBQ3RCLHlCQUFvRCxFQUNwRCxFQUFFO0lBQ0YsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsR0FBRyx5QkFBeUIsQ0FBQTtJQUN2RCxNQUFNLElBQUksbUNBQ0wscUNBQTZCLEdBQzdCLE9BQU8sQ0FDWCxDQUFBO0lBRUQsTUFBTSxXQUFXLEdBQXdCLElBQUksR0FBRyxFQUFFLENBQUE7SUFDbEQsS0FBSyxNQUFNLE1BQU0sSUFBSSxRQUFRLEVBQUU7UUFDN0IsV0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0tBQ3JDO0lBRUQsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7UUFDNUIsTUFBTSxxQkFBcUIsR0FBRyxJQUFBLFdBQUksRUFBQyxJQUFJLENBQUMsbUJB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