runlify 0.0.511 → 0.0.512

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.
Files changed (19) hide show
  1. package/build/projectsGeneration/builders/ConfigVarBuilder.js +78 -0
  2. package/build/projectsGeneration/builders/SystemMetaBuilder.js +37 -34
  3. package/build/projectsGeneration/builders/buildedTypes.js +1 -1
  4. package/build/projectsGeneration/commonEntities/addConfigurationVariables.js +15 -0
  5. package/build/projectsGeneration/commonEntities/index.js +4 -2
  6. package/build/projectsGeneration/generateEnvironment.js +54 -62
  7. package/build/projectsGeneration/generateProject.js +39 -46
  8. package/build/projectsGeneration/generators/fileTemplates/back/root/config/config.js +36 -0
  9. package/build/types/projectsGeneration/builders/ConfigVarBuilder.d.ts +22 -0
  10. package/build/types/projectsGeneration/builders/SystemMetaBuilder.d.ts +6 -3
  11. package/build/types/projectsGeneration/builders/buildedTypes.d.ts +2 -0
  12. package/build/types/projectsGeneration/commonEntities/addConfigurationVariables.d.ts +3 -0
  13. package/build/types/projectsGeneration/commonEntities/index.d.ts +1 -0
  14. package/build/types/projectsGeneration/generators/fileTemplates/back/root/config/config.d.ts +2 -0
  15. package/package.json +1 -1
  16. package/build/projectsGeneration/generators/fileTemplates/back/environment/src/clients/knex.js +0 -13
  17. package/build/projectsGeneration/generators/fileTemplates/back/root/config/index.js +0 -35
  18. package/build/types/projectsGeneration/generators/fileTemplates/back/environment/src/clients/knex.d.ts +0 -2
  19. package/build/types/projectsGeneration/generators/fileTemplates/back/root/config/index.d.ts +0 -2
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConfigVarBuilder = void 0;
4
+ var ConfigVarBuilder = /** @class */ (function () {
5
+ function ConfigVarBuilder(name, type, required, def, needFor, scopes, hidden, editable) {
6
+ if (required === void 0) { required = true; }
7
+ if (needFor === void 0) { needFor = ''; }
8
+ if (scopes === void 0) { scopes = ['back', 'worker', 'telegramBot']; }
9
+ if (hidden === void 0) { hidden = false; }
10
+ if (editable === void 0) { editable = true; }
11
+ this.name = name;
12
+ this.type = type;
13
+ this.required = required;
14
+ this.needFor = needFor;
15
+ this.scopes = scopes;
16
+ this.hidden = hidden;
17
+ this.editable = editable;
18
+ this.default = def;
19
+ }
20
+ ConfigVarBuilder.prototype.build = function () {
21
+ var _a;
22
+ return {
23
+ name: this.name,
24
+ type: this.type,
25
+ needFor: this.needFor,
26
+ default: (_a = this.default) !== null && _a !== void 0 ? _a : '',
27
+ required: this.required,
28
+ scopes: this.scopes,
29
+ hidden: this.hidden,
30
+ editable: this.editable,
31
+ };
32
+ };
33
+ ConfigVarBuilder.prototype.setRequired = function (value) {
34
+ if (value === void 0) { value = true; }
35
+ this.required = value;
36
+ return this;
37
+ };
38
+ ConfigVarBuilder.prototype.setNeedFor = function (value) {
39
+ if (value === void 0) { value = ''; }
40
+ this.needFor = value;
41
+ return this;
42
+ };
43
+ ConfigVarBuilder.prototype.setScopes = function (scopes) {
44
+ if (scopes === void 0) { scopes = ['back', 'worker', 'telegramBot']; }
45
+ this.scopes = scopes;
46
+ return this;
47
+ };
48
+ ConfigVarBuilder.prototype.addScopes = function (scope) {
49
+ this.scopes.push(scope);
50
+ return this;
51
+ };
52
+ ConfigVarBuilder.prototype.delScopes = function (scope) {
53
+ this.scopes = this.scopes.filter(function (v) { return v !== scope; });
54
+ return this;
55
+ };
56
+ ConfigVarBuilder.prototype.setHidden = function (value) {
57
+ if (value === void 0) { value = false; }
58
+ this.hidden = value;
59
+ return this;
60
+ };
61
+ ConfigVarBuilder.prototype.setEditable = function (value) {
62
+ if (value === void 0) { value = true; }
63
+ this.editable = value;
64
+ return this;
65
+ };
66
+ ConfigVarBuilder.prototype.setSecure = function () {
67
+ this.hidden = true;
68
+ this.editable = false;
69
+ return this;
70
+ };
71
+ ConfigVarBuilder.prototype.setDefValue = function (def) {
72
+ this.default = def !== null && def !== void 0 ? def : '';
73
+ return this;
74
+ };
75
+ return ConfigVarBuilder;
76
+ }());
77
+ exports.ConfigVarBuilder = ConfigVarBuilder;
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlnVmFyQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vYnVpbGRlcnMvQ29uZmlnVmFyQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQTtJQUVFLDBCQUNTLElBQVksRUFDWixJQUFPLEVBQ1AsUUFBZSxFQUN0QixHQUErQixFQUN4QixPQUFvQixFQUNwQixNQUE0RCxFQUM1RCxNQUFjLEVBQ2QsUUFBZTtRQUxmLHlCQUFBLEVBQUEsZUFBZTtRQUVmLHdCQUFBLEVBQUEsWUFBb0I7UUFDcEIsdUJBQUEsRUFBQSxVQUE0QixNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQztRQUM1RCx1QkFBQSxFQUFBLGNBQWM7UUFDZCx5QkFBQSxFQUFBLGVBQWU7UUFQZixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osU0FBSSxHQUFKLElBQUksQ0FBRztRQUNQLGFBQVEsR0FBUixRQUFRLENBQU87UUFFZixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ3BCLFdBQU0sR0FBTixNQUFNLENBQXNEO1FBQzVELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFPO1FBRXRCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxnQ0FBSyxHQUFMOztRQUNFLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsT0FBTyxFQUFFLE1BQUEsSUFBSSxDQUFDLE9BQU8sbUNBQUksRUFBb0I7WUFDN0MsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUE7SUFDSCxDQUFDO0lBRUQsc0NBQVcsR0FBWCxVQUFZLEtBQVk7UUFBWixzQkFBQSxFQUFBLFlBQVk7UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUE7UUFFckIsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQscUNBQVUsR0FBVixVQUFXLEtBQVU7UUFBVixzQkFBQSxFQUFBLFVBQVU7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUE7UUFFcEIsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQsb0NBQVMsR0FBVCxVQUFVLE1BQTREO1FBQTVELHVCQUFBLEVBQUEsVUFBNEIsTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUM7UUFDcEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFFckIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsb0NBQVMsR0FBVCxVQUFVLEtBQXFCO1FBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhCLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVELG9DQUFTLEdBQVQsVUFBVSxLQUFxQjtRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQUMsQ0FBQyxJQUFLLE9BQUEsQ0FBQyxLQUFLLEtBQUssRUFBWCxDQUFXLENBQUMsQ0FBQztRQUVyRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxvQ0FBUyxHQUFULFVBQVUsS0FBYTtRQUFiLHNCQUFBLEVBQUEsYUFBYTtRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQTtRQUVuQixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxzQ0FBVyxHQUFYLFVBQVksS0FBWTtRQUFaLHNCQUFBLEVBQUEsWUFBWTtRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQTtRQUVyQixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxvQ0FBUyxHQUFUO1FBQ0UsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUE7UUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUE7UUFFckIsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQsc0NBQVcsR0FBWCxVQUNFLEdBQStCO1FBRS9CLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxhQUFILEdBQUcsY0FBSCxHQUFHLEdBQUksRUFBb0IsQ0FBQTtRQUUxQyxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFDSCx1QkFBQztBQUFELENBQUMsQUFwRkQsSUFvRkM7QUFwRlksNENBQWdCIn0=
@@ -58,11 +58,15 @@ var ReportBuilder_1 = __importDefault(require("./ReportBuilder"));
58
58
  var RestApiBuilder_1 = __importDefault(require("./RestApiBuilder"));
59
59
  var DeploymentBuilder_1 = __importDefault(require("./DeploymentBuilder"));
60
60
  var TelegramBotBuilder_1 = __importDefault(require("./TelegramBotBuilder"));
61
+ var ConfigVarBuilder_1 = require("./ConfigVarBuilder");
62
+ var log_1 = __importDefault(require("../../log"));
61
63
  exports.defaultConfigVar = {
62
64
  needFor: '',
63
65
  default: '',
64
66
  required: true,
65
67
  scopes: ['back', 'worker', 'telegramBot'],
68
+ hidden: false,
69
+ editable: true,
66
70
  };
