runlify 0.0.225 → 0.0.227
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/projectsGeneration/builders/SystemMetaBuilder.js +45 -37
- package/build/projectsGeneration/builders/buildedTypes.js +1 -1
- package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsConfiguration.js +3 -3
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/docs/adminAppDocsConfiguration.js +3 -3
- package/build/types/projectsGeneration/builders/SystemMetaBuilder.d.ts +3 -3
- package/build/types/projectsGeneration/builders/buildedTypes.d.ts +5 -3
- package/build/types/projectsGeneration/builders/fields/BaseFieldBuilder.d.ts +3 -3
- package/build/types/projectsGeneration/generators/fieldTypeToTsType.d.ts +2 -2
- package/build/types/projectsGeneration/generators/ui/componentNames/edit/getCompNameToEditScalar.d.ts +2 -2
- package/package.json +1 -1
|
@@ -90,43 +90,43 @@ var SystemMetaBuilder = /** @class */ (function () {
|
|
|
90
90
|
this.defOpts = defOpts;
|
|
91
91
|
this.setPrefix(prefix);
|
|
92
92
|
this.setName(prefix);
|
|
93
|
-
this.addConfigVar('app.name', this.defOpts.projectPrefix, 'Техническое название приложения');
|
|
94
|
-
this.addConfigVar('app.title', this.defOpts.projectName, 'Человеческое название приложения');
|
|
95
|
-
this.addConfigVar('app.environment', 'dev', 'Название окружения');
|
|
96
|
-
this.addConfigVar('database.uri', 'postgresql://postgres:password@localhost:5432', 'Строка подключения к основной базе данных');
|
|
97
|
-
this.addConfigVar('adm.jwt.secret', 'admSecret', 'Секрет для подписи JWT-токенов приложения админки');
|
|
98
|
-
this.addConfigVar('app.jwt.secret', 'appSecret', 'Секрет для подписи JWT-токенов приложения пользователей');
|
|
99
|
-
this.addConfigVar('s3.accessKeyId', '', 'Идентификатор доступа для авторизации в S3');
|
|
100
|
-
this.addConfigVar('s3.secretAccessKey', '', 'Секретный ключ для авторизации в S3');
|
|
101
|
-
this.addConfigVar('admin.recaptcha.secretKey', '', 'Секретный токен рекапчи приложения админки');
|
|
102
|
-
this.addConfigVar('admin.recaptcha.requiredScore', '0.7
|
|
103
|
-
this.addConfigVar('admin.recaptcha.publicKey', '', 'Публичный токен рекапчи приложения админки', ['admin-app']);
|
|
104
|
-
this.addConfigVar('customer.recaptcha.secretKey', '', 'Секретный токен рекапчи приложения пользователя');
|
|
105
|
-
this.addConfigVar('customer.recaptcha.requiredScore', '0.7', 'Требуемый уровень доверия к пользователю');
|
|
106
|
-
this.addConfigVar('customer.recaptcha.publicKey', '', 'Публичный токен рекапчи приложения пользователя', ['cutomer-app']);
|
|
107
|
-
this.addConfigVar('loki.url', '', 'Урл для доступа в Loki. Используется для запроса бизнес-логов');
|
|
108
|
-
this.addConfigVar('logs.format', 'plain', 'Формат логов (plain | json)');
|
|
109
|
-
this.addConfigVar('graphql.playground.enabled', '
|
|
93
|
+
this.addConfigVar('app.name', 'string', this.defOpts.projectPrefix, 'Техническое название приложения');
|
|
94
|
+
this.addConfigVar('app.title', 'string', this.defOpts.projectName, 'Человеческое название приложения');
|
|
95
|
+
this.addConfigVar('app.environment', 'string', 'dev', 'Название окружения');
|
|
96
|
+
this.addConfigVar('database.uri', 'string', 'postgresql://postgres:password@localhost:5432', 'Строка подключения к основной базе данных');
|
|
97
|
+
this.addConfigVar('adm.jwt.secret', 'string', 'admSecret', 'Секрет для подписи JWT-токенов приложения админки');
|
|
98
|
+
this.addConfigVar('app.jwt.secret', 'string', 'appSecret', 'Секрет для подписи JWT-токенов приложения пользователей');
|
|
99
|
+
this.addConfigVar('s3.accessKeyId', 'string', '', 'Идентификатор доступа для авторизации в S3');
|
|
100
|
+
this.addConfigVar('s3.secretAccessKey', 'string', '', 'Секретный ключ для авторизации в S3');
|
|
101
|
+
this.addConfigVar('admin.recaptcha.secretKey', 'string', '', 'Секретный токен рекапчи приложения админки');
|
|
102
|
+
this.addConfigVar('admin.recaptcha.requiredScore', 'float', 0.7, 'Требуемый уровень доверия к пользователю');
|
|
103
|
+
this.addConfigVar('admin.recaptcha.publicKey', 'string', '', 'Публичный токен рекапчи приложения админки', ['admin-app']);
|
|
104
|
+
this.addConfigVar('customer.recaptcha.secretKey', 'string', '', 'Секретный токен рекапчи приложения пользователя');
|
|
105
|
+
this.addConfigVar('customer.recaptcha.requiredScore', 'string', '0.7', 'Требуемый уровень доверия к пользователю');
|
|
106
|
+
this.addConfigVar('customer.recaptcha.publicKey', 'string', '', 'Публичный токен рекапчи приложения пользователя', ['cutomer-app']);
|
|
107
|
+
this.addConfigVar('loki.url', 'string', '', 'Урл для доступа в Loki. Используется для запроса бизнес-логов');
|
|
108
|
+
this.addConfigVar('logs.format', 'string', 'plain', 'Формат логов (plain | json)');
|
|
109
|
+
this.addConfigVar('graphql.playground.enabled', 'bool', true, 'Включение graphql playground (true | false)');
|
|
110
110
|
// kafka
|
|
111
|
-
this.addConfigVar('kafka.brokers', 'localhost:29092;localhost:29094', 'Список kafka блокеров');
|
|
112
|
-
this.addConfigVar('kafka.username', '', 'Username доступа в kafka');
|
|
113
|
-
this.addConfigVar('kafka.password', '', 'Пароль доступа в kafka');
|
|
114
|
-
this.addConfigVar('kafka.enabled', '
|
|
115
|
-
this.addConfigVar('kafka.queue.maxAttemptsSize', '
|
|
116
|
-
this.addConfigVar('kafka.queue.defaultRetryTime', '
|
|
117
|
-
this.addConfigVar('kafka.queue.waitingInterruptTime', '
|
|
118
|
-
this.addConfigVar('kafka.queue.stackSize', '
|
|
119
|
-
this.addConfigVar('kafka.queue.supportedVersion', '1;2', 'Поддерживаемые версии сообщения');
|
|
120
|
-
// this.addConfigVar('kafka.queue.autoCommitInterval', '
|
|
121
|
-
// this.addConfigVar('kafka.queue.autoCommitThreshold', '
|
|
122
|
-
this.addConfigVar('kafka.queue.acks', '
|
|
123
|
-
this.addConfigVar('kafka.ssl.rejectUnauthorized', '
|
|
111
|
+
this.addConfigVar('kafka.brokers', 'string', 'localhost:29092;localhost:29094', 'Список kafka блокеров');
|
|
112
|
+
this.addConfigVar('kafka.username', 'string', '', 'Username доступа в kafka');
|
|
113
|
+
this.addConfigVar('kafka.password', 'string', '', 'Пароль доступа в kafka');
|
|
114
|
+
this.addConfigVar('kafka.enabled', 'bool', false, 'Включние кафки');
|
|
115
|
+
this.addConfigVar('kafka.queue.maxAttemptsSize', 'int', 10, 'Максимальное количество попыток обработки ошибки на сообщение');
|
|
116
|
+
this.addConfigVar('kafka.queue.defaultRetryTime', 'int', 20000, 'Время паузы после первой ошибки, например 20000 мс, потом оно увеличывается экспоненциально с мультипликатором 1.5');
|
|
117
|
+
this.addConfigVar('kafka.queue.waitingInterruptTime', 'int', 60000, 'Время паузы в очереди ожидания, когда она прошла все сообщения, это чтобы она не крутила сообщения покругу без остановки ');
|
|
118
|
+
this.addConfigVar('kafka.queue.stackSize', 'int', 3, 'Количество сообщений, обрабатываемых параллельно');
|
|
119
|
+
this.addConfigVar('kafka.queue.supportedVersion', 'string', '1;2', 'Поддерживаемые версии сообщения');
|
|
120
|
+
// this.addConfigVar('kafka.queue.autoCommitInterval', 'int', 10000, 'Потребитель будет фиксировать смещения по истечении заданного периода, например, пяти секунд. Значение в миллисекундах ');
|
|
121
|
+
// this.addConfigVar('kafka.queue.autoCommitThreshold', 'int', 1000, 'Потребитель будет фиксировать смещения после разрешения заданного количества сообщений, например тысячи сообщений');
|
|
122
|
+
this.addConfigVar('kafka.queue.acks', 'int', 1, '`-1`(all) все несинхронизированные реплики должны подтвердить (по умолчанию), `0` нет подтверждений, `1` только ждет подтверждения лидера');
|
|
123
|
+
this.addConfigVar('kafka.ssl.rejectUnauthorized', 'bool', false, 'Запрещать невалидный ssl сертификат');
|
|
124
124
|
// es
|
|
125
|
-
this.addConfigVar('es.cloudId', '', 'Идентификатор аккаунта в облачном сервисе ElasticSearch');
|
|
126
|
-
this.addConfigVar('es.username', '', 'Пользователь для авторизации в облачном сервисе ElasticSearch');
|
|
127
|
-
this.addConfigVar('es.password', '', 'Пароль для авторизации в облачном сервисе ElasticSearch');
|
|
128
|
-
this.addConfigVar('es.node', 'http://localhost:9200', 'Нода эластика');
|
|
129
|
-
this.addConfigVar('es.tls.rejectUnauthorized', '
|
|
125
|
+
this.addConfigVar('es.cloudId', 'string', '', 'Идентификатор аккаунта в облачном сервисе ElasticSearch');
|
|
126
|
+
this.addConfigVar('es.username', 'string', '', 'Пользователь для авторизации в облачном сервисе ElasticSearch');
|
|
127
|
+
this.addConfigVar('es.password', 'string', '', 'Пароль для авторизации в облачном сервисе ElasticSearch');
|
|
128
|
+
this.addConfigVar('es.node', 'string', 'http://localhost:9200', 'Нода эластика');
|
|
129
|
+
this.addConfigVar('es.tls.rejectUnauthorized', 'bool', false, 'Запрещать невалидный ssl сертификат');
|
|
130
130
|
this.addDeployEnvironment('stage', 'stage');
|
|
131
131
|
this.addDeployEnvironment('prod', 'stage');
|
|
132
132
|
this.addLanguage('en');
|
|
@@ -156,13 +156,21 @@ var SystemMetaBuilder = /** @class */ (function () {
|
|
|
156
156
|
this.prefix = prefix;
|
|
157
157
|
return this;
|
|
158
158
|
};
|
|
159
|
-
|
|
159
|
+
// | 'string'
|
|
160
|
+
// | 'int'
|
|
161
|
+
// | 'bigint'
|
|
162
|
+
// | 'float'
|
|
163
|
+
// | 'bool'
|
|
164
|
+
// | 'datetime'
|
|
165
|
+
// | 'date'
|
|
166
|
+
SystemMetaBuilder.prototype.addConfigVar = function (name, type, def, needFor, scopes) {
|
|
160
167
|
if (scopes === void 0) { scopes = ['back', 'worker', 'telegramBot']; }
|
|
161
168
|
if (this.configVars.some(function (v) { return v.name === name; })) {
|
|
162
169
|
throw new Error("\"".concat(name, "\" config var already exists"));
|
|
163
170
|
}
|
|
164
171
|
this.configVars.push(R.mergeDeepLeft({
|
|
165
172
|
name: name,
|
|
173
|
+
type: type,
|
|
166
174
|
default: def,
|
|
167
175
|
needFor: needFor,
|
|
168
176
|
scopes: scopes,
|
|
@@ -383,4 +391,4 @@ var SystemMetaBuilder = /** @class */ (function () {
|
|
|
383
391
|
return SystemMetaBuilder;
|
|
384
392
|
}());
|
|
385
393
|
exports.default = SystemMetaBuilder;
|
|
386
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3lzdGVtTWV0YUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2J1aWxkZXJzL1N5c3RlbU1ldGFCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrQ0FLaUI7QUFDakIsb0VBQTZDO0FBQzdDLHNFQUErQztBQUMvQyw2REFBMkQ7QUFDM0QsNEVBQTBFO0FBVzFFLGtEQUEwRDtBQUMxRCx1Q0FBMEI7QUFDMUIsa0VBQTJDO0FBQzNDLG9FQUE2QztBQUM3QyxrRUFBMkM7QUFFM0MsNEVBQXFEO0FBRXhDLFFBQUEsZ0JBQWdCLEdBQTRCO0lBQ3ZELE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLEVBQUU7SUFDWCxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQztDQUMxQyxDQUFBO0FBRUQ7SUF5QkUsY0FBYztJQUNkLDJCQUNFLE1BQWMsRUFDZCxPQUErRCxFQUMvRCxlQUFzQjtRQUR0Qix3QkFBQSxFQUFBLFVBQWtDLHFDQUE2QjtRQUMvRCxnQ0FBQSxFQUFBLHNCQUFzQjtRQTVCeEIsYUFBUSxHQUErQyxFQUFFLENBQUE7UUFDekQsWUFBTyxHQUE4QyxFQUFFLENBQUE7UUFDdkQsY0FBUyxHQUFnRCxFQUFFLENBQUE7UUFDM0QsbUJBQWMsR0FBb0QsRUFBRSxDQUFBO1FBQ3BFLGtCQUFhLEdBQW1ELEVBQUUsQ0FBQTtRQUNsRSxlQUFVLEdBQWdCLEVBQUUsQ0FBQTtRQUM1QixhQUFRLEdBQWUsRUFBRSxDQUFBO1FBQ3pCLGFBQVEsR0FBYyxFQUFFLENBQUE7UUFDeEIsdUJBQWtCLEdBQXdCLEVBQUUsQ0FBQTtRQUM1QyxpQkFBWSxHQUF5QixFQUFFLENBQUE7UUFDdkMsY0FBUyxHQUFhLEVBQUUsQ0FBQTtRQUN4QixhQUFRLEdBQXFC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
|
|
394
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3lzdGVtTWV0YUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2J1aWxkZXJzL1N5c3RlbU1ldGFCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrQ0FLaUI7QUFDakIsb0VBQTZDO0FBQzdDLHNFQUErQztBQUMvQyw2REFBMkQ7QUFDM0QsNEVBQTBFO0FBYTFFLGtEQUEwRDtBQUMxRCx1Q0FBMEI7QUFDMUIsa0VBQTJDO0FBQzNDLG9FQUE2QztBQUM3QyxrRUFBMkM7QUFFM0MsNEVBQXFEO0FBRXhDLFFBQUEsZ0JBQWdCLEdBQXFDO0lBQ2hFLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLEVBQUU7SUFDWCxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQztDQUMxQyxDQUFBO0FBRUQ7SUF5QkUsY0FBYztJQUNkLDJCQUNFLE1BQWMsRUFDZCxPQUErRCxFQUMvRCxlQUFzQjtRQUR0Qix3QkFBQSxFQUFBLFVBQWtDLHFDQUE2QjtRQUMvRCxnQ0FBQSxFQUFBLHNCQUFzQjtRQTVCeEIsYUFBUSxHQUErQyxFQUFFLENBQUE7UUFDekQsWUFBTyxHQUE4QyxFQUFFLENBQUE7UUFDdkQsY0FBUyxHQUFnRCxFQUFFLENBQUE7UUFDM0QsbUJBQWMsR0FBb0QsRUFBRSxDQUFBO1FBQ3BFLGtCQUFhLEdBQW1ELEVBQUUsQ0FBQTtRQUNsRSxlQUFVLEdBQWdCLEVBQUUsQ0FBQTtRQUM1QixhQUFRLEdBQWUsRUFBRSxDQUFBO1FBQ3pCLGFBQVEsR0FBYyxFQUFFLENBQUE7UUFDeEIsdUJBQWtCLEdBQXdCLEVBQUUsQ0FBQTtRQUM1QyxpQkFBWSxHQUF5QixFQUFFLENBQUE7UUFDdkMsY0FBUyxHQUFhLEVBQUUsQ0FBQTtRQUN4QixhQUFRLEdBQXFC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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,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlZFR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9idWlsZGVycy9idWlsZGVkVHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBdUVBLElBQVksT0FNWDtBQU5ELFdBQVksT0FBTztJQUNqQiw0QkFBaUIsQ0FBQTtJQUNqQiw0QkFBaUIsQ0FBQTtJQUNqQiw0QkFBaUIsQ0FBQTtJQUNqQiw4QkFBbUIsQ0FBQTtJQUNuQix3QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQU5XLE9BQU8sR0FBUCxlQUFPLEtBQVAsZUFBTyxRQU1sQjtBQTBGRCxJQUFZLFVBTVg7QUFORCxXQUFZLFVBQVU7SUFDcEIsNkJBQWUsQ0FBQTtJQUNmLHFDQUF1QixDQUFBO0lBQ3ZCLG1DQUFxQixDQUFBO0lBQ3JCLG1DQUFxQixDQUFBO0lBQ3JCLDJCQUFhLENBQUE7QUFDZixDQUFDLEVBTlcsVUFBVSxHQUFWLGtCQUFVLEtBQVYsa0JBQVUsUUFNckIifQ==
|
|
@@ -20,8 +20,8 @@ var backDocsConfiguration = function (_a) {
|
|
|
20
20
|
var system = _a.system;
|
|
21
21
|
var backVars = system.configVars.filter(function (v) { return v.scopes.includes('back'); });
|
|
22
22
|
return "\n# Configuration\n\nProject takes configurations from two places: from config files in `projectRoot/config` folder and from environment variables.\n\nEnvironment variables takes precedence.\n\n## Loading from files\n\nThere is two files, configuration will be loaded from: `default.json` and `${ENV}.json` where `${ENV}` is `ENV` environment variable or `dev` if `ENV` environment variable is not set.\n\nIf both files exists they will be merged. `${ENV}.json` takes precedence.\n\n> **_WARNING:_** `default.json` stored in git so do not put secret information in there (database credentials, passwords, etc.)\n\n## Configuration variables\n\n".concat((0, markdown_table_1.default)(__spreadArray([
|
|
23
|
-
['Key in file', 'Environment', '
|
|
24
|
-
], backVars.map(function (v) { return [v.name, (0, change_case_1.constantCase)(v.name), v.needFor]; }), true)), "\n");
|
|
23
|
+
['Key in file', 'Environment', 'Type', 'Default value', 'Need for']
|
|
24
|
+
], backVars.map(function (v) { return [v.name, (0, change_case_1.constantCase)(v.name), v.type, v.default, v.needFor]; }), true)), "\n");
|
|
25
25
|
};
|
|
26
26
|
exports.backDocsConfiguration = backDocsConfiguration;
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja0RvY3NDb25maWd1cmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9nZW5lcmF0b3JzL2ZpbGVUZW1wbGF0ZXMvYmFjay9lbnZpcm9ubWVudC9kb2NzL2JhY2tEb2NzQ29uZmlndXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSw0QkFBNEI7QUFDNUIsMkNBQTBDO0FBQzFDLGtFQUEwQztBQUduQyxJQUFNLHFCQUFxQixHQUFHLFVBQUMsRUFFVjtRQUQxQixNQUFNLFlBQUE7SUFFTixJQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFDLENBQUMsSUFBSyxPQUFBLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUF6QixDQUF5QixDQUFDLENBQUE7SUFFM0UsT0FBTywrb0JBaUJQLElBQUEsd0JBQWE7UUFDYixDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxVQUFVLENBQUM7T0FDaEUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFDLENBQUMsSUFBSyxPQUFBLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFBLDBCQUFZLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQTVELENBQTRELENBQUMsUUFDcEYsT0FDRCxDQUFBO0FBQ0QsQ0FBQyxDQUFBO0FBM0JZLFFBQUEscUJBQXFCLHlCQTJCakMifQ==
|
|
@@ -22,8 +22,8 @@ var adminAppDocsConfiguration = function (_a) {
|
|
|
22
22
|
return v.scopes.includes('admin-app');
|
|
23
23
|
});
|
|
24
24
|
return "\n# Configuration\n\nProject takes configurations from two places: from config files in `projectRoot/config` folder and from environment variables.\n\nEnvironment variables takes precedence.\n\n## Loading from files\n\nThere is two files, configuration will be loaded from: `default.json` and `${ENV}.json` where `${ENV}` is `ENV` environment variable or `dev` if `ENV` environment variable is not set.\n\nIf both files exists they will be merged. `${ENV}.json` takes precedence.\n\n> **_WARNING:_** `default.json` stored in git so do not put secret information in there (database credentials, passwords, etc.)\n\n## Configuration variables\n\n".concat((0, markdown_table_1.default)(__spreadArray([
|
|
25
|
-
['Key in file', 'Environment', '
|
|
26
|
-
], adminVars.map(function (v) { return [v.name, (0, change_case_1.constantCase)(v.name), v.needFor]; }), true)), "\n");
|
|
25
|
+
['Key in file', 'Environment', 'Type', 'Default value', 'Need for']
|
|
26
|
+
], adminVars.map(function (v) { return [v.name, (0, change_case_1.constantCase)(v.name), v.type, v.default, v.needFor]; }), true)), "\n");
|
|
27
27
|
};
|
|
28
28
|
exports.adminAppDocsConfiguration = adminAppDocsConfiguration;
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW5BcHBEb2NzQ29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vZ2VuZXJhdG9ycy9maWxlVGVtcGxhdGVzL3VpL2Vudmlyb25tZW50L2RvY3MvYWRtaW5BcHBEb2NzQ29uZmlndXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSw0QkFBNEI7QUFDNUIsMkNBQTBDO0FBQzFDLGtFQUEwQztBQUduQyxJQUFNLHlCQUF5QixHQUFHLFVBQUMsRUFFZDtRQUQxQixNQUFNLFlBQUE7SUFFTixJQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFDLENBQUM7UUFDM0MsT0FBQSxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7SUFBOUIsQ0FBOEIsQ0FDL0IsQ0FBQTtJQUVELE9BQU8sK29CQWlCUCxJQUFBLHdCQUFhO1FBQ2IsQ0FBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDO09BQ2hFLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBQyxDQUFDLElBQUssT0FBQSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBQSwwQkFBWSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUE1RCxDQUE0RCxDQUFDLFFBQ3JGLE9BQ0QsQ0FBQTtBQUNELENBQUMsQ0FBQTtBQTdCWSxRQUFBLHlCQUF5Qiw2QkE2QnJDIn0=
|
|
@@ -3,13 +3,13 @@ import CatalogBuilder from './CatalogBuilder';
|
|
|
3
3
|
import DocumentBuilder from './DocumentBuilder';
|
|
4
4
|
import { InfoRegistryBuilder } from './InfoRegistryBuilder';
|
|
5
5
|
import SumRegistryBuilder, { RegistryOptions } from './SumRegistryBuilder';
|
|
6
|
-
import { Command, ConfigVar, ConfigVarScope, DeployEnvironment, Glossary, MemoryAndCpu, ProjectCategory, System } from './buildedTypes';
|
|
6
|
+
import { Command, ConfigValue, ConfigVar, ConfigVarScope, DeployEnvironment, FieldType, Glossary, MemoryAndCpu, ProjectCategory, System } from './buildedTypes';
|
|
7
7
|
import ReportBuilder from './ReportBuilder';
|
|
8
8
|
import RestApiBuilder from './RestApiBuilder';
|
|
9
9
|
import WorkerBuilder from './WorkerBuilder';
|
|
10
10
|
import RoleBuilder from './RoleBuilder';
|
|
11
11
|
import TelegramBotBuilder from './TelegramBotBuilder';
|
|
12
|
-
export declare const defaultConfigVar: Omit<ConfigVar, 'name'>;
|
|
12
|
+
export declare const defaultConfigVar: Omit<ConfigVar, 'name' | 'type'>;
|
|
13
13
|
declare class SystemMetaBuilder {
|
|
14
14
|
catalogs: EntityBuilderWithOptions<CatalogBuilder>[];
|
|
15
15
|
reports: EntityBuilderWithOptions<ReportBuilder>[];
|
|
@@ -36,7 +36,7 @@ declare class SystemMetaBuilder {
|
|
|
36
36
|
setName(name: string): this;
|
|
37
37
|
setNeedFor(needFor: string): this;
|
|
38
38
|
setPrefix(prefix: string): this;
|
|
39
|
-
addConfigVar(name: string,
|
|
39
|
+
addConfigVar<T extends FieldType>(name: string, type: T, def: ConfigValue<T>, needFor: string, scopes?: ConfigVarScope[]): this;
|
|
40
40
|
setDefaultValueForConfigVar(name: string, def: string): this;
|
|
41
41
|
addLanguage(language: string): void;
|
|
42
42
|
setDefailtLanguage(language: string): void;
|
|
@@ -2,9 +2,11 @@ import { HttpMethod } from './curlTypes';
|
|
|
2
2
|
import { DocumentationOfDocument } from './docs/DocumentationOfDocument';
|
|
3
3
|
import { Forms } from './ui/Forms';
|
|
4
4
|
export declare type ConfigVarScope = 'back' | 'admin-app' | 'cutomer-app' | 'worker' | 'telegramBot';
|
|
5
|
-
export
|
|
5
|
+
export declare type ConfigValue<T extends FieldType> = T extends 'string' ? string : T extends 'int' | 'float' ? number : T extends 'bigint' ? bigint : T extends 'bool' ? boolean : Date;
|
|
6
|
+
export interface ConfigVar<T extends FieldType = 'string'> {
|
|
6
7
|
name: string;
|
|
7
|
-
|
|
8
|
+
type: T;
|
|
9
|
+
default: ConfigValue<T>;
|
|
8
10
|
needFor: string;
|
|
9
11
|
scopes: ConfigVarScope[];
|
|
10
12
|
}
|
|
@@ -20,7 +22,7 @@ export interface Command {
|
|
|
20
22
|
needFor: string;
|
|
21
23
|
}
|
|
22
24
|
export declare type TKeyFieldType = 'string' | 'int' | 'bigint';
|
|
23
|
-
export declare type
|
|
25
|
+
export declare type FieldType = 'string' | 'int' | 'bigint' | 'float' | 'bool' | 'datetime' | 'date';
|
|
24
26
|
export declare type Meaning = 'img';
|
|
25
27
|
export declare enum TsTypes {
|
|
26
28
|
Number = "number",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Meaning,
|
|
1
|
+
import { Meaning, FieldType, DefaultDbValue, StringType } from '../buildedTypes';
|
|
2
2
|
export declare abstract class BaseFieldBuilder {
|
|
3
3
|
defaultLanguage: string;
|
|
4
4
|
category: 'trivial' | 'link';
|
|
5
|
-
type:
|
|
5
|
+
type: FieldType;
|
|
6
6
|
meaning?: Meaning;
|
|
7
7
|
name: string;
|
|
8
8
|
stringType: StringType;
|
|
@@ -29,7 +29,7 @@ export declare abstract class BaseFieldBuilder {
|
|
|
29
29
|
setNeedFor(needFor: string): this;
|
|
30
30
|
setTitle(title: string, language?: string): this;
|
|
31
31
|
setTitles(title: Record<string, string>): this;
|
|
32
|
-
setType(type:
|
|
32
|
+
setType(type: FieldType): this;
|
|
33
33
|
setStringType(stringType: StringType): this;
|
|
34
34
|
setMeaning(meaning: Meaning): this;
|
|
35
35
|
setRequiredOnInput(value: boolean, defaultValueExpression?: string): this;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const fieldTypeToTsType: (type:
|
|
1
|
+
import { FieldType, TsTypes } from '../builders/buildedTypes';
|
|
2
|
+
export declare const fieldTypeToTsType: (type: FieldType) => TsTypes;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FieldType } from '../../../../builders/buildedTypes';
|
|
2
2
|
import { EditComponentName } from '../types';
|
|
3
|
-
export declare const getCompNameToEditScalar: (type:
|
|
3
|
+
export declare const getCompNameToEditScalar: (type: FieldType) => EditComponentName;
|