67
71
  var SystemMetaBuilder = /** @class */ (function () {
68
72
  // requests: MemoryAndCpu = { memory: '128Mi', cpu: '0.15' }
@@ -100,13 +104,13 @@ var SystemMetaBuilder = /** @class */ (function () {
100
104
  this.addConfigVar('app.environment', 'string', true, 'dev', 'Название окружения');
101
105
  this.addConfigVar('app.ui.url', 'string', false, 'http://localhost:4000', 'Урл интерфейса конечного пользователя (без конечного слеша)');
102
106
  // Main database
103
- this.addConfigVar('database.main.write.uri', 'string', true, 'postgresql://postgres:password@localhost:5432', 'Строка подключения к основной базе данных для записи');
104
- this.addConfigVar('database.main.readOnly.uri', 'string', false, 'postgresql://postgres:password@localhost:5432', 'Строка подключения к основной базе только для чтения');
107
+ this.addConfigVar('database.main.write.uri', 'string', true, 'postgresql://postgres:password@localhost:5432', 'Строка подключения к основной базе данных для записи').setSecure();
108
+ this.addConfigVar('database.main.readOnly.uri', 'string', false, 'postgresql://postgres:password@localhost:5432', 'Строка подключения к основной базе только для чтения').setSecure();
105
109
  this.addConfigVar('database.main.readOnly.enabled', 'bool', true, false, 'Включена ли работа с запросами на чтение через отдельное подключение');
106
- this.addConfigVar('database.main.migration.uri', 'string', true, 'postgresql://postgres:password@localhost:5432', 'Строка подключения к основной базе для миграций (должна быть прямой строкой подключения к бд минуя pgbouncer, если он используется)');
107
- this.addConfigVar('adm.jwt.secret', 'string', false, 'admSecret', 'Секрет для подписи JWT-токенов приложения админки');
108
- this.addConfigVar('app.jwt.secret', 'string', false, 'appSecret', 'Секрет для подписи JWT-токенов приложения пользователей');
109
- this.addConfigVar('s3.endpoint', 'string', true, 's3.eu-central-1.wasabisys.com', 'Эндпоинт S3, который использует бекенд');
110
+ this.addConfigVar('database.main.migration.uri', 'string', true, 'postgresql://postgres:password@localhost:5432/migration', 'Строка подключения к основной базе для миграций (должна быть прямой строкой подключения к бд минуя pgbouncer, если он используется)').setSecure();
111
+ this.addConfigVar('adm.jwt.secret', 'string', false, 'admSecret', 'Секрет для подписи JWT-токенов приложения админки').setSecure();
112
+ this.addConfigVar('app.jwt.secret', 'string', false, 'appSecret', 'Секрет для подписи JWT-токенов приложения пользователей').setSecure();
113
+ this.addConfigVar('s3.endpoint', 'string', true, 's3.eu-central-1.wasabisys.com', 'Эндпоинт S3, который использует бекенд').setSecure();
110
114
  // this.addConfigVar(
111
115
  // 's3.publicEndpoint',
112
116
  // 'string',
@@ -116,14 +120,14 @@ var SystemMetaBuilder = /** @class */ (function () {
116
120
  // )
117
121
  this.addConfigVar('s3.region', 'string', true, 'eu-central-1', 'Идентификатор доступа для авторизации в S3');
118
122
  this.addConfigVar('s3.accessKeyId', 'string', true, '', 'Идентификатор доступа для авторизации в S3');
119
- this.addConfigVar('s3.secretAccessKey', 'string', true, '', 'Секретный ключ для авторизации в S3');
123
+ this.addConfigVar('s3.secretAccessKey', 'string', true, '', 'Секретный ключ для авторизации в S3').setSecure();
120
124
  this.addConfigVar('s3.bucket.emailFiles', 'string', true, '', 'Имя бакета для хранения файлов, отправленных на почту');
121
125
  this.addConfigVar('s3.bucket.tmpFilesToDownload', 'string', true, '', 'Имя бакета для хранения временных файлов, созданных для скачивания пользователями');
122
126
  this.addConfigVar('admin.ui.url', 'string', false, 'http://localhost:8080', 'Урл административного интерфейса (без конечного слеша)');
123
- this.addConfigVar('admin.recaptcha.secretKey', 'string', false, '', 'Секретный токен рекапчи приложения админки');
127
+ this.addConfigVar('admin.recaptcha.secretKey', 'string', false, '', 'Секретный токен рекапчи приложения админки').setSecure();
124
128
  this.addConfigVar('admin.recaptcha.requiredScore', 'float', false, 0.7, 'Требуемый уровень доверия к пользователю');
125
129
  this.addConfigVar('admin.recaptcha.publicKey', 'string', false, '', 'Публичный токен рекапчи приложения админки', ['admin-app']);
126
- this.addConfigVar('customer.recaptcha.secretKey', 'string', false, '', 'Секретный токен рекапчи приложения пользователя');
130
+ this.addConfigVar('customer.recaptcha.secretKey', 'string', false, '', 'Секретный токен рекапчи приложения пользователя').setSecure();
127
131
  this.addConfigVar('customer.recaptcha.requiredScore', 'string', false, '0.7', 'Требуемый уровень доверия к пользователю');
128
132
  this.addConfigVar('customer.recaptcha.publicKey', 'string', false, '', 'Публичный токен рекапчи приложения пользователя', ['cutomer-app']);
129
133
  this.addConfigVar('loki.url', 'string', false, '', 'Урл для доступа в Loki. Используется для запроса бизнес-логов');
@@ -135,7 +139,7 @@ var SystemMetaBuilder = /** @class */ (function () {
135
139
  this.addConfigVar('kafka.enabled', 'bool', false, false, 'Кафка включена');
136
140
  this.addConfigVar('kafka.brokers', 'string', false, 'localhost:29092;localhost:29094', 'Список kafka блокеров');
137
141
  this.addConfigVar('kafka.username', 'string', false, '', 'Username доступа в kafka');
138
- this.addConfigVar('kafka.password', 'string', false, '', 'Пароль доступа в kafka');
142
+ this.addConfigVar('kafka.password', 'string', false, '', 'Пароль доступа в kafka').setSecure();
139
143
  this.addConfigVar('kafka.queue.maxAttemptsSize', 'int', false, 10, 'Максимальное количество попыток обработки ошибки на сообщение');
140
144
  this.addConfigVar('kafka.queue.defaultRetryTime', 'int', false, 20000, 'Время паузы после первой ошибки, например 20000 мс, потом оно увеличывается экспоненциально с мультипликатором 1.5');
141
145
  this.addConfigVar('kafka.queue.waitingInterruptTime', 'int', false, 60000, 'Время паузы в очереди ожидания, когда она прошла все сообщения, это чтобы она не крутила сообщения покругу без остановки ');
@@ -151,7 +155,7 @@ var SystemMetaBuilder = /** @class */ (function () {
151
155
  this.addConfigVar('es.enabled', 'bool', false, false, 'Эластик включен');
152
156
  this.addConfigVar('es.cloudId', 'string', false, '', 'Идентификатор аккаунта в облачном сервисе ElasticSearch');
153
157
  this.addConfigVar('es.username', 'string', false, '', 'Пользователь для авторизации в облачном сервисе ElasticSearch');
154
- this.addConfigVar('es.password', 'string', false, '', 'Пароль для авторизации в облачном сервисе ElasticSearch');
158
+ this.addConfigVar('es.password', 'string', false, '', 'Пароль для авторизации в облачном сервисе ElasticSearch').setSecure();
155
159
  this.addConfigVar('es.node', 'string', false, 'http://localhost:9200', 'Нода эластика');
156
160
  this.addConfigVar('es.tls.rejectUnauthorized', 'bool', false, false, 'Запрещать невалидный ssl сертификат');
157
161
  this.addConfigVar('sentry.dsn', 'string', false, '', 'Sentry dsn');
@@ -213,20 +217,16 @@ var SystemMetaBuilder = /** @class */ (function () {
213
217
  // | 'bool'
214
218
  // | 'datetime'
215
219
  // | 'date'
216
- SystemMetaBuilder.prototype.addConfigVar = function (name, type, required, def, needFor, scopes) {
220
+ SystemMetaBuilder.prototype.addConfigVar = function (name, type, required, def, needFor, scopes, hidden, editable) {
217
221
  if (scopes === void 0) { scopes = ['back', 'worker', 'telegramBot']; }
222
+ if (hidden === void 0) { hidden = false; }
223
+ if (editable === void 0) { editable = true; }
218
224
  if (this.configVars.some(function (v) { return v.name === name; })) {
219
225
  throw new Error("\"".concat(name, "\" config var already exists"));
220
226
  }
221
- this.configVars.push(R.mergeDeepLeft({
222
- name: name,
223
- type: type,
224
- required: required,
225
- default: def,
226
- needFor: needFor,
227
- scopes: scopes,
228
- }, exports.defaultConfigVar));
229
- return this;
227
+ var configVar = new ConfigVarBuilder_1.ConfigVarBuilder(name, type, required, def, needFor, scopes, hidden, editable);
228
+ this.configVars.push(configVar);
229
+ return configVar;
230
230
  };
231
231
  SystemMetaBuilder.prototype.delConfigVar = function (name) {
232
232
  if (!this.configVars.some(function (v) { return v.name === name; })) {
@@ -235,22 +235,25 @@ var SystemMetaBuilder = /** @class */ (function () {
235
235
  this.configVars = this.configVars.filter(function (v) { return v.name !== name; });
236
236
  return this;
237
237
  };
238
- SystemMetaBuilder.prototype.setConfigVarDefaultValue = function (name, def) {
239
- if (!this.configVars.some(function (v) { return v.name === name; })) {
238
+ SystemMetaBuilder.prototype.getConfigVar = function (name) {
239
+ return this.configVars.find(function (el) { return el.name === name; });
240
+ };
241
+ SystemMetaBuilder.prototype.getConfigVarRequired = function (name) {
242
+ var configVars = this.configVars.find(function (el) { return el.name === name; });
243
+ if (!configVars) {
240
244
  throw new Error("There is no \"".concat(name, "\" config var"));
241
245
  }
242
- this.configVars = this.configVars.map(function (el) { return el.name === name ? __assign(__assign({}, el), { default: def }) : el; });
246
+ return configVars;
247
+ };
248
+ SystemMetaBuilder.prototype.setConfigVarDefaultValue = function (name, def) {
249
+ log_1.default.warn('setConfigVarDefaultValue is legacy, legacy, use system.getConfigVarRequired(name).setDefValue(def) instead');
250
+ var configVars = this.getConfigVarRequired(name);
251
+ configVars.setDefValue(def);
243
252
  return this;
244
253
  };
245
254
  SystemMetaBuilder.prototype.setDefaultValueForConfigVar = function (name, def) {
246
- var variable = this.configVars.find(function (v) { return v.name === name; });
247
- if (!variable) {
248
- throw new Error("There is no \"".concat(name, "\" config var"));
249
- }
250
- this.configVars = __spreadArray(__spreadArray([], this.configVars.filter(function (v) { return v.name !== name; }), true), [
251
- __assign(__assign({}, variable), { default: def }),
252
- ], false);
253
- return this;
255
+ log_1.default.warn('setDefaultValueForConfigVar is legacy, legacy, use system.getConfigVarRequired(name).setDefValue(def) instead');
256
+ return this.setConfigVarDefaultValue(name, def);
254
257
  };
255
258
  SystemMetaBuilder.prototype.addLanguage = function (id, title) {
256
259
  if (!this.languages.map(function (_a) {
@@ -474,7 +477,7 @@ var SystemMetaBuilder = /** @class */ (function () {
474
477
  telegramBots: R.sortBy(R.prop('name'), this.telegramBots).map(function (el) {
475
478
  return el.build();
476
479
  }),
477
- configVars: R.sortBy(R.prop('name'), this.configVars),
480
+ configVars: R.sortBy(R.prop('name'), this.configVars.map(function (cv) { return cv.build(); })),
478
481
  catalogs: sortByName(this.catalogs).map(function (el) { return el.entity.build(); }),
479
482
  documents: sortByName(this.documents).map(function (el) { return el.entity.build(); }),
480
483
  infoRegistries: sortByName(this.infoRegistries).map(function (el) {
@@ -506,4 +509,4 @@ var SystemMetaBuilder = /** @class */ (function () {
506
509
  return SystemMetaBuilder;
507
510
  }());
508
511
  exports.default = SystemMetaBuilder;
509
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3lzdGVtTWV0YUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2J1aWxkZXJzL1N5c3RlbU1ldGFCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrQ0FLaUI7QUFDakIsb0VBQTZDO0FBQzdDLHNFQUErQztBQUMvQyw2REFBMkQ7QUFDM0QsNEVBQTBFO0FBYTFFLHNEQUFvRDtBQUNwRCx1Q0FBMEI7QUFDMUIsa0VBQTJDO0FBQzNDLG9FQUE2QztBQUM3QywwRUFBbUQ7QUFFbkQsNEVBQXFEO0FBRXhDLFFBQUEsZ0JBQWdCLEdBQXFDO0lBQ2hFLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLEVBQUU7SUFDWCxRQUFRLEVBQUUsSUFBSTtJQUNkLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDO0NBQzFDLENBQUE7QUFFRDtJQXdCRSw0REFBNEQ7SUFDNUQsdURBQXVEO0lBRXZELGNBQWM7SUFDZCwyQkFDRSxNQUFjLEVBQ2QsT0FBK0QsRUFDL0QsZUFBc0I7UUFEdEIsd0JBQUEsRUFBQSxVQUFrQyxxQ0FBNkI7UUFDL0QsZ0NBQUEsRUFBQSxzQkFBc0I7UUE5QnhCLGFBQVEsR0FBK0MsRUFBRSxDQUFBO1FBQ3pELFlBQU8sR0FBOEMsRUFBRSxDQUFBO1FBQ3ZELGNBQVMsR0FBZ0QsRUFBRSxDQUFBO1FBQzNELG1CQUFjLEdBQW9ELEVBQUUsQ0FBQTtRQUNwRSxrQkFBYSxHQUFtRCxFQUFFLENBQUE7UUFDbEUsZUFBVSxHQUFnQixFQUFFLENBQUE7UUFDNUIsYUFBUSxHQUFlLEVBQUUsQ0FBQTtRQUN6QixhQUFRLEdBQWMsRUFBRSxDQUFBO1FBQ3hCLHVCQUFrQixHQUF3QixFQUFFLENBQUE7UUFDNUMsaUJBQVksR0FBeUIsRUFBRSxD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
512
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3lzdGVtTWV0YUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2J1aWxkZXJzL1N5c3RlbU1ldGFCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrQ0FLaUI7QUFDakIsb0VBQTZDO0FBQzdDLHNFQUErQztBQUMvQyw2REFBMkQ7QUFDM0QsNEVBQTBFO0FBYTFFLHNEQUFvRDtBQUNwRCx1Q0FBMEI7QUFDMUIsa0VBQTJDO0FBQzNDLG9FQUE2QztBQUM3QywwRUFBbUQ7QUFFbkQsNEVBQXFEO0FBQ3JELHVEQUFvRDtBQUNwRCxrREFBNEI7QUFFZixRQUFBLGdCQUFnQixHQUFxQztJQUNoRSxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxFQUFFO0lBQ1gsUUFBUSxFQUFFLElBQUk7SUFDZCxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQztJQUN6QyxNQUFNLEVBQUUsS0FBSztJQUNiLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQTtBQUVEO0lBd0JFLDREQUE0RDtJQUM1RCx1REFBdUQ7SUFFdkQsY0FBYztJQUNkLDJCQUNFLE1BQWMsRUFDZCxPQUErRCxFQUMvRCxlQUFzQjtRQUR0Qix3QkFBQSxFQUFBLFVBQWtDLHFDQUE2QjtRQUMvRCxnQ0FBQSxFQUFBLHNCQUFzQjtRQTlCeEIsYUFBUSxHQUErQyxFQUFFLENBQUE7UUFDekQsWUFBTyxHQUE4QyxFQUFFLENBQUE7UUFDdkQsY0FBUyxHQUFnRCxFQUFFLENBQUE7UUFDM0QsbUJBQWMsR0FBb0QsRUFBRSxDQUFBO1FBQ3BFLGtCQUFhLEdBQW1ELEVBQUUsQ0FBQTtRQUNsRSxlQUFVLEdBQTRCLEVBQUUsQ0FBQTtRQUN4QyxhQUFRLEdBQWUsRUFBRSxDQUFBO1FBQ3pCLGFBQVEsR0FB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
@@ -17,4 +17,4 @@ var StringType;
17
17
  StringType["Markdown"] = "markdown";
18
18
  StringType["Json"] = "json";
19
19
  })(StringType = exports.StringType || (exports.StringType = {}));
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlZFR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9idWlsZGVycy9idWlsZGVkVHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBeUVBLElBQVksT0FNWDtBQU5ELFdBQVksT0FBTztJQUNqQiw0QkFBaUIsQ0FBQTtJQUNqQiw0QkFBaUIsQ0FBQTtJQUNqQiw0QkFBaUIsQ0FBQTtJQUNqQiw4QkFBbUIsQ0FBQTtJQUNuQix3QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQU5XLE9BQU8sR0FBUCxlQUFPLEtBQVAsZUFBTyxRQU1sQjtBQTJGRCxJQUFZLFVBTVg7QUFORCxXQUFZLFVBQVU7SUFDcEIsNkJBQWUsQ0FBQTtJQUNmLHFDQUF1QixDQUFBO0lBQ3ZCLG1DQUFxQixDQUFBO0lBQ3JCLG1DQUFxQixDQUFBO0lBQ3JCLDJCQUFhLENBQUE7QUFDZixDQUFDLEVBTlcsVUFBVSxHQUFWLGtCQUFVLEtBQVYsa0JBQVUsUUFNckIifQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlZFR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9idWlsZGVycy9idWlsZGVkVHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBMkVBLElBQVksT0FNWDtBQU5ELFdBQVksT0FBTztJQUNqQiw0QkFBaUIsQ0FBQTtJQUNqQiw0QkFBaUIsQ0FBQTtJQUNqQiw0QkFBaUIsQ0FBQTtJQUNqQiw4QkFBbUIsQ0FBQTtJQUNuQix3QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQU5XLE9BQU8sR0FBUCxlQUFPLEtBQVAsZUFBTyxRQU1sQjtBQTJGRCxJQUFZLFVBTVg7QUFORCxXQUFZLFVBQVU7SUFDcEIsNkJBQWUsQ0FBQTtJQUNmLHFDQUF1QixDQUFBO0lBQ3ZCLG1DQUFxQixDQUFBO0lBQ3JCLG1DQUFxQixDQUFBO0lBQ3JCLDJCQUFhLENBQUE7QUFDZixDQUFDLEVBTlcsVUFBVSxHQUFWLGtCQUFVLEtBQVYsa0JBQVUsUUFNckIifQ==
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var builders_1 = require("../builders");
4
+ var addConfigurationVariables = function (system) {
5
+ // configurationVariables
6
+ var configurationVariables = system.addCatalog('configurationVariables', { singular: 'Конфигурационная переменная', plural: 'Конфигурационные переменные' });
7
+ configurationVariables.getKey().setType('string');
8
+ configurationVariables.setSearchEnabled(false);
9
+ configurationVariables.addField('value', 'Значение')
10
+ .setType('string')
11
+ .setStringType(builders_1.StringType.Json)
12
+ .setRequired();
13
+ };
14
+ exports.default = addConfigurationVariables;
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkQ29uZmlndXJhdGlvblZhcmlhYmxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vY29tbW9uRW50aXRpZXMvYWRkQ29uZmlndXJhdGlvblZhcmlhYmxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLHdDQUF1QztBQUV2QyxJQUFNLHlCQUF5QixHQUFHLFVBQUMsTUFBeUI7SUFDMUQseUJBQXlCO0lBQ3pCLElBQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FDOUMsd0JBQXdCLEVBQ3hCLEVBQUMsUUFBUSxFQUFFLDZCQUE2QixFQUFFLE1BQU0sRUFBRSw2QkFBNkIsRUFBQyxDQUNqRixDQUFDO0lBQ0Ysc0JBQXNCLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xELHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9DLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDO1NBQ2pELE9BQU8sQ0FBQyxRQUFRLENBQUM7U0FDakIsYUFBYSxDQUFDLHFCQUFVLENBQUMsSUFBSSxDQUFDO1NBQzlCLFdBQVcsRUFBRSxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQUVGLGtCQUFlLHlCQUF5QixDQUFDIn0=
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.addUserSettings = exports.addUsers = exports.addTenants = exports.addRoles = exports.addRefreshTokens = exports.addManagers = exports.addLanguages = exports.addCommonEntities = exports.addCommonCommands = exports.addAutogeneration = exports.addAuditLogs = exports.addAggregateTrackings = void 0;
6
+ exports.addConfigurationVariables = exports.addUserSettings = exports.addUsers = exports.addTenants = exports.addRoles = exports.addRefreshTokens = exports.addManagers = exports.addLanguages = exports.addCommonEntities = exports.addCommonCommands = exports.addAutogeneration = exports.addAuditLogs = exports.addAggregateTrackings = void 0;
7
7
  var addAggregateTrackings_1 = require("./addAggregateTrackings");
8
8
  Object.defineProperty(exports, "addAggregateTrackings", { enumerable: true, get: function () { return __importDefault(addAggregateTrackings_1).default; } });
9
9
  var addAuditLogs_1 = require("./addAuditLogs");
@@ -28,4 +28,6 @@ var addUsers_1 = require("./addUsers");
28
28
  Object.defineProperty(exports, "addUsers", { enumerable: true, get: function () { return __importDefault(addUsers_1).default; } });
29
29
  var addUserSettings_1 = require("./addUserSettings");
30
30
  Object.defineProperty(exports, "addUserSettings", { enumerable: true, get: function () { return __importDefault(addUserSettings_1).default; } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2NvbW1vbkVudGl0aWVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlFQUEwRTtBQUFqRSwrSUFBQSxPQUFPLE9BQXlCO0FBQ3pDLCtDQUF3RDtBQUEvQyw2SEFBQSxPQUFPLE9BQWdCO0FBQ2hDLHlEQUFrRTtBQUF6RCx1SUFBQSxPQUFPLE9BQXFCO0FBQ3JDLHlEQUFrRTtBQUF6RCx1SUFBQSxPQUFPLE9BQXFCO0FBQ3JDLHlEQUFrRTtBQUF6RCx1SUFBQSxPQUFPLE9BQXFCO0FBQ3JDLCtDQUF3RDtBQUEvQyw2SEFBQSxPQUFPLE9BQWdCO0FBQ2hDLDZDQUFzRDtBQUE3QywySEFBQSxPQUFPLE9BQWU7QUFDL0IsdURBQWdFO0FBQXZELHFJQUFBLE9BQU8sT0FBb0I7QUFDcEMsdUNBQWdEO0FBQXZDLHFIQUFBLE9BQU8sT0FBWTtBQUM1QiwyQ0FBb0Q7QUFBM0MseUhBQUEsT0FBTyxPQUFjO0FBQzlCLHVDQUFnRDtBQUF2QyxxSEFBQSxPQUFPLE9BQVk7QUFDNUIscURBQThEO0FBQXJELG1JQUFBLE9BQU8sT0FBbUIifQ==
31
+ var addConfigurationVariables_1 = require("./addConfigurationVariables");
32
+ Object.defineProperty(exports, "addConfigurationVariables", { enumerable: true, get: function () { return __importDefault(addConfigurationVariables_1).default; } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2NvbW1vbkVudGl0aWVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlFQUEwRTtBQUFqRSwrSUFBQSxPQUFPLE9BQXlCO0FBQ3pDLCtDQUF3RDtBQUEvQyw2SEFBQSxPQUFPLE9BQWdCO0FBQ2hDLHlEQUFrRTtBQUF6RCx1SUFBQSxPQUFPLE9BQXFCO0FBQ3JDLHlEQUFrRTtBQUF6RCx1SUFBQSxPQUFPLE9BQXFCO0FBQ3JDLHlEQUFrRTtBQUF6RCx1SUFBQSxPQUFPLE9BQXFCO0FBQ3JDLCtDQUF3RDtBQUEvQyw2SEFBQSxPQUFPLE9BQWdCO0FBQ2hDLDZDQUFzRDtBQUE3QywySEFBQSxPQUFPLE9BQWU7QUFDL0IsdURBQWdFO0FBQXZELHFJQUFBLE9BQU8sT0FBb0I7QUFDcEMsdUNBQWdEO0FBQXZDLHFIQUFBLE9BQU8sT0FBWTtBQUM1QiwyQ0FBb0Q7QUFBM0MseUhBQUEsT0FBTyxPQUFjO0FBQzlCLHVDQUFnRDtBQUF2QyxxSEFBQSxPQUFPLE9BQVk7QUFDNUIscURBQThEO0FBQXJELG1JQUFBLE9BQU8sT0FBbUI7QUFDbkMseUVBQWtGO0FBQXpFLHVKQUFBLE9BQU8sT0FBNkIifQ==
@@ -51,7 +51,6 @@ exports.generateEnvironment = void 0;
51
51
  var path_1 = require("path");
52
52
  var types_1 = require("./types");
53
53
  var getPrisma_1 = require("./generators/fileTemplates/back/environment/src/clients/getPrisma");
54
- var knex_1 = require("./generators/fileTemplates/back/environment/src/clients/knex");
55
54
  var getQueue_1 = require("./generators/fileTemplates/back/environment/src/clients/queue/getQueue");
56
55
  var src_1 = require("./generators/fileTemplates/back/environment/src");
57
56
  var back_1 = require("./generators/fileTemplates/back/environment/chart/templates/back");
@@ -75,7 +74,7 @@ var fs_jetpack_1 = require("fs-jetpack");
75
74
  var dockerfileTmplUI_1 = require("./generators/fileTemplates/back/environment/dockerfileTmplUI");
76
75
  var dockerfileTmplBack_1 = require("./generators/fileTemplates/back/environment/dockerfileTmplBack");
77
76
  var generateEnvironment = function (projectWideGenerationArgs) { return __awaiter(void 0, void 0, void 0, function () {
78
- var entities, options, opts, allEntities, _i, entities_1, entity, prjDetachedBackSrcDir, clientsFolderDir, clientsFolderDir, queueFolderDir, prismaFolderDir, prismaSchema, prismaSchema_1, chartDir, chartTemplatesDir, prjDetachedUiSrcDir, uiLayoutFolder, uiContextsFolder, uiDataProviderFolder, uiI18nProviderFolder, uiChartDir, uiChartTemplatesDir;
77
+ var entities, options, opts, allEntities, _i, entities_1, entity, prjDetachedBackSrcDir, clientsFolderDir, queueFolderDir, prismaFolderDir, prismaSchema, prismaSchema_1, chartDir, chartTemplatesDir, prjDetachedUiSrcDir, uiLayoutFolder, uiContextsFolder, uiDataProviderFolder, uiI18nProviderFolder, uiChartDir, uiChartTemplatesDir;
79
78
  return __generator(this, function (_a) {
80
79
  switch (_a.label) {
81
80
  case 0:
@@ -86,7 +85,7 @@ var generateEnvironment = function (projectWideGenerationArgs) { return __awaite
86
85
  entity = entities_1[_i];
87
86
  allEntities.set(entity.name, entity);
88
87
  }
89
- if (!opts.detachedBackProject) return [3 /*break*/, 38];
88
+ if (!opts.detachedBackProject) return [3 /*break*/, 36];
90
89
  prjDetachedBackSrcDir = (0, path_1.join)(opts.detachedBackProject, 'src');
91
90
  if (!opts.corePrismaGetter) return [3 /*break*/, 2];
92
91
  clientsFolderDir = (0, path_1.join)(prjDetachedBackSrcDir, 'clients');
@@ -96,38 +95,31 @@ var generateEnvironment = function (projectWideGenerationArgs) { return __awaite
96
95
  _a.label = 2;
97
96
  case 2:
98
97
  if (!opts.corePrismaGetter) return [3 /*break*/, 4];
99
- clientsFolderDir = (0, path_1.join)(prjDetachedBackSrcDir, 'clients');
100
- return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(clientsFolderDir, 'knex.ts'), (0, knex_1.knexGetterTmpl)(opts))];
98
+ queueFolderDir = (0, path_1.join)(prjDetachedBackSrcDir, 'clients', 'queue');
99
+ return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(queueFolderDir, 'getQueue.ts'), (0, getQueue_1.getQueueTmpl)(opts))];
101
100
  case 3:
102
101
  _a.sent();
103
102
  _a.label = 4;
104
103
  case 4:
105
- if (!opts.corePrismaGetter) return [3 /*break*/, 6];
106
- queueFolderDir = (0, path_1.join)(prjDetachedBackSrcDir, 'clients', 'queue');
107
- return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(queueFolderDir, 'getQueue.ts'), (0, getQueue_1.getQueueTmpl)(opts))];
104
+ if (!opts.coreIndex) return [3 /*break*/, 6];
105
+ return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(prjDetachedBackSrcDir, 'index.ts'), (0, src_1.environmentIndexTmpl)(opts))];
108
106
  case 5:
109
107
  _a.sent();
110
108
  _a.label = 6;
111
109
  case 6:
112
- if (!opts.coreIndex) return [3 /*break*/, 8];
113
- return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(prjDetachedBackSrcDir, 'index.ts'), (0, src_1.environmentIndexTmpl)(opts))];
114
- case 7:
115
- _a.sent();
116
- _a.label = 8;
117
- case 8:
118
- if (!opts.genPrismaSchema) return [3 /*break*/, 11];
110
+ if (!opts.genPrismaSchema) return [3 /*break*/, 9];
119
111
  prismaFolderDir = (0, path_1.join)(opts.detachedBackProject, 'prisma');
120
112
  prismaSchema = (0, genPrismaSchemaForEntitiesWithClientAdnDb_1.genPrismaSchemaForEntitiesWithClientAdnDb)(projectWideGenerationArgs);
121
113
  return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(prismaFolderDir, 'schema.prisma'), prismaSchema)];
122
- case 9:
114
+ case 7:
123
115
  _a.sent();
124
- if (!opts.sharding) return [3 /*break*/, 11];
116
+ if (!opts.sharding) return [3 /*break*/, 9];
125
117
  prismaSchema_1 = (0, genPrismaSchemaForEntitiesWithClientAdnDb_1.genPrismaSchemaForEntitiesWithClientAdnDb)(projectWideGenerationArgs, true);
126
118
  return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(prismaFolderDir, 'shards', 'schema.prisma'), prismaSchema_1)];
127
- case 10:
119
+ case 8:
128
120
  _a.sent();
129
- _a.label = 11;
130
- case 11:
121
+ _a.label = 9;
122
+ case 9:
131
123
  chartDir = (0, path_1.join)(opts.detachedBackProject, 'chart');
132
124
  // chart itself
133
125
  // chart/Chart.yaml
@@ -135,83 +127,83 @@ var generateEnvironment = function (projectWideGenerationArgs) { return __awaite
135
127
  // chart values
136
128
  // chart/values.yaml
137
129
  ];
138
- case 12:
130
+ case 10:
139
131
  // chart itself
140
132
  // chart/Chart.yaml
141
133
  _a.sent();
142
- if (!opts.genBackChartValues) return [3 /*break*/, 14];
134
+ if (!opts.genBackChartValues) return [3 /*break*/, 12];
143
135
  return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(chartDir, 'values.yaml'), (0, values_1.chartValuesTmpl)(projectWideGenerationArgs))];
136
+ case 11:
137
+ _a.sent();
138
+ _a.label = 12;
139
+ case 12:
140
+ chartTemplatesDir = (0, path_1.join)(chartDir, 'templates');
141
+ if (!opts.genBackChartIngress) return [3 /*break*/, 14];
142
+ return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(chartTemplatesDir, 'ingress.yaml'), (0, ingress_1.chartIngressTmpl)(projectWideGenerationArgs))];
144
143
  case 13:
145
144
  _a.sent();
146
145
  _a.label = 14;
147
146
  case 14:
148
- chartTemplatesDir = (0, path_1.join)(chartDir, 'templates');
149
- if (!opts.genBackChartIngress) return [3 /*break*/, 16];
150
- return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(chartTemplatesDir, 'ingress.yaml'), (0, ingress_1.chartIngressTmpl)(projectWideGenerationArgs))];
147
+ if (!opts.genBackChartBack) return [3 /*break*/, 16];
148
+ // chart/templates/back.yaml
149
+ return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(chartTemplatesDir, 'back.yaml'), (0, back_1.chartBackTmpl)(projectWideGenerationArgs))];
151
150
  case 15:
151
+ // chart/templates/back.yaml
152
152
  _a.sent();
153
153
  _a.label = 16;
154
154
  case 16:
155
- if (!opts.genBackChartBack) return [3 /*break*/, 18];
156
- // chart/templates/back.yaml
157
- return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(chartTemplatesDir, 'back.yaml'), (0, back_1.chartBackTmpl)(projectWideGenerationArgs))];
155
+ if (!opts.genBackGitlabCi) return [3 /*break*/, 18];
156
+ return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(opts.detachedBackProject, '.gitlab-ci.yml'), (0, gitlabCi_1.gitlabCiTmpl)(projectWideGenerationArgs))];
158
157
  case 17:
159
- // chart/templates/back.yaml
160
158
  _a.sent();
161
159
  _a.label = 18;
162
- case 18:
163
- if (!opts.genBackGitlabCi) return [3 /*break*/, 20];
164
- return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(opts.detachedBackProject, '.gitlab-ci.yml'), (0, gitlabCi_1.gitlabCiTmpl)(projectWideGenerationArgs))];
165
- case 19:
166
- _a.sent();
167
- _a.label = 20;
168
- case 20:
160
+ case 18:
169
161
  // dockerfileTmplBack
170
162
  return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(opts.detachedBackProject, 'Dockerfile'), (0, dockerfileTmplBack_1.dockerfileTmplBack)(projectWideGenerationArgs))
171
163
  // UI
172
164
  ];
173
- case 21:
165
+ case 19:
174
166
  // dockerfileTmplBack
175
167
  _a.sent();
176
168
  prjDetachedUiSrcDir = (0, path_1.join)(opts.detachedUiProject, 'src');
177
- if (!opts.genUIApp) return [3 /*break*/, 23];
169
+ if (!opts.genUIApp) return [3 /*break*/, 21];
178
170
  return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(prjDetachedUiSrcDir, 'App.tsx'), (0, App_1.uiAppTmpl)(projectWideGenerationArgs, opts))];
179
- case 22:
171
+ case 20:
180
172
  _a.sent();
181
- _a.label = 23;
182
- case 23:
173
+ _a.label = 21;
174
+ case 21:
183
175
  uiLayoutFolder = (0, path_1.join)(prjDetachedUiSrcDir, 'layout');
184
176
  // src/layout/Menu.tsx
185
177
  return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(uiLayoutFolder, 'Menu.tsx'), (0, Menu_1.uiLayoutMenuTmpl)(opts))
186
178
  // src/layout/AppBar.tsx
187
179
  ];
188
- case 24:
180
+ case 22:
189
181
  // src/layout/Menu.tsx
190
182
  _a.sent();
191
183
  // src/layout/AppBar.tsx
192
184
  return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(uiLayoutFolder, 'AppBar.tsx'), (0, AppBar_1.uiLayoutAppBarTmpl)(opts))
193
185
  // src/contexts/SpacesContext.tsx
194
186
  ];
195
- case 25:
187
+ case 23:
196
188
  // src/layout/AppBar.tsx
197
189
  _a.sent();
198
190
  uiContextsFolder = (0, path_1.join)(prjDetachedUiSrcDir, 'contexts');
199
191
  return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(uiContextsFolder, 'SpacesContext.tsx'), (0, SpacesContext_1.uiSpacesContextTmpl)(projectWideGenerationArgs))
200
192
  // src/dataProvider/index.ts
201
193
  ];
202
- case 26:
194
+ case 24:
203
195
  _a.sent();
204
196
  uiDataProviderFolder = (0, path_1.join)(prjDetachedUiSrcDir, 'dataProvider');
205
197
  return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(uiDataProviderFolder, 'index.ts'), (0, dataProvider_1.uiDataProviderTmpl)(entities, opts))
206
198
  // src/i18nProvider/index.ts
207
199
  ];
208
- case 27:
200
+ case 25:
209
201
  _a.sent();
210
202
  uiI18nProviderFolder = (0, path_1.join)(prjDetachedUiSrcDir, 'i18nProvider');
211
203
  return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(uiI18nProviderFolder, 'index.ts'), (0, i18nProvider_1.uiI18nProviderTmpl)(projectWideGenerationArgs, opts))
212
204
  // chart
213
205
  ];
214
- case 28:
206
+ case 26:
215
207
  _a.sent();
216
208
  uiChartDir = (0, path_1.join)(opts.detachedUiProject, 'chart');
217
209
  // chart itself
@@ -220,7 +212,7 @@ var generateEnvironment = function (projectWideGenerationArgs) { return __awaite
220
212
  // chart values
221
213
  // chart/values.yaml
222
214
  ];
223
- case 29:
215
+ case 27:
224
216
  // chart itself
225
217
  // chart/Chart.yaml
226
218
  _a.sent();
@@ -229,38 +221,38 @@ var generateEnvironment = function (projectWideGenerationArgs) { return __awaite
229
221
  return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(uiChartDir, 'values.yaml'), (0, values_2.uiChartValuesTmpl)(projectWideGenerationArgs))
230
222
  // chart templates
231
223
  ];
232
- case 30:
224
+ case 28:
233
225
  // chart values
234
226
  // chart/values.yaml
235
227
  _a.sent();
236
228
  uiChartTemplatesDir = (0, path_1.join)(uiChartDir, 'templates');
237
- if (!opts.genUiChartIngress) return [3 /*break*/, 32];
229
+ if (!opts.genUiChartIngress) return [3 /*break*/, 30];
238
230
  return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(uiChartTemplatesDir, 'ingress.yaml'), (0, ingress_2.uiChartIngressTmpl)(projectWideGenerationArgs))];
231
+ case 29:
232
+ _a.sent();
233
+ _a.label = 30;
234
+ case 30:
235
+ if (!opts.genUiChartFront) return [3 /*break*/, 32];
236
+ return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(uiChartTemplatesDir, 'front.yaml'), (0, front_1.uiChartFrontTmpl)(projectWideGenerationArgs))];
239
237
  case 31:
240
238
  _a.sent();
241
239
  _a.label = 32;
242
240
  case 32:
243
- if (!opts.genUiChartFront) return [3 /*break*/, 34];
244
- return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(uiChartTemplatesDir, 'front.yaml'), (0, front_1.uiChartFrontTmpl)(projectWideGenerationArgs))];
241
+ if (!opts.genUiGitlabCi) return [3 /*break*/, 34];
242
+ return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(opts.detachedUiProject, '.gitlab-ci.yml'), (0, gitlabCi_2.uiGitlabCiTmpl)(projectWideGenerationArgs))];
245
243
  case 33:
246
244
  _a.sent();
247
245
  _a.label = 34;
248
- case 34:
249
- if (!opts.genUiGitlabCi) return [3 /*break*/, 36];
250
- return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(opts.detachedUiProject, '.gitlab-ci.yml'), (0, gitlabCi_2.uiGitlabCiTmpl)(projectWideGenerationArgs))];
251
- case 35:
252
- _a.sent();
253
- _a.label = 36;
254
- case 36:
246
+ case 34:
255
247
  // dockerfileTmplUI
256
248
  return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(opts.detachedUiProject, 'Dockerfile'), (0, dockerfileTmplUI_1.dockerfileTmplUI)(projectWideGenerationArgs))];
257
- case 37:
249
+ case 35:
258
250
  // dockerfileTmplUI
259
251
  _a.sent();
260
- _a.label = 38;
261
- case 38: return [2 /*return*/];
252
+ _a.label = 36;
253
+ case 36: return [2 /*return*/];
262
254
  }
263
255
  });
264
256
  }); };
265
257
  exports.generateEnvironment = generateEnvironment;
266
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVFbnZpcm9ubWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vZ2VuZXJhdGVFbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZCQUEyQjtBQUMzQixpQ0FBdUQ7QUFDdkQsK0ZBQW9HO0FBQ3BHLHFGQUE2RjtBQUM3RixtR0FBcUc7QUFDckcsdUVBQXNGO0FBQ3RGLHlGQUFnRztBQUNoRyxpRkFBbUY7QUFDbkYsaUZBQW1GO0FBQ25GLG1GQUEwRjtBQUMxRiwrRkFBc0c7QUFDdEcsK0VBQW1GO0FBQ25GLCtFQUFtRjtBQUNuRixpRkFBMEY7QUFDMUYsNkZBQXNHO0FBQ3RHLHlGQUFrRztBQUNsRyx5RUFBNkU7QUFDN0Usa0ZBQTRGO0FBQzVGLDJGQUErRjtBQUMvRiwyRkFBK0Y7QUFDL0Ysc0dBQTBHO0FBQzFHLHNGQUFnRztBQUNoRyxrSUFBZ0k7QUFDaEkseUNBQWtDO0FBR2xDLGlHQUErRjtBQUMvRixxR0FBbUc7QUFFNUYsSUFBTSxtQkFBbUIsR0FBRyxVQUNqQyx5QkFBb0Q7Ozs7O2dCQUU1QyxRQUFRLEdBQWMseUJBQXlCLFNBQXZDLEVBQUUsT0FBTyxHQUFLLHlCQUF5QixRQUE5QixDQUE4QjtnQkFDakQsSUFBSSx5QkFDTCxxQ0FBNkIsR0FDN0IsT0FBTyxDQUNYLENBQUE7Z0JBRUssV0FBVyxHQUF3QixJQUFJLEdBQUcsRUFBRSxDQUFBO2dCQUNsRCxXQUE2QixFQUFSLHFCQUFRLEVBQVIsc0JBQVEsRUFBUixJQUFRLEVBQUU7b0JBQXBCLE1BQU07b0JBQ2YsV0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFBO2lCQUNyQztxQkFFRyxJQUFJLENBQUMsbUJBQW1CLEVBQXhCLHlCQUF3QjtnQkFDcEIscUJB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
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVFbnZpcm9ubWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vZ2VuZXJhdGVFbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZCQUEyQjtBQUMzQixpQ0FBdUQ7QUFDdkQsK0ZBQW9HO0FBQ3BHLG1HQUFxRztBQUNyRyx1RUFBc0Y7QUFDdEYseUZBQWdHO0FBQ2hHLGlGQUFtRjtBQUNuRixpRkFBbUY7QUFDbkYsbUZBQTBGO0FBQzFGLCtGQUFzRztBQUN0RywrRUFBbUY7QUFDbkYsK0VBQW1GO0FBQ25GLGlGQUEwRjtBQUMxRiw2RkFBc0c7QUFDdEcseUZBQWtHO0FBQ2xHLHlFQUE2RTtBQUM3RSxrRkFBNEY7QUFDNUYsMkZBQStGO0FBQy9GLDJGQUErRjtBQUMvRixzR0FBMEc7QUFDMUcsc0ZBQWdHO0FBQ2hHLGtJQUFnSTtBQUNoSSx5Q0FBa0M7QUFHbEMsaUdBQStGO0FBQy9GLHFHQUFtRztBQUU1RixJQUFNLG1CQUFtQixHQUFHLFVBQ2pDLHlCQUFvRDs7Ozs7Z0JBRTVDLFFBQVEsR0FBYyx5QkFBeUIsU0FBdkMsRUFBRSxPQUFPLEdBQUsseUJBQXlCLFFBQTlCLENBQThCO2dCQUNqRCxJQUFJLHlCQUNMLHFDQUE2QixHQUM3QixPQUFPLENBQ1gsQ0FBQTtnQkFFSyxXQUFXLEdBQXdCLElBQUksR0FBRyxFQUFFLENBQUE7Z0JBQ2xELFdBQTZCLEVBQVIscUJBQVEsRUFBUixzQkFBUSxFQUFSLElBQVEsRUFBRTtvQkFBcEIsTUFBTTtvQkFDZixXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUE7aUJBQ3JDO3FCQUVHLElBQUksQ0FBQyxtQkFBbUIsRUFBeEIseUJBQXdCO2dCQUNwQixxQkFBcUIsR0FBRyxJQUFB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
@@ -61,7 +61,7 @@ var Dashboard_1 = __importDefault(require("./generators/fileTemplates/ui/Dashboa
61
61
  var Functions_1 = require("./generators/fileTemplates/ui/functions/Functions");
62
62
  var getDefaultMenu_1 = require("./generators/fileTemplates/ui/getDefaultMenu");
63
63
  var generateEnvironment_1 = require("./generateEnvironment");
64
- var config_1 = require("./generators/fileTemplates/back/root/config");
64
+ var config_1 = require("./generators/fileTemplates/back/root/config/config");
65
65
  var genGraphSchemesByLocalGenerator_1 = require("./genGraphSchemesByLocalGenerator");
66
66
  var types_1 = require("./types");
67
67
  var generateEntity_1 = require("./generateEntity");
@@ -137,7 +137,7 @@ var generateBackSrc = function (args) { return __awaiter(void 0, void 0, void 0,
137
137
  case 0:
138
138
  // log.info('generateBackSrc');
139
139
  return [4 /*yield*/, Promise.all([
140
- (0, fs_jetpack_1.write)((0, path_1.join)(args.options.detachedBackProject, 'src', 'config', 'index.ts'), (0, config_1.configTmpl)(args)),
140
+ (0, fs_jetpack_1.write)((0, path_1.join)(args.options.detachedBackProject, 'src', 'config', 'config.ts'), (0, config_1.configItemsTmpl)(args)),
141
141
  generateHelpService(args, true),
142
142
  ])];
143
143
  case 1:
@@ -600,7 +600,7 @@ exports.generateFront = generateFront;
600
600
  var generateProject = function (system, initialOpts) {
601
601
  if (initialOpts === void 0) { initialOpts = types_1.defaultBootstrapEntityOptions; }
602
602
  return __awaiter(void 0, void 0, void 0, function () {
603
- var opts, args, entities, prjBackSrcPrefixedDir, prjDetachedBackSrcDir, graphMetaServiceDir, servicesDir, graphDir, generatedAdditionalServices, generatedResources, restRouter, prjUiSrcPrefixedDir, prjDetachedUiSrcDir, generatedResources, generatedResources, generatedUiMetaPage, generatedResources, generatedSubMenu, generatedAdditionalMenu, generatedResources, generatedUiAdditionalRoutesTmpl, generatedResources, uiFunctionsDir, generatedResources;
603
+ var opts, args, entities, prjBackSrcPrefixedDir, prjDetachedBackSrcDir, graphMetaServiceDir, servicesDir, graphDir, generatedAdditionalServices, restRouter, prjUiSrcPrefixedDir, prjDetachedUiSrcDir, generatedResources, generatedResources, generatedUiMetaPage, generatedResources, generatedSubMenu, generatedAdditionalMenu, generatedResources, generatedUiAdditionalRoutesTmpl, generatedResources, uiFunctionsDir, generatedResources;
604
604
  return __generator(this, function (_a) {
605
605
  switch (_a.label) {
606
606
  case 0:
@@ -681,17 +681,10 @@ var generateProject = function (system, initialOpts) {
681
681
  _a.sent();
682
682
  return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(graphDir, 'permissionsToGraphql.ts'), (0, permissionsToGraphql_1.backPermissionToGraphqlTmpl)(args, opts))
683
683
  // Root
684
- // src/config.ts
684
+ // src/restRouter.ts
685
685
  ];
686
686
  case 14:
687
687
  _a.sent();
688
- if (!opts.genRootConfig) return [3 /*break*/, 16];
689
- generatedResources = (0, config_1.configTmpl)(args);
690
- return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(prjDetachedBackSrcDir, 'config', 'index.ts'), generatedResources)];
691
- case 15:
692
- _a.sent();
693
- _a.label = 16;
694
- case 16:
695
688
  restRouter = (0, restRouter_1.restRouterTmpl)();
696
689
  return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(prjDetachedBackSrcDir, 'rest', 'restRouter.ts'), restRouter)
697
690
  // // src/meta/metadata.json
@@ -718,82 +711,82 @@ var generateProject = function (system, initialOpts) {
718
711
  // )
719
712
  // UI
720
713
  ];
721
- case 17:
714
+ case 15:
722
715
  _a.sent();
723
716
  prjUiSrcPrefixedDir = '';
724
717
  prjDetachedUiSrcDir = (0, path_1.join)(opts.detachedUiProject, 'src');
725
718
  // if (opts.detachedBackProject) {
726
719
  prjUiSrcPrefixedDir = (0, path_1.join)(prjDetachedUiSrcDir, 'adm');
727
- if (!!opts.typesOnly) return [3 /*break*/, 34];
728
- if (!opts.genUiResources) return [3 /*break*/, 19];
720
+ if (!!opts.typesOnly) return [3 /*break*/, 32];
721
+ if (!opts.genUiResources) return [3 /*break*/, 17];
729
722
  generatedResources = (0, resources_1.uiResourcesTmpl)(args);
730
723
  return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(prjUiSrcPrefixedDir, 'resources.tsx'), generatedResources)];
731
- case 18:
724
+ case 16:
732
725
  _a.sent();
733
- _a.label = 19;
734
- case 19:
735
- if (!opts.genUiResourcesPage) return [3 /*break*/, 21];
726
+ _a.label = 17;
727
+ case 17:
728
+ if (!opts.genUiResourcesPage) return [3 /*break*/, 19];
736
729
  generatedResources = (0, ResourcesPage_1.uiResourcesPageTmpl)(args);
737
730
  return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(prjUiSrcPrefixedDir, 'ResourcesPage.tsx'), generatedResources)];
738
- case 20:
731
+ case 18:
739
732
  _a.sent();
740
- _a.label = 21;
741
- case 21:
733
+ _a.label = 19;
734
+ case 19:
742
735
  generatedUiMetaPage = (0, MetaPage_1.uiMetaPageTmpl)();
743
736
  return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(prjUiSrcPrefixedDir, 'MetaPage.tsx'), generatedUiMetaPage)
744
737
  // Resources page
745
738
  // src/dc/entityMapping.ts genUiEntityMapping uiEntityMappingTmpl
746
739
  ];
747
- case 22:
740
+ case 20:
748
741
  _a.sent();
749
- if (!opts.genUiEntityMapping) return [3 /*break*/, 24];
742
+ if (!opts.genUiEntityMapping) return [3 /*break*/, 22];
750
743
  generatedResources = (0, entityMapping_1.uiEntityMappingTmpl)(args, opts);
751
744
  return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(prjUiSrcPrefixedDir, 'entityMapping.ts'), generatedResources)];
752
- case 23:
745
+ case 21:
753
746
  _a.sent();
754
- _a.label = 24;
755
- case 24:
756
- if (!opts.genUiMenu) return [3 /*break*/, 27];
747
+ _a.label = 22;
748
+ case 22:
749
+ if (!opts.genUiMenu) return [3 /*break*/, 25];
757
750
  generatedSubMenu = (0, getDefaultMenu_1.uiGetDefaultMenuTmpl)(args);
758
751
  generatedAdditionalMenu = (0, getAdditionalMenu_1.uiGetAdditionalMenuTmpl)();
759
752
  return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(prjUiSrcPrefixedDir, 'getDefaultMenu.ts'), generatedSubMenu)];
760
- case 25:
753
+ case 23:
761
754
  _a.sent();
762
755
  return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(prjUiSrcPrefixedDir, 'getAdditionalMenu.ts'), generatedAdditionalMenu)];
763
- case 26:
756
+ case 24:
764
757
  _a.sent();
765
- _a.label = 27;
766
- case 27:
767
- if (!opts.genUiRoutes) return [3 /*break*/, 29];
758
+ _a.label = 25;
759
+ case 25:
760
+ if (!opts.genUiRoutes) return [3 /*break*/, 27];
768
761
  generatedResources = (0, routes_1.default)(args);
769
762
  return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(prjUiSrcPrefixedDir, 'routes.tsx'), generatedResources)];
770
- case 28:
763
+ case 26:
771
764
  _a.sent();
772
- _a.label = 29;
773
- case 29:
765
+ _a.label = 27;
766
+ case 27:
774
767
  generatedUiAdditionalRoutesTmpl = (0, additionalRoutes_1.uiAdditionalRoutesTmpl)();
775
768
  return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(prjUiSrcPrefixedDir, 'additionalRoutes.tsx'), generatedUiAdditionalRoutesTmpl)
776
769
  // Functions page
777
770
  // src/dc/functions/Functions.tsx
778
771
  ];
779
- case 30:
772
+ case 28:
780
773
  _a.sent();
781
- if (!opts.genUiFunctions) return [3 /*break*/, 32];
774
+ if (!opts.genUiFunctions) return [3 /*break*/, 30];
782
775
  generatedResources = (0, Functions_1.uiFunctionsTmpl)(opts);
783
776
  uiFunctionsDir = (0, path_1.join)(prjUiSrcPrefixedDir, 'functions');
784
777
  return [4 /*yield*/, (0, fs_jetpack_1.write)((0, path_1.join)(uiFunctionsDir, 'Functions.tsx'), generatedResources)];
785
- case 31:
778
+ case 29:
786
779
  _a.sent();
787
- _a.label = 32;
788
- case 32:
789
- if (!opts.genUiDashboard) return [3 /*break*/, 34];
780
+ _a.label = 30;
781
+ case 30:
782
+ if (!opts.genUiDashboard) return [3 /*break*/, 32];
790
783
  generatedResources = (0, Dashboard_1.default)();
791
784
  return [4 /*yield*/, (0, utils_1.writeFileIfNotExists)((0, path_1.join)(prjUiSrcPrefixedDir, 'Dashboard.tsx'), generatedResources)];
792
- case 33:
785
+ case 31:
793
786
  _a.sent();
794
- _a.label = 34;
795
- case 34: return [4 /*yield*/, (0, generateEnvironment_1.generateEnvironment)(args)];
796
- case 35:
787
+ _a.label = 32;
788
+ case 32: return [4 /*yield*/, (0, generateEnvironment_1.generateEnvironment)(args)];
789
+ case 33:
797
790
  _a.sent();
798
791
  return [2 /*return*/];
799
792
  }
@@ -801,4 +794,4 @@ var generateProject = function (system, initialOpts) {
801
794
  });
802
795
  };
803
796
  exports.default = generateProject;
804
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVQcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9nZW5lcmF0ZVByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2QkFBMkI7QUFDM0IscUVBQXlFO0FBQ3pFLDZFQUFpRjtBQUNqRixtR0FBd0c7QUFDeEcsZ0dBQStFO0FBQy9FLDZFQUFpRjtBQUNqRixzRkFBcUU7QUFDckUsK0VBQW1GO0FBQ25GLCtFQUFtRjtBQUNuRiw2REFBMkQ7QUFDM0Qsc0VBQXdFO0FBQ3hFLHFGQUFtRjtBQUNuRixpQ0FBK0U7QUFDL0UsbURBQWlEO0FBQ2pELDhFQUFnRjtBQUNoRixpQ0FBOEM7QUFDOUMsbUZBQXVGO0FBQ3ZGLHFGQUF5RjtBQUN6RixtRUFBdUU7QUFDdkUsZ0ZBQXdGO0FBQ3hGLGtGQUE2RjtBQUM3RixrR0FBb0c7QUFFcEcseUZBQW1HO0FBQ25HLHlDQUFrQztBQUNsQywrRkFBeUc7QUFDekcsaUVBQTJFO0FBQzNFLHdDQUF1RDtBQUN2RCxpR0FBMkc7QUFDM0csNkdBQXVIO0FBQ3ZILDJHQUFxSDtBQUNySCwrQkFLZTtBQUNmLHFGQUF1RjtBQUN2RixnSEFBOEc7QUFDOUcsc0hBQW9IO0FBQ3BILG9HQUFrRztBQUNsRyxrR0FBZ0c7QUFDaEcsdUNBQTRDO0FBQzVDLDJHQUF3RjtBQUN4RixpSEFBOEY7QUFDOUYsdUdBQXlGO0FBQ3pGLHlHQUFzRjtBQUN0Rix5SEFBc0c7QUFDdEcsNkRBQStEO0FBQy9ELG1FQUFxRTtBQUNyRSx5RUFBK0U7QUFDL0UsbUVBQXlFO0FBQ3pFLHFIQUF1RztBQUN2RyxxRUFBbUU7QUFDbkUsNkVBQTJFO0FBQzNFLCtGQUFtRztBQUVuRyxxQkFBcUI7QUFDckIsb0NBQW9DO0FBQ3BDLDRDQUE0QztBQUM1Qyx3Q0FBd0M7QUFDeEMs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
797
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVQcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9nZW5lcmF0ZVByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2QkFBMkI7QUFDM0IscUVBQXlFO0FBQ3pFLDZFQUFpRjtBQUNqRixtR0FBd0c7QUFDeEcsZ0dBQStFO0FBQy9FLDZFQUFpRjtBQUNqRixzRkFBcUU7QUFDckUsK0VBQW1GO0FBQ25GLCtFQUFtRjtBQUNuRiw2REFBMkQ7QUFDM0QsNkVBQW9GO0FBQ3BGLHFGQUFtRjtBQUNuRixpQ0FBK0U7QUFDL0UsbURBQWlEO0FBQ2pELDhFQUFnRjtBQUNoRixpQ0FBOEM7QUFDOUMsbUZBQXVGO0FBQ3ZGLHFGQUF5RjtBQUN6RixtRUFBdUU7QUFDdkUsZ0ZBQXdGO0FBQ3hGLGtGQUE2RjtBQUM3RixrR0FBb0c7QUFFcEcseUZBQW1HO0FBQ25HLHlDQUFrQztBQUNsQywrRkFBeUc7QUFDekcsaUVBQTJFO0FBQzNFLHdDQUF1RDtBQUN2RCxpR0FBMkc7QUFDM0csNkdBQXVIO0FBQ3ZILDJHQUFxSDtBQUNySCwrQkFLZTtBQUNmLHFGQUF1RjtBQUN2RixnSEFBOEc7QUFDOUcsc0hBQW9IO0FBQ3BILG9HQUFrRztBQUNsRyxrR0FBZ0c7QUFDaEcsdUNBQTRDO0FBQzVDLDJHQUF3RjtBQUN4RixpSEFBOEY7QUFDOUYsdUdBQXlGO0FBQ3pGLHlHQUFzRjtBQUN0Rix5SEFBc0c7QUFDdEcsNkRBQStEO0FBQy9ELG1FQUFxRTtBQUNyRSx5RUFBK0U7QUFDL0UsbUVBQXlFO0FBQ3pFLHFIQUF1RztBQUN2RyxxRUFBbUU7QUFDbkUsNkVBQTJFO0FBQzNFLCtGQUFtRztBQUVuRyxxQkFBcUI7QUFDckIsb0NBQW9DO0FBQ3BDLDRDQUE0QztBQUM1Qyx3Q0FBd0M7QUFDeEMsc0NBQXNDO0FBQ3RDLHdCQUF3QjtBQUN4Qix1Q0FBdUM7QUFDdkMsK0NBQStDO0FBQy9DLDJDQUEyQztBQUMzQyx5Q0FBeUM7QUFFbEMsSUFBTSxxQkFBcUIsR0FBRyxVQUNuQyx5QkFBbUQ7Ozs7S0FJcEQsQ0FBQTtBQUxZLFFBQUEscUJBQXFCLHlCQUtqQztBQUVELElBQU0sbUJBQW1CLEdBQUcsVUFDMUIsSUFBK0IsRUFDL0IsU0FBaUI7SUFBakIsMEJBQUEsRUFBQSxpQkFBaUI7OztZQUVqQixJQUFBLGtCQUFLLEVBQ0gsSUFBQSxXQUFJLEVBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFDaEMsS0FBSyxFQUNMLEtBQUssRUFDTCxPQUFPLEVBQ1AsVUFBVSxFQUNWLE1BQU0sRUFDTixpQkFBaUIsQ0FDbEIsRUFDRCxJQUFBLHNCQUFnQixFQUFDLElBQUksQ0FBQyxDQUN2QixDQUFBO1lBQ0QsSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDZCxJQUFBLGtCQUFLLEVBQ0gsSUFBQSxXQUFJLEVBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFDaEMsS0FBSyxFQUNMLEtBQUssRUFDTCxPQUFPLEVBQ1AsVUFBVSxFQUNWLE1BQU0sRUFDTixrQkFBa0IsQ0FDbkIsRUFDRCxJQUFBLHVCQUFpQixHQUFFLENBQ3BCLENBQUE7Z0JBQ0QsSUFBQSxrQkFBSyxFQUNILElBQUEsV0FBSSxFQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQ2hDLEtBQUssRUFDTCxLQUFLLEVBQ0wsT0FBTyxFQUNQLFVBQVUsRUFDVixNQUFNLEVBQ04seUJBQXlCLENBQzFCLEVBQ0QsSUFBQSw4QkFBd0IsR0FBRSxDQUMzQixDQUFBO2dCQUNELElBQUEsa0JBQUssRUFDSCxJQUFBLFdBQUksRUFDRixJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUNoQyxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixhQUFhLEVBQ2IsZ0JBQWdCLENBQ2pCLEVBQ0QsSUFBQSxxQkFBZSxFQUFDLElBQUksQ0FBQyxDQUN0QixDQUFBO2FBQ0Y7Ozs7Q0FDRixDQUFBO0FBRU0sSUFBTSxlQUFlLEdBQUcsVUFBTyxJQUErQjs7OztZQUNuRSwrQkFBK0I7WUFFL0IscUJBQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztvQkFDaEIsSUFBQSxrQkFBSyxFQUNILElBQUEsV0FBSSxFQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsRUFDcEUsSUFBQSx3QkFBZSxFQUFDLElBQUksQ0FBQyxDQUN0QjtvQkFDRCxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO2lCQUNoQyxDQUFDLEVBQUE7O2dCQVJGLCtCQUErQjtnQkFFL0IsU0FNRSxDQUFBO2dCQUVGLHFCQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBQyxNQUFNO3dCQUN2QixPQUFBLElBQUEsNkJBQXFCLEVBQUMsSUFBQSxzQ0FBK0IsRUFBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7b0JBQXBFLENBQW9FLENBQ3JFLENBQ0YsRUFBQTs7Z0JBSkQsU0FJQyxDQUFBOzs7O0tBQ0YsQ0FBQTtBQWhCWSxRQUFBLGVBQWUsbUJBZ0IzQjtBQUVNLElBQU0sb0JBQW9CLEdBQUcsVUFDbEMsS0FBZ0M7Ozs7S0FJakMsQ0FBQTtBQUxZLFFBQUEsb0JBQW9CLHdCQUtoQztBQUVNLElBQU0sZ0JBQWdCLEdBQUcsVUFBTyxLQUFnQzs7OztLQUd0RSxDQUFBO0FBSFksUUFBQSxnQkFBZ0Isb0JBRzVCO0FBRU0sSUFBTSxnQkFBZ0IsR0FBRyxVQUFPLElBQStCOzs7OztnQkFDOUQsUUFBUSxHQUFHLElBQUEsV0FBSSxFQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUNoQyxRQUFRLEVBQ1IsY0FBYyxDQUNmLENBQUE7Z0JBRUQscUJBQU0sSUFBQSxrQkFBSyxFQUFDLFFBQVEsRUFBRSxJQUFBLDJCQUFjLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBQTs7Z0JBQTNDLFNBQTJDLENBQUE7Ozs7S0FDNUMsQ0FBQTtBQVJZLFFBQUEsZ0JBQWdCLG9CQVE1QjtBQUVNLElBQU0sNkJBQTZCLEdBQUcsVUFDM0MsSUFBK0I7Ozs7O2dCQUV6QixRQUFRLEdBQUcsSUFBQSxXQUFJLEVBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQ2hDLE1BQU0sRUFDTixrQkFBa0IsQ0FDbkIsQ0FBQTtnQkFFRCxxQkFBTSxJQUFBLGtCQUFLLEVBQUMsUUFBUSxFQUFFLElBQUEsNkNBQXFCLEVBQUMsSUFBSSxDQUFDLENBQUMsRUFBQTs7Z0JBQWxELFNBQWtELENBQUE7Ozs7S0FDbkQsQ0FBQTtBQVZZLFFBQUEsNkJBQTZCLGlDQVV6QztBQUVNLElBQU0sd0JBQXdCLEdBQUcsVUFDdEMsSUFBK0I7Ozs7O3NCQUVXLEVBQXBCLEtBQUEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFROzs7cUJBQXBCLENBQUEsY0FBb0IsQ0FBQTtnQkFBL0IsT0FBTztnQkFDVixRQUFRLEdBQUcsSUFBQSxXQUFJLEVBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQ2hDLE1BQU0sRUFDTixVQUFVLEVBQ1YsVUFBRyxPQUFPLENBQUMsSUFBSSxRQUFLLENBQ3JCLENBQUE7Z0JBRUQscUJBQU0sSUFBQSxrQkFBSyxFQUFDLFFBQVEsRUFBRSxJQUFBLGlDQUFlLEVBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEVBQUE7O2dCQUFyRCxTQUFxRCxDQUFBOzs7Z0JBUmpDLElBQW9CLENBQUE7Ozs7O0tBVTNDLENBQUE7QUFiWSxRQUFBLHdCQUF3Qiw0QkFhcEM7QUFFTSxJQUFNLHdCQUF3QixHQUFHLFVBQ3RDLElBQStCOzs7b0JBRS9CLHFCQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBQyxNQUFNO29CQUN2QixJQUFNLFFBQVEsR0FBRyxJQUFBLFdBQUksRUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFDaEMsTUFBTSxFQUNOLElBQUEsa0JBQU0sRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQ25CLFVBQUcsTUFBTSxDQUFDLElBQUksUUFBSyxDQUNwQixDQUFBO29CQUVELE9BQU8sSUFBQSxrQkFBSyxFQUNWLFFBQVEsRUFDUixJQUFBLCtCQUFjLEVBQUMsSUFBQSxzQ0FBK0IsRUFBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FDOUQsQ0FBQTtnQkFDSCxDQUFDLENBQUMsQ0FDSCxFQUFBOztnQkFkRCxTQWNDLENBQUE7Ozs7S0FDRixDQUFBO0FBbEJZLFFBQUEsd0JBQXdCLDRCQWtCcEM7QUFFTSxJQUFNLGlCQUFpQixHQUFHLFVBQU8sSUFBK0I7OztvQkFDckUscUJBQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixJQUFJLENBQUMsUUFBUTtxQkFDVixNQUFNLENBQUMsVUFBQyxDQUFDLElBQUssT0FBQSxDQUFDLENBQUMsa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBL0IsQ0FBK0IsQ0FBQztxQkFDOUMsR0FBRyxDQUFDLFVBQUMsTUFBTTtvQkFDVixJQUFNLFFBQVEsR0FBRyxJQUFBLFdBQUksRUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFDaEMsS0FBSyxFQUNMLE9BQU8sRUFDUCxVQUFHLElBQUEsY0FBTSxFQUFDLElBQUEsb0JBQVEsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBSyxDQUN0QyxDQUFBO29CQUVELE9BQU8sSUFBQSxrQkFBSyxFQUNWLFFBQVEsRUFDUixJQUFBLGVBQVEsRUFBQzt3QkFDUCxNQUFNLFFBQUE7d0JBQ04sT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO3FCQUNNLENBQUMsQ0FDL0IsQ0FBQTtnQkFDSCxDQUFDLENBQUMsQ0FDTCxFQUFBOztnQkFuQkQsU0FtQkMsQ0FBQTs7OztLQUNGLENBQUE7QUFyQlksUUFBQSxpQkFBaUIscUJBcUI3QjtBQUVNLElBQU0sc0JBQXNCLEdBQUcsVUFDcEMsSUFBK0I7OztRQUV6QixRQUFRLEdBQUcsSUFBQSxXQUFJLEVBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQ2hDLEtBQUssRUFDTCxPQUFPLEVBQ1AsV0FBVyxDQUNaLENBQUE7UUFFRCxzQkFBTyxJQUFBLGtCQUFLLEVBQ1YsUUFBUSxFQUNSLElBQUEsbUJBQVEsRUFBQztnQkFDUCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3ZCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTzthQUNPLENBQUMsQ0FDaEMsRUFBQTs7S0FDRixDQUFBO0FBakJZLFFBQUEsc0JBQXNCLDBCQWlCbEM7QUFFTSxJQUFNLHFCQUFxQixHQUFHLFVBQ25DLElBQStCOzs7b0JBRS9CLHFCQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsSUFBSSxDQUFDLFFBQVE7cUJBQ1YsTUFBTSxDQUFDLFVBQUMsQ0FBQyxJQUFLLE9BQUEsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQS9CLENBQStCLENBQUM7cUJBQzlDLEdBQUcsQ0FBQyxVQUFDLE1BQU07b0JBQ1YsSUFBTSxRQUFRLEdBQUcsSUFBQSxXQUFJLEVBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQ2hDLEtBQUssRUFDTCxNQUFNLEVBQ04sUUFBUSxFQUNSLGNBQU8sSUFBQSxjQUFNLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFLLENBQ2hDLENBQUE7b0JBRUQsT0FBTyxJQUFBLGtCQUFLLEVBQ1YsUUFBUSxFQUNSLElBQUEsK0JBQWtCLEVBQUM7d0JBQ2pCLE1BQU0sUUFBQTt3QkFDTixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87cUJBQ00sQ0FBQyxDQUMvQixDQUFBO2dCQUNILENBQUMsQ0FBQyxDQUNMLEVBQUE7O2dCQXBCRCxTQW9CQyxDQUFBOzs7O0tBQ0YsQ0FBQTtBQXhCWSxRQUFBLHFCQUFxQix5QkF3QmpDO0FBRU0sSUFBTSw0QkFBNEIsR0FBRyxVQUMxQyxJQUErQjs7O1FBRXpCLFFBQVEsR0FBRyxJQUFBLFdBQUksRUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFDaEMsS0FBSyxFQUNMLE1BQU0sRUFDTixRQUFRLEVBQ1IsaUJBQWlCLENBQ2xCLENBQUE7UUFFRCxzQkFBTyxJQUFBLGtCQUFLLEVBQUMsUUFBUSxFQUFFLElBQUEsMkJBQVksRUFBQyxJQUFJLENBQUMsQ0FBQyxFQUFBOztLQUMzQyxDQUFBO0FBWlksUUFBQSw0QkFBNEIsZ0NBWXhDO0FBRU0sSUFBTSxvQkFBb0IsR0FBRyxVQUFPLElBQStCOzs7b0JBQ3hFLHFCQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsSUFBSSxDQUFDLFFBQVE7cUJBQ1YsTUFBTSxDQUFDLFVBQUMsQ0FBQyxJQUFLLE9BQUEsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQWpDLENBQWlDLENBQUM7cUJBQ2hELEdBQUcsQ0FBQyxVQUFDLE1BQU07b0JBQ1YsSUFBTSxRQUFRLEdBQUcsSUFBQSxXQUFJLEVBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQ2hDLEtBQUssRUFDTCxPQUFPLEVBQ1AsYUFBTSxJQUFBLGNBQU0sRUFBQyxJQUFBLG9CQUFRLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQUssQ0FDekMsQ0FBQTtvQkFFRCxPQUFPLElBQUEsa0JBQUssRUFDVixRQUFRLEVBQ1IsSUFBQSxxQkFBVyxFQUFDO3dCQUNWLE1BQU0sUUFBQTt3QkFDTixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87cUJBQ00sQ0FBQyxDQUMvQixDQUFBO2dCQUNILENBQUMsQ0FBQyxDQUNMLEVBQUE7O2dCQW5CRCxTQW1CQyxDQUFBOzs7O0tBQ0YsQ0FBQTtBQXJCWSxRQUFBLG9CQUFvQix3QkFxQmhDO0FBRU0sSUFBTSx3QkFBd0IsR0FBRyxVQUN0QyxJQUErQjs7O29CQUUvQixxQkFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLElBQUksQ0FBQyxRQUFRO3FCQUNWLE1BQU0sQ0FBQyxVQUFDLENBQUMsSUFBSyxPQUFBLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFqQyxDQUFpQyxDQUFDO3FCQUNoRCxHQUFHLENBQUMsVUFBQyxNQUFNO29CQUNWLElBQU0sUUFBUSxHQUFHLElBQUEsV0FBSSxFQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUNoQyxLQUFLLEVBQ0wsTUFBTSxFQUNOLEtBQUssRUFDTCxjQUFPLElBQUEsY0FBTSxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBSyxDQUNoQyxDQUFBO29CQUVELE9BQU8sSUFBQSxrQkFBSyxFQUNWLFFBQVEsRUFDUixJQUFBLHlCQUFlLEVBQUM7d0JBQ2QsTUFBTSxRQUFBO3dCQUNOLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztxQkFDTSxDQUFDLENBQy9CLENBQUE7Z0JBQ0gsQ0FBQyxDQUFDLENBQ0wsRUFBQTs7Z0JBcEJELFNBb0JDLENBQUE7Ozs7S0FDRixDQUFBO0FBeEJZLFFBQUEsd0JBQXdCLDRCQXdCcEM7QUFFTSxJQUFNLGlDQUFpQyxHQUFHLFVBQy9DLElBQStCOzs7OztnQkFFekIsUUFBUSxHQUFHLElBQUEsV0FBSSxFQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUM5QixNQUFNLEVBQ04sa0JBQWtCLENBQ25CLENBQUE7Z0JBRUQscUJBQU0sSUFBQSxrQkFBSyxFQUFDLFFBQVEsRUFBRSxJQUFBLHFEQUF5QixFQUFDLElBQUksQ0FBQyxDQUFDLEVBQUE7O2dCQUF0RCxTQUFzRCxDQUFBOzs7O0tBQ3ZELENBQUE7QUFWWSxRQUFBLGlDQUFpQyxxQ0FVN0M7QUFFTSxJQUFNLGdCQUFnQixHQUFHLFVBQU8sSUFBK0I7OztvQkFDcEUscUJBQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztvQkFDaEIsSUFBQSxxQ0FBNkIsRUFBQyxJQUFJLENBQUM7b0JBQ25DLElBQUEsZ0NBQXdCLEVBQUMsSUFBSSxDQUFDO29CQUM5QixJQUFBLGdDQUF3QixFQUFDLElBQUksQ0FBQztvQkFDOUIsSUFBQSx5QkFBaUIsRUFBQyxJQUFJLENBQUM7b0JBQ3ZCLElBQUEsNkJBQXFCLEVBQUMsSUFBSSxDQUFDO29CQUMzQixJQUFBLDhCQUFzQixFQUFDLElBQUksQ0FBQztvQkFDNUIsSUFBQSxvQ0FBNEIsRUFBQyxJQUFJLENBQUM7b0JBQ2xDLElBQUEsNEJBQW9CLEVBQUMsSUFBSSxDQUFDO29CQUMxQixJQUFBLGdDQUF3QixFQUFDLElBQUksQ0FBQztvQkFDOUIsSUFBQSx5Q0FBaUMsRUFBQyxJQUFJLENBQUM7aUJBQ3hDLENBQUMsRUFBQTs7Z0JBWEYsU0FXRSxDQUFBOzs7O0tBQ0gsQ0FBQTtBQWJZLFFBQUEsZ0JBQWdCLG9CQWE1QjtBQUVNLElBQU0sWUFBWSxHQUFHLFVBQU8sSUFBK0I7Ozs7WUFDaEUsNEJBQTRCO1lBRTVCLHFCQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7b0JBQ2hCLElBQUEsdUJBQWUsRUFBQyxJQUFJLENBQUM7b0JBQ3JCLElBQUEsNEJBQW9CLEVBQUMsSUFBSSxDQUFDO29CQUMxQixJQUFBLHdCQUFnQixFQUFDLElBQUksQ0FBQztvQkFDdEIsSUFBQSx3QkFBZ0IsRUFBQyxJQUFJLENBQUM7b0JBQ3RCLElBQUEsd0JBQWdCLEVBQUMsSUFBSSxDQUFDO2lCQUN2QixDQUFDLEVBQUE7O2dCQVJGLDRCQUE0QjtnQkFFNUIsU0FNRSxDQUFBOzs7O0tBQ0gsQ0FBQTtBQVZZLFFBQUEsWUFBWSxnQkFVeEI7QUFFTSxJQUFNLHNDQUFzQyxHQUFHLFVBQ3BELElBQStCOzs7OztzQkFJUyxFQUFyQixLQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUzs7O3FCQUFyQixDQUFBLGNBQXFCLENBQUE7Z0JBQTdCLElBQUk7Z0JBQ1AsUUFBUSxHQUFHLElBQUEsV0FBSSxFQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUM5QixtQkFBWSxJQUFJLENBQUMsRUFBRSxjQUFJLElBQUksQ0FBQyxFQUFFLFlBQVMsQ0FDeEMsQ0FBQTtnQkFFRCxxQkFBTSxJQUFBLGtCQUFLLEVBQUMsUUFBUSxFQUFFLElBQUEsMkNBQTBCLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFBOztnQkFBaEUsU0FBZ0UsQ0FBQTs7O2dCQU4vQyxJQUFxQixDQUFBOzs7OztLQVF6QyxDQUFBO0FBYlksUUFBQSxzQ0FBc0MsMENBYWxEO0FBRU0sSUFBTSwwQ0FBMEMsR0FBRyxVQUN4RCxJQUErQjs7Ozs7c0JBSVMsRUFBckIsS0FBQSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVM7OztxQkFBckIsQ0FBQSxjQUFxQixDQUFBO2dCQUE3QixJQUFJO2dCQUNQLFFBQVEsR0FBRyxJQUFBLFdBQUksRUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFDOUIsbUJBQVksSUFBSSxDQUFDLEVBQUUsY0FBSSxJQUFJLENBQUMsRUFBRSxnQkFBYSxDQUM1QyxDQUFBO2dCQUVELHFCQUFNLElBQUEsa0JBQUssRUFBQyxRQUFRLEVBQUUsSUFBQSxtREFBOEIsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUE7O2dCQUFwRSxTQUFvRSxDQUFBOzs7Z0JBTm5ELElBQXFCLENBQUE7Ozs7O0tBUXpDLENBQUE7QUFiWSxRQUFBLDBDQUEwQyw4Q0FhdEQ7QUFFTSxJQUFNLGdEQUFnRCxHQUFHLFVBQzlELElBQStCOzs7OztzQkFJUyxFQUFyQixLQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUzs7O3FCQUFyQixDQUFBLGNBQXFCLENBQUE7Z0JBQTdCLElBQUk7Z0JBQ1AsUUFBUSxHQUFHLElBQUEsV0FBSSxFQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUM5QixtQkFBWSxJQUFJLENBQUMsRUFBRSxjQUFJLElBQUksQ0FBQyxFQUFFLHNCQUFtQixDQUNsRCxDQUFBO2dCQUVELHFCQUFNLElBQUEsa0JBQUssRUFBQyxRQUFRLEVBQUUsSUFBQSwrREFBb0MsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUE7O2dCQUExRSxTQUEwRSxDQUFBOzs7Z0JBTnpELElBQXFCLENBQUE7Ozs7O0tBUXpDLENBQUE7QUFiWSxRQUFBLGdEQUFnRCxvREFhNUQ7QUFFTSxJQUFNLCtDQUErQyxHQUFHLFVBQzdELElBQStCOzs7OztzQkFJUyxFQUFyQixLQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUzs7O3FCQUFyQixDQUFBLGNBQXFCLENBQUE7Z0JBQTdCLElBQUk7Z0JBQ1AsUUFBUSxHQUFHLElBQUEsV0FBSSxFQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUM5QixtQkFBWSxJQUFJLENBQUMsRUFBRSxjQUFJLElBQUksQ0FBQyxFQUFFLHFCQUFrQixDQUNqRCxDQUFBO2dCQUVELHFCQUFNLElBQUEsa0JBQUssRUFBQyxRQUFRLEVBQUUsSUFBQSw2REFBbUMsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUE7O2dCQUF6RSxTQUF5RSxDQUFBOzs7Z0JBTnhELElBQXFCLENBQUE7Ozs7O0tBUXpDLENBQUE7QUFiWSxRQUFBLCtDQUErQyxtREFhM0Q7QUFFTSxJQUFNLHlDQUF5QyxHQUFHLFVBQ3ZELElBQStCOzs7OztzQkFJUyxFQUFyQixLQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUzs7O3FCQUFyQixDQUFBLGNBQXFCLENBQUE7Z0JBQTdCLElBQUk7Z0JBQ1AsUUFBUSxHQUFHLElBQUEsV0FBSSxFQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUM5QixtQkFBWSxJQUFJLENBQUMsRUFBRSxjQUFJLElBQUksQ0FBQyxFQUFFLGVBQVksQ0FDM0MsQ0FBQTtnQkFFRCxxQkFBTSxJQUFBLGtCQUFLLEVBQUMsUUFBUSxFQUFFLElBQUEsaURBQTZCLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFBOztnQkFBbkUsU0FBbUUsQ0FBQTs7O2dCQU5sRCxJQUFxQixDQUFBOzs7OztLQVF6QyxDQUFBO0FBYlksUUFBQSx5Q0FBeUMsNkNBYXJEO0FBRU0sSUFBTSwwQkFBMEIsR0FBRyxVQUN4Qyx3QkFBa0Q7Ozs7O2dCQUd0QyxJQUFJLEdBQ1osd0JBQXdCLFlBRFosQ0FDWTtnQkFFdEIsUUFBUSxHQUFHLElBQUEsV0FBSSxFQUNuQix3QkFBd0IsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQ2xELHdCQUFpQixJQUFJLGNBQUksSUFBQSxzQkFBYyxFQUFDLElBQUksQ0FBQyxhQUFVLENBQ3hELENBQUE7Z0JBRUQscUJBQU0sSUFBQSxrQkFBSyxFQUFDLFFBQVEsRUFBRSxJQUFBLHVCQUFnQixFQUFDLHdCQUF3QixDQUFDLENBQUMsRUFBQTs7Z0JBQWpFLFNBQWlFLENBQUE7Ozs7S0FDbEUsQ0FBQTtBQWJZLFFBQUEsMEJBQTBCLDhCQWF0QztBQUVNLElBQU0sbUNBQW1DLEdBQUcsVUFDakQsd0JBQWtEOzs7OztnQkFHdEMsSUFBSSxHQUNaLHdCQUF3QixZQURaLENBQ1k7Z0JBR3RCLFFBQVEsR0FBRyxJQUFBLFdBQUksRUFDbkIsd0JBQXdCLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUNsRCx3QkFBaUIsSUFBSSxpQkFBTyxJQUFBLHNCQUFjLEVBQUMsSUFBSSxDQUFDLG1CQUFnQixDQUNqRSxDQUFBO2dCQUVELHFCQUFNLElBQUEsa0JBQUssRUFBQyxRQUFRLEVBQUUsSUFBQSwrQ0FBeUIsRUFBQyx3QkFBd0IsQ0FBQyxDQUFDLEVBQUE7O2dCQUExRSxTQUEwRSxDQUFBOzs7O0tBQzNFLENBQUE7QUFkWSxRQUFBLG1DQUFtQyx1Q0FjL0M7QUFFTSxJQUFNLHNCQUFzQixHQUFHLFVBQ3BDLHdCQUFrRDs7OztZQUVsRCxzQ0FBc0M7WUFDdEMsNkNBQTZDO1lBRTdDLHFCQUFNLElBQUEsa0NBQTBCLEVBQUMsd0JBQXdCLENBQUMsRUFBQTs7Z0JBSDFELHNDQUFzQztnQkFDdEMsNkNBQTZDO2dCQUU3QyxTQUEwRCxDQUFBO2dCQUMxRCxxQkFBTSxJQUFBLDJDQUFtQyxFQUFDLHdCQUF3QixDQUFDLEVBQUE7O2dCQUFuRSxTQUFtRSxDQUFBOzs7O0tBQ3BFLENBQUE7QUFSWSxRQUFBLHNCQUFzQiwwQkFRbEM7QUFFTSxJQUFNLGdCQUFnQixHQUFHLFVBQU8sSUFBK0I7OztvQkFDcEUscUJBQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFDLE1BQU07b0JBQ3ZCLE9BQUEsSUFBQSw4QkFBc0IsRUFBQyxJQUFBLHNDQUErQixFQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFBckUsQ0FBcUUsQ0FDdEUsQ0FDRixFQUFBOztnQkFKRCxTQUlDLENBQUE7Z0JBRUQscUJBQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQzt3QkFDaEIsSUFBQSw4Q0FBc0MsRUFBQyxJQUFJLENBQUM7d0JBQzVDLElBQUEsa0RBQTBDLEVBQUMsSUFBSSxDQUFDO3dCQUNoRCxJQUFBLHVEQUErQyxFQUFDLElBQUksQ0FBQzt3QkFDckQsSUFBQSx3REFBZ0QsRUFBQyxJQUFJLENBQUM7d0JBQ3RELElBQUEsaURBQXlDLEVBQUMsSUFBSSxDQUFDO3FCQUNoRCxDQUFDLEVBQUE7O2dCQU5GLFNBTUUsQ0FBQTs7OztLQUNILENBQUE7QUFkWSxRQUFBLGdCQUFnQixvQkFjNUI7QUFFTSxJQUFNLHFCQUFxQixHQUFHLFVBQ25DLEtBQWdDOzs7O0tBSWpDLENBQUE7QUFMWSxRQUFBLHFCQUFxQix5QkFLakM7QUFFTSxJQUFNLGlCQUFpQixHQUFHLFVBQU8sS0FBZ0M7Ozs7S0FHdkUsQ0FBQTtBQUhZLFFBQUEsaUJBQWlCLHFCQUc3QjtBQUVNLElBQU0sYUFBYSxHQUFHLFVBQU8sSUFBK0I7Ozs7WUFDakUsNkJBQTZCO1lBRTdCLHFCQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7b0JBQ2hCLElBQUEsd0JBQWdCLEVBQUMsSUFBSSxDQUFDO29CQUN0QixJQUFBLDZCQUFxQixFQUFDLElBQUksQ0FBQztvQkFDM0IsSUFBQSx5QkFBaUIsRUFBQyxJQUFJLENBQUM7aUJBQ3hCLENBQUMsRUFBQTs7Z0JBTkYsNkJBQTZCO2dCQUU3QixTQUlFLENBQUE7Ozs7S0FDSCxDQUFBO0FBUlksUUFBQSxhQUFhLGlCQVF6QjtBQUVELElBQU0sZUFBZSxHQUFHLFVBQ3RCLE1BQWMsRUFDZCxXQUFtRTtJQUFuRSw0QkFBQSxFQUFBLGNBQXNDLHFDQUE2Qjs7Ozs7O29CQUU3RCxJQUFJLHlCQUNMLHFDQUE2QixHQUM3QixXQUFXLENBQ2YsQ0FBQTtvQkFFSyxJQUFJLEdBQUcsSUFBQSx1Q0FBZ0MsRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUE7b0JBRTNELHFCQUFNLElBQUEsb0JBQVksRUFBQyxJQUFJLENBQUMsRUFBQTs7b0JBQXhCLFNBQXdCLENBQUE7b0JBQ3hCLHFCQUFNLElBQUEscUJBQWEsRUFBQyxJQUFJLENBQUMsRUFBQTs7b0JBQXpCLFNBQXlCLENBQUE7b0JBQ2pCLFFBQVEsR0FBSyxJQUFJLFNBQVQsQ0FBUztvQkFFckIscUJBQXFCLEdBQUcsRUFBRSxDQUFBO29CQUN4QixxQkFBcUIsR0FBRyxJQUFBLFdBQUksRUFBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUE7b0JBRW5FLGtDQUFrQztvQkFDbEMscUJBQXFCLEdBQUcsSUFBQSxXQUFJLEVBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUE7b0JBRTFELFdBQVc7b0JBQ1gsaUVBQWlFO29CQUNqRSxJQUFJO29CQUVKLHVDQUF1QztvQkFDdkMscUJBQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixRQUFRLENBQUMsR0FBRyxDQUFDLFVBQUMsTUFBTTs0QkFDbEIsT0FBQSxJQUFBLCtCQUFjLEVBQ1osSUFBQSxzQ0FBK0Isd0JBRXhCLElBQUksS0FDUCxPQUFPLHdCQUNGLElBQUksS0FDUCxTQUFTLEVBQUUsSUFBSSxRQUduQixNQUFNLENBQ1AsQ0FDRjt3QkFYRCxDQVdDLENBQ0YsQ0FDRixFQUFBOztvQkFwQkQsV0FBVztvQkFDWCxpRUFBaUU7b0JBQ2pFLElBQUk7b0JBRUosdUNBQXVDO29CQUN2QyxTQWVDLENBQUE7b0JBRUssbUJBQW1CLEdBQUcsSUFBQSxXQUFJLEVBQzlCLHFCQUFxQixFQUNyQixPQUFPLEVBQ1AsVUFBVSxFQUNWLE1BQU0sQ0FDUCxDQUFBO29CQUNELHFCQUFNLElBQUEsa0JBQUssRUFBQyxVQUFHLG1CQUFtQixxQkFBa0IsRUFBRSxJQUFBLDZCQUFrQixHQUFFLENBQUMsRUFBQTs7b0JBQTNFLFNBQTJFLENBQUE7b0JBRTNFLHFCQUFNLElBQUEsaUVBQStCLEVBQUMsSUFBSSxDQUFDLEVBQUE7O29CQUEzQyxTQUEyQyxDQUFBO29CQUUzQyxxQkFBTSxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO3dCQUV0QyxrQkFBa0I7c0JBRm9COztvQkFBdEMsU0FBc0MsQ0FBQTtvQkFFdEMsa0JBQWtCO29CQUNsQixxQkFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBQyxNQUFNOzRCQUNsQixPQUFBLElBQUEsK0JBQWMsRUFDWixJQUFBLHNDQUErQix3QkFFeEIsSUFBSSxLQUNQLE9BQU8sZUFDRixJQUFJLE1BR1gsTUFBTSxDQUNQLENBQ0Y7d0JBVkQsQ0FVQyxDQUNGLENBQ0Y7d0JBRUQsZ0JBQWdCO3NCQUZmOztvQkFmRCxrQkFBa0I7b0JBQ2xCLFNBY0MsQ0FBQTtvQkFHSyxXQUFXLEdBQUcsSUFBQSxXQUFJLEVBQUMscUJBQXFCLEVBQUUsVUFBVSxDQUFDLENBQUE7b0JBUXJELFFBQVEsR0FBRyxJQUFBLFdBQUksRUFBQyxxQkFBcUIsRUFBRSxPQUFPLENBQUMsQ0FBQTtvQkFFckQscUJBQU0sSUFBQSxrQkFBSyxFQUNULFVBQUcsbUJBQW1CLHNCQUFtQixFQUN6QyxJQUFBLGtDQUFzQixHQUFFLENBQ3pCO3dCQUVELGFBQWE7d0JBQ2IsZ0NBQWdDO3dCQUNoQyw0Q0FBNEM7d0JBQzVDLDBFQUEwRTt3QkFDMUUsSUFBSTt3QkFFSixRQUFRO3NCQVJQOztvQkFIRCxTQUdDLENBQUE7eUJBU0csSUFBSSxDQUFDLFVBQVUsRUFBZix5QkFBZTtvQkFDakIscUJBQU0sSUFBQSxrQkFBSyxFQUNULElBQUEsV0FBSSxFQUFDLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxFQUNwQyxJQUFBLHNCQUFxQixFQUFDLElBQUksQ0FBQyxDQUM1QixFQUFBOztvQkFIRCxTQUdDLENBQUE7Ozt5QkFJQyxJQUFJLENBQUMsVUFBVSxFQUFmLHlCQUFlO29CQUNqQixxQkFBTSxJQUFBLGtCQUFLLEVBQ1QsSUFBQSxXQUFJLEVBQUMsV0FBVyxFQUFFLHdCQUF3QixDQUFDLEVBQzNDLElBQUEsNkJBQTRCLEVBQUMsSUFBSSxDQUFDLENBQ25DLEVBQUE7O29CQUhELFNBR0MsQ0FBQTs7O29CQUdHLDJCQUEyQixHQUFHLElBQUEsMkNBQXNCLEdBQUUsQ0FBQTtvQkFDNUQscUJBQU0sSUFBQSw0QkFBb0IsRUFDeEIsSUFBQSxXQUFJLEVBQUMsV0FBVyxFQUFFLHVCQUF1QixDQUFDLEVBQzFDLDJCQUEyQixDQUM1QixFQUFBOztvQkFIRCxTQUdDLENBQUE7b0JBRUQscUJBQU0sSUFBQSxrQkFBSyxFQUNULElBQUEsV0FBSSxFQUFDLFFBQVEsRUFBRSx5QkFBeUIsQ0FBQyxFQUN6QyxJQUFBLGtEQUEyQixFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FDeEM7d0JBRUQsT0FBTzt3QkFFUCxvQkFBb0I7c0JBSm5COztvQkFIRCxTQUdDLENBQUE7b0JBS0ssVUFBVSxHQUFHLElBQUEsMkJBQWMsR0FBRSxDQUFBO29CQUNuQyxxQkFBTSxJQUFBLDRCQUFvQixFQUN4QixJQUFBLFdBQUksRUFBQyxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsZUFBZSxDQUFDLEVBQ3BELFVBQVUsQ0FDWDt3QkFFRCw0QkFBNEI7d0JBQzVCLHVEQUF1RDt3QkFFdkQsZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsd0JBQXdCO3dCQUN4QixnQ0FBZ0M7d0JBQ2hDLGlDQUFpQzt3QkFDakMsa0NBQWtDO3dCQUNsQyx1Q0FBdUM7d0JBQ3ZDLHNDQUFzQzt3QkFFdEMsK0JBQStCO3dCQUMvQixlQUFlO3dCQUNmLCtCQUErQjt3QkFDL0IsaUNBQWlDO3dCQUNqQywyQ0FBMkM7d0JBQzNDLHlDQUF5Qzt3QkFDekMsSUFBSTt3QkFDSixlQUFlO3dCQUNmLHNDQUFzQzt3QkFDdEMsZ0RBQWdEO3dCQUNoRCxJQUFJO3dCQUVKLEtBQUs7c0JBM0JKOztvQkFIRCxTQUdDLENBQUE7b0JBNkJHLG1CQUFtQixHQUFHLEVBQUUsQ0FBQTtvQkFDdEIsbUJBQW1CLEdBQUcsSUFBQSxXQUFJLEVBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFBO29CQUUvRCxrQ0FBa0M7b0JBQ2xDLG1CQUFtQixHQUFHLElBQUEsV0FBSSxFQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFBO3lCQU1sRCxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQWYseUJBQWU7eUJBR2IsSUFBSSxDQUFDLGNBQWMsRUFBbkIseUJBQW1CO29CQUNmLGtCQUFrQixHQUFHLElBQUEsMkJBQWUsRUFBQyxJQUFJLENBQUMsQ0FBQTtvQkFFaEQscUJBQU0sSUFBQSxrQkFBSyxFQUNULElBQUEsV0FBSSxFQUFDLG1CQUFtQixFQUFFLGVBQWUsQ0FBQyxFQUMxQyxrQkFBa0IsQ0FDbkIsRUFBQTs7b0JBSEQsU0FHQyxDQUFBOzs7eUJBS0MsSUFBSSxDQUFDLGtCQUFrQixFQUF2Qix5QkFBdUI7b0JBQ25CLGtCQUFrQixHQUFHLElBQUEsbUNBQW1CLEVBQUMsSUFBSSxDQUFDLENBQUE7b0JBRXBELHFCQUFNLElBQUEsa0JBQUssRUFDVCxJQUFBLFdBQUksRUFBQyxtQkFBbUIsRUFBRSxtQkFBbUIsQ0FBQyxFQUM5QyxrQkFBa0IsQ0FDbkIsRUFBQTs7b0JBSEQsU0FHQyxDQUFBOzs7b0JBR0csbUJBQW1CLEdBQUcsSUFBQSx5QkFBYyxHQUFFLENBQUE7b0JBQzVDLHFCQUFNLElBQUEsa0JBQUssRUFBQyxJQUFBLFdBQUksRUFBQyxtQkFBbUIsRUFBRSxjQUFjLENBQUMsRUFBRSxtQkFBbUIsQ0FBQzt3QkFFM0UsaUJBQWlCO3dCQUNqQixpRUFBaUU7c0JBSFU7O29CQUEzRSxTQUEyRSxDQUFBO3lCQUl2RSxJQUFJLENBQUMsa0JBQWtCLEVBQXZCLHlCQUF1QjtvQkFDbkIsa0JBQWtCLEdBQUcsSUFBQSxtQ0FBbUIsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7b0JBRTFELHFCQUFNLElBQUEsa0JBQUssRUFDVCxJQUFBLFdBQUksRUFBQyxtQkFBbUIsRUFBRSxrQkFBa0IsQ0FBQyxFQUM3QyxrQkFBa0IsQ0FDbkIsRUFBQTs7b0JBSEQsU0FHQyxDQUFBOzs7eUJBS0MsSUFBSSxDQUFDLFNBQVMsRUFBZCx5QkFBYztvQkFDVixnQkFBZ0IsR0FBRyxJQUFBLHFDQUFvQixFQUFDLElBQUksQ0FBQyxDQUFBO29CQUM3Qyx1QkFBdUIsR0FBRyxJQUFBLDJDQUF1QixHQUFFLENBQUE7b0JBRXpELHFCQUFNLElBQUEsa0JBQUssRUFDVCxJQUFBLFdBQUksRUFBQyxtQkFBbUIsRUFBRSxtQkFBbUIsQ0FBQyxFQUM5QyxnQkFBZ0IsQ0FDakIsRUFBQTs7b0JBSEQsU0FHQyxDQUFBO29CQUNELHFCQUFNLElBQUEsNEJBQW9CLEVBQ3hCLElBQUEsV0FBSSxFQUFDLG1CQUFtQixFQUFFLHNCQUFzQixDQUFDLEVBQ2pELHVCQUF1QixDQUN4QixFQUFBOztvQkFIRCxTQUdDLENBQUE7Ozt5QkFLQyxJQUFJLENBQUMsV0FBVyxFQUFoQix5QkFBZ0I7b0JBQ1osa0JBQWtCLEdBQUcsSUFBQSxnQkFBWSxFQUFDLElBQUksQ0FBQyxDQUFBO29CQUU3QyxxQkFBTSxJQUFBLGtCQUFLLEVBQUMsSUFBQSxXQUFJLEVBQUMsbUJBQW1CLEVBQUUsWUFBWSxDQUFDLEVBQUUsa0JBQWtCLENBQUMsRUFBQTs7b0JBQXhFLFNBQXdFLENBQUE7OztvQkFHcEUsK0JBQStCLEdBQUcsSUFBQSx5Q0FBc0IsR0FBRSxDQUFBO29CQUNoRSxxQkFBTSxJQUFBLDRCQUFvQixFQUN4QixJQUFBLFdBQUksRUFBQyxtQkFBbUIsRUFBRSxzQkFBc0IsQ0FBQyxFQUNqRCwrQkFBK0IsQ0FDaEM7d0JBRUQsaUJBQWlCO3dCQUNqQixpQ0FBaUM7c0JBSGhDOztvQkFIRCxTQUdDLENBQUE7eUJBSUcsSUFBSSxDQUFDLGNBQWMsRUFBbkIseUJBQW1CO29CQUNmLGtCQUFrQixHQUFHLElBQUEsMkJBQWUsRUFBQyxJQUFJLENBQUMsQ0FBQTtvQkFFMUMsY0FBYyxHQUFHLElBQUEsV0FBSSxFQUFDLG1CQUFtQixFQUFFLFdBQVcsQ0FBQyxDQUFBO29CQUU3RCxxQkFBTSxJQUFBLGtCQUFLLEVBQUMsSUFBQSxXQUFJLEVBQUMsY0FBYyxFQUFFLGVBQWUsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLEVBQUE7O29CQUF0RSxTQUFzRSxDQUFBOzs7eUJBS3BFLElBQUksQ0FBQyxjQUFjLEVBQW5CLHlCQUFtQjtvQkFDZixrQkFBa0IsR0FBRyxJQUFBLG1CQUFlLEdBQUUsQ0FBQTtvQkFFNUMscUJBQU0sSUFBQSw0QkFBb0IsRUFDeEIsSUFBQSxXQUFJLEVBQUMsbUJBQW1CLEVBQUUsZUFBZSxDQUFDLEVBQzFDLGtCQUFrQixDQUNuQixFQUFBOztvQkFIRCxTQUdDLENBQUE7O3lCQUlMLHFCQUFNLElBQUEseUNBQW1CLEVBQUMsSUFBSSxDQUFDLEVBQUE7O29CQUEvQixTQUErQixDQUFBOzs7OztDQUNoQyxDQUFBO0FBRUQsa0JBQWUsZUFBZSxDQUFDIn0=
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.configItemsTmpl = void 0;
4
+ var change_case_1 = require("change-case");
5
+ var utils_1 = require("../../../../../utils");
6
+ var getTSTypeForEnvVar = function (type) {
7
+ switch (type) {
8
+ case 'string':
9
+ return 'string';
10
+ case 'int':
11
+ case 'float':
12
+ return 'number';
13
+ case 'bigint':
14
+ return 'bigint';
15
+ case 'bool':
16
+ return 'boolean';
17
+ case 'datetime':
18
+ case 'date':
19
+ return 'Date';
20
+ default:
21
+ throw new Error("Unknown \"\"".concat(type, " type"));
22
+ }
23
+ };
24
+ var configItemsTmpl = function (_a) {
25
+ var system = _a.system, options = _a.options;
26
+ return "/* eslint-disable max-len */\nimport {EnvVarConfig} from './types';\n".concat(options.skipWarningThisIsGenerated
27
+ ? ''
28
+ : "\n// ".concat(utils_1.generatedWarning), "\n\nexport interface Config {\n env: string;\n ").concat(system.configVars
29
+ .filter(function (v) { return v.scopes.includes('back'); })
30
+ .map(function (v) { return "".concat((0, change_case_1.camelCase)(v.name)).concat(v.required ? '' : '?', ": ").concat(getTSTypeForEnvVar(v.type), ";"); }).join('\n '), "\n}\n\nexport const envVarsConfig: EnvVarConfig[] = [{").concat(system.configVars
31
+ .filter(function (v) { return v.scopes.includes('back'); })
32
+ .map(function (v) { return "\n id: '".concat(v.name, "',\n type: '").concat(v.type, "',\n title: '").concat(v.needFor, "',\n required: ").concat(v.required, ",\n hidden: ").concat(v.hidden, ",\n editable: ").concat(v.editable, ","); })
33
+ .join('\n}, {'), "\n}];\n");
34
+ };
35
+ exports.configItemsTmpl = configItemsTmpl;
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9nZW5lcmF0b3JzL2ZpbGVUZW1wbGF0ZXMvYmFjay9yb290L2NvbmZpZy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQXVDO0FBR3ZDLDhDQUF1RDtBQUd2RCxJQUFNLGtCQUFrQixHQUFHLFVBQUMsSUFBZTtJQUN6QyxRQUFRLElBQUksRUFBRTtRQUNaLEtBQUssUUFBUTtZQUNYLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxPQUFPO1lBQ1YsT0FBTyxRQUFRLENBQUM7UUFDbEIsS0FBSyxRQUFRO1lBQ1gsT0FBTyxRQUFRLENBQUM7UUFDbEIsS0FBSyxNQUFNO1lBQ1QsT0FBTyxTQUFTLENBQUM7UUFDbkIsS0FBSyxVQUFVLENBQUM7UUFDaEIsS0FBSyxNQUFNO1lBQ1QsT0FBTyxNQUFNLENBQUM7UUFDaEI7WUFDRSxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFhLElBQUksVUFBTyxDQUFDLENBQUE7S0FDNUM7QUFDSCxDQUFDLENBQUE7QUFFTSxJQUFNLGVBQWUsR0FBRyxVQUFDLEVBR0o7UUFGMUIsTUFBTSxZQUFBLEVBQ04sT0FBTyxhQUFBO0lBQ3dCLE9BQUEsK0VBRy9CLE9BQU8sQ0FBQywwQkFBMEI7UUFDaEMsQ0FBQyxDQUFDLEVBQUU7UUFDSixDQUFDLENBQUMsZUFDRCx3QkFBZ0IsQ0FBRSw4REFLbkIsTUFBTSxDQUFDLFVBQVU7U0FDaEIsTUFBTSxDQUFDLFVBQUMsQ0FBQyxJQUFLLE9BQUEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQXpCLENBQXlCLENBQUM7U0FDeEMsR0FBRyxDQUFDLFVBQUMsQ0FBQyxJQUFLLE9BQUEsVUFBRyxJQUFBLHVCQUFTLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxlQUFLLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBRyxFQUE5RSxDQUE4RSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtRUFHM0QsTUFBTSxDQUFDLFVBQVU7U0FDL0QsTUFBTSxDQUFDLFVBQUMsQ0FBQyxJQUFLLE9BQUEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQXpCLENBQXlCLENBQUM7U0FDeEMsR0FBRyxDQUFDLFVBQUMsQ0FBQyxJQUFLLE9BQUEsbUJBQ0wsQ0FBQyxDQUFDLElBQUksMEJBQ0osQ0FBQyxDQUFDLElBQUksMkJBQ0wsQ0FBQyxDQUFDLE9BQU8sNkJBQ1AsQ0FBQyxDQUFDLFFBQVEsMEJBQ1osQ0FBQyxDQUFDLE1BQU0sNEJBQ04sQ0FBQyxDQUFDLFFBQVEsTUFBRyxFQU5iLENBTWEsQ0FBQztTQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFlBRWhCO0FBM0JnQyxDQTJCaEMsQ0FBQTtBQTlCWSxRQUFBLGVBQWUsbUJBOEIzQiJ9
@@ -0,0 +1,22 @@
1
+ import { ConfigValue, ConfigVar, ConfigVarScope, FieldType } from './buildedTypes';
2
+ export declare class ConfigVarBuilder<T extends FieldType> {
3
+ name: string;
4
+ type: T;
5
+ required: boolean;
6
+ needFor: string;
7
+ scopes: ConfigVarScope[];
8
+ hidden: boolean;
9
+ editable: boolean;
10
+ default: ConfigValue<T> | undefined;
11
+ constructor(name: string, type: T, required: boolean, def: ConfigValue<T> | undefined, needFor?: string, scopes?: ConfigVarScope[], hidden?: boolean, editable?: boolean);
12
+ build(): ConfigVar<T>;
13
+ setRequired(value?: boolean): this;
14
+ setNeedFor(value?: string): this;
15
+ setScopes(scopes?: ConfigVarScope[]): this;
16
+ addScopes(scope: ConfigVarScope): this;
17
+ delScopes(scope: ConfigVarScope): this;
18
+ setHidden(value?: boolean): this;
19
+ setEditable(value?: boolean): this;
20
+ setSecure(): this;
21
+ setDefValue(def: ConfigValue<T> | undefined): this;
22
+ }
@@ -9,6 +9,7 @@ import RestApiBuilder from './RestApiBuilder';
9
9
  import DeploymentBuilder from './DeploymentBuilder';
10
10
  import RoleBuilder from './RoleBuilder';
11
11
  import TelegramBotBuilder from './TelegramBotBuilder';
12
+ import { ConfigVarBuilder } from './ConfigVarBuilder';
12
13
  export declare const defaultConfigVar: Omit<ConfigVar, 'name' | 'type'>;
13
14
  declare class SystemMetaBuilder {
14
15
  catalogs: EntityBuilderWithOptions<CatalogBuilder>[];
@@ -16,7 +17,7 @@ declare class SystemMetaBuilder {
16
17
  documents: EntityBuilderWithOptions<DocumentBuilder>[];
17
18
  infoRegistries: EntityBuilderWithOptions<InfoRegistryBuilder>[];
18
19
  sumRegistries: EntityBuilderWithOptions<SumRegistryBuilder>[];
19
- configVars: ConfigVar[];
20
+ configVars: ConfigVarBuilder<any>[];
20
21
  glossary: Glossary[];
21
22
  commands: Command[];
22
23
  deployEnvironments: DeployEnvironment[];
@@ -35,8 +36,10 @@ declare class SystemMetaBuilder {
35
36
  setName(name: string): this;
36
37
  setNeedFor(needFor: string): this;
37
38
  setPrefix(prefix: string): this;
38
- addConfigVar<T extends FieldType>(name: string, type: T, required: boolean, def: ConfigValue<T> | undefined, needFor: string, scopes?: ConfigVarScope[]): this;
39
- delConfigVar<T extends FieldType>(name: string): this;
39
+ addConfigVar<T extends FieldType>(name: string, type: T, required: boolean, def: ConfigValue<T> | undefined, needFor: string, scopes?: ConfigVarScope[], hidden?: boolean, editable?: boolean): ConfigVarBuilder<T>;
40
+ delConfigVar(name: string): this;
41
+ getConfigVar(name: string): ConfigVarBuilder<any> | undefined;
42
+ getConfigVarRequired(name: string): ConfigVarBuilder<any>;
40
43
  setConfigVarDefaultValue<T extends FieldType>(name: string, def: ConfigValue<T> | undefined): this;
41
44
  setDefaultValueForConfigVar(name: string, def: string): this;
42
45
  addLanguage(id: string, title?: string): void;
@@ -10,6 +10,8 @@ export interface ConfigVar<T extends FieldType = 'string'> {
10
10
  default: ConfigValue<T>;
11
11
  needFor: string;
12
12
  scopes: ConfigVarScope[];
13
+ hidden: boolean;
14
+ editable: boolean;
13
15
  }
14
16
  export interface Glossary {
15
17
  term: string;
@@ -0,0 +1,3 @@
1
+ import SystemMetaBuilder from '../builders/SystemMetaBuilder';
2
+ declare const addConfigurationVariables: (system: SystemMetaBuilder) => void;
3
+ export default addConfigurationVariables;
@@ -10,3 +10,4 @@ export { default as addRoles } from './addRoles';
10
10
  export { default as addTenants } from './addTenants';
11
11
  export { default as addUsers } from './addUsers';
12
12
  export { default as addUserSettings } from './addUserSettings';
13
+ export { default as addConfigurationVariables } from './addConfigurationVariables';
@@ -0,0 +1,2 @@
1
+ import { ProjectWideGenerationArgs } from '../../../../../args';
2
+ export declare const configItemsTmpl: ({ system, options, }: ProjectWideGenerationArgs) => string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "runlify",
3
- "version": "0.0.511",
3
+ "version": "0.0.512",
4
4
  "description": "runlify CLI",
5
5
  "private": false,
6
6
  "main": "build/index.js",
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.knexGetterTmpl = void 0;
4
- var types_1 = require("../../../../../../types");
5
- var utils_1 = require("../../../../../../utils");
6
- var knexGetterTmpl = function (options) {
7
- if (options === void 0) { options = types_1.defaultBootstrapEntityOptions; }
8
- return "import {getConfig} from '../config';\nimport knex, {Knex} from 'knex';\nimport log from '../log';\nimport {addParamsToDatabaseUri} from '../utils/addParamsToPgUri';\n".concat(options.skipWarningThisIsGenerated
9
- ? ''
10
- : "\n// ".concat(utils_1.generatedWarning, "\n"), "\nlet knexInstance: Knex | null = null;\n\nexport const getKnex = async () => {\n const {databaseMainWriteUri} = await getConfig();\n\n log.info(typeof addParamsToDatabaseUri);\n\n // const url = addParamsToDatabaseUri(databaseMainWriteUri {\n // application_name: appName,\n // ...(process.env.NODE_ENV === 'production' ? {} : {connection_limit: '1'}),\n // });\n\n if (!knexInstance) {\n knexInstance = knex({\n client: 'pg',\n connection: databaseMainWriteUri,\n });\n }\n\n return knexInstance;\n};\n");
11
- };
12
- exports.knexGetterTmpl = knexGetterTmpl;
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia25leC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vZ2VuZXJhdG9ycy9maWxlVGVtcGxhdGVzL2JhY2svZW52aXJvbm1lbnQvc3JjL2NsaWVudHMva25leC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpREFHZ0M7QUFDaEMsaURBQTBEO0FBRW5ELElBQU0sY0FBYyxHQUFHLFVBQzVCLE9BQStEO0lBQS9ELHdCQUFBLEVBQUEsVUFBa0MscUNBQTZCO0lBQzVELE9BQUEsZ0xBS0gsT0FBTyxDQUFDLDBCQUEwQjtRQUNoQyxDQUFDLENBQUMsRUFBRTtRQUNKLENBQUMsQ0FBQyxlQUNELHdCQUFnQixPQUNwQiwwaEJBdUJBO0FBaENJLENBZ0NKLENBQUE7QUFsQ1ksUUFBQSxjQUFjLGtCQWtDMUIifQ==
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configTmpl = void 0;
4
- var change_case_1 = require("change-case");
5
- var utils_1 = require("../../../../../utils");
6
- var getUtilGetterForType = function (type) {
7
- switch (type) {
8
- case 'string':
9
- return 'getStringConfig';
10
- case 'int':
11
- return 'getIntConfig';
12
- case 'bigint':
13
- return 'getBigIntConfig';
14
- case 'float':
15
- return 'getFloatConfig';
16
- case 'bool':
17
- return 'getBooleanConfig';
18
- case 'datetime':
19
- return 'getDateTimeConfig';
20
- case 'date':
21
- return 'getDateConfig';
22
- default:
23
- throw new Error("Unknown \"\"".concat(type, " type"));
24
- }
25
- };
26
- var configTmpl = function (_a) {
27
- var system = _a.system, options = _a.options;
28
- return "/* eslint-disable max-len */\nimport {constantCase} from 'change-case';\nimport nconf from 'nconf';\nimport {exists, read} from 'fs-jetpack';\nimport getConfigUtils from './getConfigUtils';\nimport {ValueBasedOnRequired} from './types';\n".concat(options.skipWarningThisIsGenerated
29
- ? ''
30
- : "\n// ".concat(utils_1.generatedWarning), "\n\nnconf\n .argv()\n .env()\n .file({file: './config/default.json'});\n\nconst developerRunlifyConfig = read('runlify.developer.json', 'json') || 'dev';\n\nconst envName = process.env.ENV || developerRunlifyConfig?.defaultEnvironment;\nconst file = `./config/${envName}.json`;\n\nif (exists(file)) {\n nconf.file({file});\n}\n\nexport const getFromNconf = <T extends boolean>(name: string, required?: T): ValueBasedOnRequired<T, string> => {\n const value = nconf.get(constantCase(name)) || nconf.get(name);\n\n if (required && value === undefined) {\n throw new Error(`Config var \"${name}\" is required`);\n }\n\n return value;\n};\n\nconst utils = getConfigUtils(getFromNconf);\n\nconst envConfig = {\n env: envName,\n ").concat(system.configVars
31
- .filter(function (v) { return v.scopes.includes('back'); })
32
- .map(function (v) { return "".concat((0, change_case_1.camelCase)(v.name), ": utils.").concat(getUtilGetterForType(v.type), "('").concat(v.name, "', ").concat(v.required, "),"); }).join("\n "), "\n};\n\nexport type Config = typeof envConfig;\n\nexport const getConfig = async (): Promise<Config> => envConfig;\n");
33
- };
34
- exports.configTmpl = configTmpl;
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvZmlsZVRlbXBsYXRlcy9iYWNrL3Jvb3QvY29uZmlnL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUF1QztBQUd2Qyw4Q0FBdUQ7QUFFdkQsSUFBTSxvQkFBb0IsR0FBRyxVQUFDLElBQWU7SUFDM0MsUUFBUSxJQUFJLEVBQUU7UUFDWixLQUFLLFFBQVE7WUFDWCxPQUFPLGlCQUFpQixDQUFDO1FBQzNCLEtBQUssS0FBSztZQUNSLE9BQU8sY0FBYyxDQUFDO1FBQ3hCLEtBQUssUUFBUTtZQUNYLE9BQU8saUJBQWlCLENBQUM7UUFDM0IsS0FBSyxPQUFPO1lBQ1YsT0FBTyxnQkFBZ0IsQ0FBQztRQUMxQixLQUFLLE1BQU07WUFDVCxPQUFPLGtCQUFrQixDQUFDO1FBQzVCLEtBQUssVUFBVTtZQUNiLE9BQU8sbUJBQW1CLENBQUM7UUFDN0IsS0FBSyxNQUFNO1lBQ1QsT0FBTyxlQUFlLENBQUM7UUFDekI7WUFDRSxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFhLElBQUksVUFBTyxDQUFDLENBQUE7S0FDNUM7QUFDSCxDQUFDLENBQUE7QUFFTSxJQUFNLFVBQVUsR0FBRyxVQUFDLEVBR0M7UUFGMUIsTUFBTSxZQUFBLEVBQ04sT0FBTyxhQUFBO0lBQ3dCLE9BQUEsd1BBTy9CLE9BQU8sQ0FBQywwQkFBMEI7UUFDaEMsQ0FBQyxDQUFDLEVBQUU7UUFDSixDQUFDLENBQUMsZUFDRCx3QkFBZ0IsQ0FBRSw2dUJBK0JuQixNQUFNLENBQUMsVUFBVTtTQUNoQixNQUFNLENBQUMsVUFBQyxDQUFDLElBQUssT0FBQSxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBekIsQ0FBeUIsQ0FBQztTQUN4QyxHQUFHLENBQUMsVUFBQyxDQUFDLElBQUssT0FBQSxVQUFHLElBQUEsdUJBQVMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFXLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBSyxDQUFDLENBQUMsSUFBSSxnQkFBTSxDQUFDLENBQUMsUUFBUSxPQUFJLEVBQTFGLENBQTBGLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFDOUcsQ0FBQyx5SEFNSDtBQWxEZ0MsQ0FrRGhDLENBQUE7QUFyRFksUUFBQSxVQUFVLGNBcUR0QiJ9
@@ -1,2 +0,0 @@
1
- import { BootstrapEntityOptions } from '../../../../../../types';
2
- export declare const knexGetterTmpl: (options?: BootstrapEntityOptions) => string;
@@ -1,2 +0,0 @@
1
- import { ProjectWideGenerationArgs } from '../../../../../args';
2
- export declare const configTmpl: ({ system, options, }: ProjectWideGenerationArgs) => string;