@steroidsjs/nest 4.2.1 → 4.4.0
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/infrastructure/adapters/QueryAdapterTypeORM.js +2 -1
- package/infrastructure/adapters/QueryAdapterTypeORM.js.map +1 -1
- package/infrastructure/applications/BaseApplication.js +2 -1
- package/infrastructure/applications/BaseApplication.js.map +1 -1
- package/infrastructure/applications/rest/IRestAppModuleConfig.d.ts +4 -0
- package/infrastructure/applications/rest/RestApplication.d.ts +10 -0
- package/infrastructure/applications/rest/RestApplication.js +23 -6
- package/infrastructure/applications/rest/RestApplication.js.map +1 -1
- package/infrastructure/commands/MigrateCommand.d.ts +0 -1
- package/infrastructure/commands/MigrateCommand.js +0 -34
- package/infrastructure/commands/MigrateCommand.js.map +1 -1
- package/infrastructure/commands/generate/index.d.ts +6 -6
- package/infrastructure/commands/generate/index.js +7 -39
- package/infrastructure/commands/generate/index.js.map +1 -1
- package/infrastructure/decorators/Transform.d.ts +2 -2
- package/infrastructure/decorators/fields/BaseField.d.ts +15 -47
- package/infrastructure/decorators/fields/BaseField.js +36 -105
- package/infrastructure/decorators/fields/BaseField.js.map +1 -1
- package/infrastructure/decorators/fields/BooleanField.js +1 -1
- package/infrastructure/decorators/fields/BooleanField.js.map +1 -1
- package/infrastructure/decorators/fields/ComputableField.js +0 -1
- package/infrastructure/decorators/fields/ComputableField.js.map +1 -1
- package/infrastructure/decorators/fields/CoordinateField.js +1 -1
- package/infrastructure/decorators/fields/CoordinateField.js.map +1 -1
- package/infrastructure/decorators/fields/CreateTimeField.js +1 -1
- package/infrastructure/decorators/fields/CreateTimeField.js.map +1 -1
- package/infrastructure/decorators/fields/DateField.js +1 -1
- package/infrastructure/decorators/fields/DateField.js.map +1 -1
- package/infrastructure/decorators/fields/DateTimeField.js +2 -2
- package/infrastructure/decorators/fields/DateTimeField.js.map +1 -1
- package/infrastructure/decorators/fields/DecimalField.js +1 -1
- package/infrastructure/decorators/fields/DecimalField.js.map +1 -1
- package/infrastructure/decorators/fields/DecimalNumberField.js +1 -1
- package/infrastructure/decorators/fields/DecimalNumberField.js.map +1 -1
- package/infrastructure/decorators/fields/DeleteDateField.js +1 -1
- package/infrastructure/decorators/fields/DeleteDateField.js.map +1 -1
- package/infrastructure/decorators/fields/EmailField.js +1 -1
- package/infrastructure/decorators/fields/EmailField.js.map +1 -1
- package/infrastructure/decorators/fields/EnumField.js +1 -1
- package/infrastructure/decorators/fields/EnumField.js.map +1 -1
- package/infrastructure/decorators/fields/FileField.js +1 -1
- package/infrastructure/decorators/fields/FileField.js.map +1 -1
- package/infrastructure/decorators/fields/GeometryField.d.ts +2 -0
- package/infrastructure/decorators/fields/GeometryField.js +2 -1
- package/infrastructure/decorators/fields/GeometryField.js.map +1 -1
- package/infrastructure/decorators/fields/HtmlField.js +1 -1
- package/infrastructure/decorators/fields/HtmlField.js.map +1 -1
- package/infrastructure/decorators/fields/IntegerField.js +1 -1
- package/infrastructure/decorators/fields/IntegerField.js.map +1 -1
- package/infrastructure/decorators/fields/JSONBField.d.ts +4 -1
- package/infrastructure/decorators/fields/JSONBField.js +2 -2
- package/infrastructure/decorators/fields/JSONBField.js.map +1 -1
- package/infrastructure/decorators/fields/PasswordField.js +1 -1
- package/infrastructure/decorators/fields/PasswordField.js.map +1 -1
- package/infrastructure/decorators/fields/PhoneField.js +1 -1
- package/infrastructure/decorators/fields/PhoneField.js.map +1 -1
- package/infrastructure/decorators/fields/PrimaryKeyField.js +1 -1
- package/infrastructure/decorators/fields/PrimaryKeyField.js.map +1 -1
- package/infrastructure/decorators/fields/RelationField.d.ts +6 -4
- package/infrastructure/decorators/fields/RelationField.js +5 -8
- package/infrastructure/decorators/fields/RelationField.js.map +1 -1
- package/infrastructure/decorators/fields/RelationIdField.js +1 -1
- package/infrastructure/decorators/fields/RelationIdField.js.map +1 -1
- package/infrastructure/decorators/fields/StringField.js +1 -1
- package/infrastructure/decorators/fields/StringField.js.map +1 -1
- package/infrastructure/decorators/fields/TextField.js +1 -1
- package/infrastructure/decorators/fields/TextField.js.map +1 -1
- package/infrastructure/decorators/fields/TimeField.js +1 -1
- package/infrastructure/decorators/fields/TimeField.js.map +1 -1
- package/infrastructure/decorators/fields/UidField.js +1 -1
- package/infrastructure/decorators/fields/UidField.js.map +1 -1
- package/infrastructure/decorators/fields/UpdateTimeField.js +1 -1
- package/infrastructure/decorators/fields/UpdateTimeField.js.map +1 -1
- package/infrastructure/decorators/fields/helpers/InternalFieldMetadataHelpers.d.ts +27 -0
- package/infrastructure/decorators/fields/helpers/InternalFieldMetadataHelpers.js +104 -0
- package/infrastructure/decorators/fields/helpers/InternalFieldMetadataHelpers.js.map +1 -0
- package/infrastructure/decorators/typeorm/TypeOrmDecoratorFactory.d.ts +3 -2
- package/infrastructure/decorators/typeorm/TypeOrmDecoratorFactory.js.map +1 -1
- package/infrastructure/decorators/typeorm/TypeOrmTableFromModel.js.map +1 -1
- package/infrastructure/decorators/typeorm/fields/TypeOrmBooleanField/index.js +1 -1
- package/infrastructure/decorators/typeorm/fields/TypeOrmBooleanField/index.js.map +1 -1
- package/infrastructure/decorators/typeorm/fields/TypeOrmUidField/index.js +1 -1
- package/infrastructure/decorators/typeorm/fields/TypeOrmUidField/index.js.map +1 -1
- package/infrastructure/filters/UserExceptionFilter.d.ts +1 -0
- package/infrastructure/filters/UserExceptionFilter.js +1 -0
- package/infrastructure/filters/UserExceptionFilter.js.map +1 -1
- package/infrastructure/pipes/CreateDtoPipe.d.ts +5 -1
- package/infrastructure/pipes/CreateDtoPipe.js +23 -4
- package/infrastructure/pipes/CreateDtoPipe.js.map +1 -1
- package/infrastructure/pipes/CreateDtoPipe.test.d.ts +1 -0
- package/infrastructure/pipes/CreateDtoPipe.test.js +98 -0
- package/infrastructure/pipes/CreateDtoPipe.test.js.map +1 -0
- package/package.json +6 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/usecases/base/SearchQuery.d.ts +11 -0
- package/usecases/base/SearchQuery.js +36 -19
- package/usecases/base/SearchQuery.js.map +1 -1
- package/usecases/base/SearchQuery.test.d.ts +1 -0
- package/usecases/base/SearchQuery.test.js +102 -0
- package/usecases/base/SearchQuery.test.js.map +1 -0
- package/usecases/exceptions/UserException.d.ts +1 -0
- package/usecases/exceptions/UserException.js +1 -0
- package/usecases/exceptions/UserException.js.map +1 -1
- package/usecases/helpers/DataMapper.js +13 -8
- package/usecases/helpers/DataMapper.js.map +1 -1
- package/usecases/helpers/getMetaRelationsFromObject.d.ts +2 -0
- package/usecases/helpers/getMetaRelationsFromObject.js +53 -0
- package/usecases/helpers/getMetaRelationsFromObject.js.map +1 -0
- package/usecases/helpers/getMetaRelationsFromObject.test.d.ts +1 -0
- package/usecases/helpers/getMetaRelationsFromObject.test.js +327 -0
- package/usecases/helpers/getMetaRelationsFromObject.test.js.map +1 -0
- package/usecases/services/CrudService.js +5 -1
- package/usecases/services/CrudService.js.map +1 -1
- package/usecases/utils/wrapInDoubleQuotes.d.ts +1 -0
- package/usecases/utils/wrapInDoubleQuotes.js +15 -0
- package/usecases/utils/wrapInDoubleQuotes.js.map +1 -0
- package/infrastructure/utils/getNewPermissions.d.ts +0 -2
- package/infrastructure/utils/getNewPermissions.js +0 -18
- package/infrastructure/utils/getNewPermissions.js.map +0 -1
|
@@ -176,8 +176,9 @@ class QueryAdapterTypeORM {
|
|
|
176
176
|
const parentPath = path.split('.').slice(0, -1).join('.');
|
|
177
177
|
const relationName = path.split('.').slice(-1).join('.');
|
|
178
178
|
const options = (0, BaseField_1.getFieldOptions)(classesMap[parentPath], relationName);
|
|
179
|
+
const appType = (0, BaseField_1.getFieldAppType)(classesMap[parentPath], relationName);
|
|
179
180
|
if (options) {
|
|
180
|
-
if (
|
|
181
|
+
if (appType === 'relation') {
|
|
181
182
|
classesMap[path] = options.relationClass();
|
|
182
183
|
}
|
|
183
184
|
const property = relationToAliasMap[parentPath] + '.' + relationName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryAdapterTypeORM.js","sourceRoot":"","sources":["../../../src/infrastructure/adapters/QueryAdapterTypeORM.ts"],"names":[],"mappings":";;;AAAA,mCAAuC;AAGvC,sFAAiF;AACjF,
|
|
1
|
+
{"version":3,"file":"QueryAdapterTypeORM.js","sourceRoot":"","sources":["../../../src/infrastructure/adapters/QueryAdapterTypeORM.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,8 +47,9 @@ class BaseApplication {
|
|
|
47
47
|
* only on `uncaughtException` the process will be exited, but on `unhandledRejection` it will continue to work.
|
|
48
48
|
*/
|
|
49
49
|
initSentry() {
|
|
50
|
+
var _a;
|
|
50
51
|
const config = ModuleHelper_1.ModuleHelper.getConfig(AppModule_1.AppModule);
|
|
51
|
-
if (!config.sentry) {
|
|
52
|
+
if (!((_a = config.sentry) === null || _a === void 0 ? void 0 : _a.dsn)) {
|
|
52
53
|
return;
|
|
53
54
|
}
|
|
54
55
|
Sentry.init({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseApplication.js","sourceRoot":"","sources":["../../../src/infrastructure/applications/BaseApplication.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AACjC,yCAAyC;AACzC,0DAAqD;AACrD,2CAAsC;AAGtC;;GAEG;AACH,MAAsB,eAAe;IAOjC;;;;OAIG;IACO,KAAK,CAAC,IAAI;QAChB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED;;;;;;OAMG;IACO,OAAO;QACb,MAAM,CAAC,MAAM,EAAE,CAAC;QAEhB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC/D;IACL,CAAC;IAED;;;;OAIG;IACO,UAAU;IAEpB,CAAC;IAED;;;;;OAKG;IACO,UAAU
|
|
1
|
+
{"version":3,"file":"BaseApplication.js","sourceRoot":"","sources":["../../../src/infrastructure/applications/BaseApplication.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AACjC,yCAAyC;AACzC,0DAAqD;AACrD,2CAAsC;AAGtC;;GAEG;AACH,MAAsB,eAAe;IAOjC;;;;OAIG;IACO,KAAK,CAAC,IAAI;QAChB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED;;;;;;OAMG;IACO,OAAO;QACb,MAAM,CAAC,MAAM,EAAE,CAAC;QAEhB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC/D;IACL,CAAC;IAED;;;;OAIG;IACO,UAAU;IAEpB,CAAC;IAED;;;;;OAKG;IACO,UAAU;;QAChB,MAAM,MAAM,GAAG,2BAAY,CAAC,SAAS,CAAmB,qBAAS,CAAC,CAAC;QAEnE,IAAI,CAAC,CAAA,MAAA,MAAM,CAAC,MAAM,0CAAE,GAAG,CAAA,EAAE;YACrB,OAAO;SACV;QAED,MAAM,CAAC,IAAI,CAAC;YACR,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG;YACtB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW;YACtC,YAAY,EAAE;gBACV,MAAM,CAAC,8BAA8B,CAAC;oBAClC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;wBACxB,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,EAAE;4BAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;yBACpB;6BAAM;4BACH,MAAM,CAAC,eAAe,EAAE;iCACnB,SAAS,EAAE;iCACX,gBAAgB,CAAC,GAAG,CAAC,CAAC;4BAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;yBACnB;oBACL,CAAC;iBACJ,CAAC;gBACF,MAAM,CAAC,+BAA+B,CAAC;oBACnC,IAAI,EAAE,MAAM;iBACf,CAAC;aACL;SACJ,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACO,WAAW;QACjB,2BAAY,CAAC,eAAe,EAAE,CAAC;IACnC,CAAC;CAMJ;AA5FD,0CA4FC"}
|
|
@@ -29,6 +29,11 @@ export declare class RestApplication extends BaseApplication {
|
|
|
29
29
|
* @protected
|
|
30
30
|
*/
|
|
31
31
|
protected initConfig(): void;
|
|
32
|
+
/**
|
|
33
|
+
* Set global prefix with versioning
|
|
34
|
+
* @protected
|
|
35
|
+
*/
|
|
36
|
+
protected initRouting(): void;
|
|
32
37
|
/**
|
|
33
38
|
* Initialize Swagger to generate API documentation.
|
|
34
39
|
* Documentation will be available at the `/api/docs` endpoint.
|
|
@@ -74,6 +79,11 @@ export declare class RestApplication extends BaseApplication {
|
|
|
74
79
|
* @protected
|
|
75
80
|
*/
|
|
76
81
|
protected createApp(): Promise<void>;
|
|
82
|
+
/**
|
|
83
|
+
* Init cookie-parser for comfortable working with cookie.
|
|
84
|
+
* @protected
|
|
85
|
+
*/
|
|
86
|
+
protected initCookieParser(): void;
|
|
77
87
|
/**
|
|
78
88
|
* Initializes the project.
|
|
79
89
|
* Applies all `init*` methods, and also creates an application instance using `NestFactory.create`.
|
|
@@ -3,8 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.RestApplication = void 0;
|
|
4
4
|
const core_1 = require("@nestjs/core");
|
|
5
5
|
const body_parser_1 = require("body-parser");
|
|
6
|
+
const cookieParser = require("cookie-parser");
|
|
6
7
|
const swagger_1 = require("@nestjs/swagger");
|
|
7
8
|
const common_1 = require("@nestjs/common");
|
|
9
|
+
const Sentry = require("@sentry/nestjs");
|
|
8
10
|
const SentryExceptionFilter_1 = require("./SentryExceptionFilter");
|
|
9
11
|
const SchemaSerializer_1 = require("./SchemaSerializer");
|
|
10
12
|
const CreateDtoPipe_1 = require("../../pipes/CreateDtoPipe");
|
|
@@ -52,16 +54,22 @@ class RestApplication extends BaseApplication_1.BaseApplication {
|
|
|
52
54
|
] }, custom === null || custom === void 0 ? void 0 : custom.cors) });
|
|
53
55
|
}
|
|
54
56
|
/**
|
|
55
|
-
*
|
|
56
|
-
* Documentation will be available at the `/api/docs` endpoint.
|
|
57
|
+
* Set global prefix with versioning
|
|
57
58
|
* @protected
|
|
58
59
|
*/
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
this._app.setGlobalPrefix('/api/v1');
|
|
60
|
+
initRouting() {
|
|
61
|
+
this._app.setGlobalPrefix('/api');
|
|
62
62
|
this._app.enableVersioning({
|
|
63
63
|
type: common_1.VersioningType.URI,
|
|
64
|
+
defaultVersion: '1',
|
|
64
65
|
});
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Initialize Swagger to generate API documentation.
|
|
69
|
+
* Documentation will be available at the `/api/docs` endpoint.
|
|
70
|
+
* @protected
|
|
71
|
+
*/
|
|
72
|
+
initSwagger() {
|
|
65
73
|
// Swagger config
|
|
66
74
|
const swaggerConfig = new swagger_1.DocumentBuilder()
|
|
67
75
|
.setTitle(this._config.title || 'Application')
|
|
@@ -112,7 +120,7 @@ class RestApplication extends BaseApplication_1.BaseApplication {
|
|
|
112
120
|
* @protected
|
|
113
121
|
*/
|
|
114
122
|
initFilters() {
|
|
115
|
-
if (
|
|
123
|
+
if (Sentry.getClient()) {
|
|
116
124
|
this._app.useGlobalFilters(new SentryExceptionFilter_1.SentryExceptionFilter(this._config.sentry.exposeSentryErrorResponse));
|
|
117
125
|
}
|
|
118
126
|
// Validation
|
|
@@ -152,6 +160,13 @@ class RestApplication extends BaseApplication_1.BaseApplication {
|
|
|
152
160
|
logger: this._config.loggerLevels,
|
|
153
161
|
});
|
|
154
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* Init cookie-parser for comfortable working with cookie.
|
|
165
|
+
* @protected
|
|
166
|
+
*/
|
|
167
|
+
initCookieParser() {
|
|
168
|
+
this._app.use(cookieParser(this._config.cookieSecret));
|
|
169
|
+
}
|
|
155
170
|
/**
|
|
156
171
|
* Initializes the project.
|
|
157
172
|
* Applies all `init*` methods, and also creates an application instance using `NestFactory.create`.
|
|
@@ -159,8 +174,10 @@ class RestApplication extends BaseApplication_1.BaseApplication {
|
|
|
159
174
|
async init() {
|
|
160
175
|
await super.init();
|
|
161
176
|
await this.createApp();
|
|
177
|
+
this.initRouting();
|
|
162
178
|
this.initSwagger();
|
|
163
179
|
this.initCors();
|
|
180
|
+
this.initCookieParser();
|
|
164
181
|
this.initPipes();
|
|
165
182
|
this.initFilters();
|
|
166
183
|
this.initInterceptors();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestApplication.js","sourceRoot":"","sources":["../../../../src/infrastructure/applications/rest/RestApplication.ts"],"names":[],"mappings":";;;AAAA,uCAAoD;AACpD,6CAA6C;AAC7C,6CAA+D;AAC/D,2CAAgE;AAChE,mEAA8D;AAC9D,yDAAoD;AAEpD,6DAAwD;AACxD,uFAAkF;AAClF,2EAAsE;AACtE,wDAAmD;AACnD,6DAAwD;AACxD,4CAAuC;AAEvC;;GAEG;AACH,MAAa,eAAgB,SAAQ,iCAAe;IAoBhD,YAAY,WAAW,GAAG,qBAAS;QAC/B,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACO,UAAU;QAChB,MAAM,MAAM,GAAG,2BAAY,CAAC,SAAS,CAAuB,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/E,IAAI,CAAC,OAAO,iCACR,gBAAgB,EAAE,MAAM,IACrB,MAAM,KACT,IAAI,kBACA,YAAY,EAAE;oBACV,QAAQ;oBACR,kBAAkB;oBAClB,cAAc;oBACd,QAAQ;oBACR,eAAe;oBACf,qBAAqB;oBACrB,cAAc;oBAEd,sBAAsB;oBACtB,eAAe;oBACf,mBAAmB;oBACnB,eAAe;oBACf,kBAAkB;oBAClB,qBAAqB;oBACrB,eAAe;iBAClB,EACD,YAAY,EAAE;oBACV,MAAM;oBACN,KAAK;oBACL,KAAK;oBACL,SAAS;oBACT,QAAQ;iBACX,IACE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,IAEtB,CAAC;IACN,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"RestApplication.js","sourceRoot":"","sources":["../../../../src/infrastructure/applications/rest/RestApplication.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,13 +52,6 @@ let MigrateCommand = class MigrateCommand {
|
|
|
52
52
|
async generate() {
|
|
53
53
|
await (0, generate_1.generate)(this.dataSource);
|
|
54
54
|
}
|
|
55
|
-
async generatePermissions(permissionTable, permissionColumn, permissionModule) {
|
|
56
|
-
await (0, generate_1.generateMigrationsForPermissions)(this.dataSource, {
|
|
57
|
-
table: permissionTable,
|
|
58
|
-
column: permissionColumn,
|
|
59
|
-
module: permissionModule,
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
55
|
};
|
|
63
56
|
__decorate([
|
|
64
57
|
(0, nestjs_command_1.Command)({
|
|
@@ -117,33 +110,6 @@ __decorate([
|
|
|
117
110
|
__metadata("design:paramtypes", []),
|
|
118
111
|
__metadata("design:returntype", Promise)
|
|
119
112
|
], MigrateCommand.prototype, "generate", null);
|
|
120
|
-
__decorate([
|
|
121
|
-
(0, nestjs_command_1.Command)({
|
|
122
|
-
command: 'migrate:generate-permissions',
|
|
123
|
-
describe: 'Create migrations for permissions, it is used to synchronize the current list of permissions between the code and the database.',
|
|
124
|
-
}),
|
|
125
|
-
__param(0, (0, nestjs_command_1.Option)({
|
|
126
|
-
name: 'permissionTable',
|
|
127
|
-
describe: 'Table name for permissions',
|
|
128
|
-
type: 'string',
|
|
129
|
-
default: 'auth_permission',
|
|
130
|
-
})),
|
|
131
|
-
__param(1, (0, nestjs_command_1.Option)({
|
|
132
|
-
name: 'permissionColumn',
|
|
133
|
-
describe: 'Column name of permission',
|
|
134
|
-
type: 'string',
|
|
135
|
-
default: 'name',
|
|
136
|
-
})),
|
|
137
|
-
__param(2, (0, nestjs_command_1.Option)({
|
|
138
|
-
name: 'permissionModule',
|
|
139
|
-
describe: 'Module where write migrations of permissions',
|
|
140
|
-
type: 'string',
|
|
141
|
-
default: 'auth',
|
|
142
|
-
})),
|
|
143
|
-
__metadata("design:type", Function),
|
|
144
|
-
__metadata("design:paramtypes", [String, String, String]),
|
|
145
|
-
__metadata("design:returntype", Promise)
|
|
146
|
-
], MigrateCommand.prototype, "generatePermissions", null);
|
|
147
113
|
MigrateCommand = __decorate([
|
|
148
114
|
(0, common_1.Injectable)(),
|
|
149
115
|
__param(0, (0, common_1.Inject)(typeorm_1.DataSource)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MigrateCommand.js","sourceRoot":"","sources":["../../../src/infrastructure/commands/MigrateCommand.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"MigrateCommand.js","sourceRoot":"","sources":["../../../src/infrastructure/commands/MigrateCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Connection
|
|
2
|
-
export declare const
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { Connection } from '@steroidsjs/typeorm';
|
|
2
|
+
export declare const prettifyQuery: (query: string) => string;
|
|
3
|
+
/**
|
|
4
|
+
* Gets contents of the migration file.
|
|
5
|
+
*/
|
|
6
|
+
export declare const getTemplate: (name: string, timestamp: number, upSqls: string[], downSqls: string[]) => string;
|
|
7
7
|
export declare const generate: (connection: Connection) => Promise<void>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generate = exports.
|
|
3
|
+
exports.generate = exports.getTemplate = exports.prettifyQuery = void 0;
|
|
4
4
|
const load_configuration_1 = require("@nestjs/cli/lib/utils/load-configuration");
|
|
5
5
|
const path_1 = require("path");
|
|
6
6
|
const fs = require("fs");
|
|
@@ -9,8 +9,6 @@ const formatter_1 = require("@sqltools/formatter");
|
|
|
9
9
|
const glob = require("glob");
|
|
10
10
|
const CustomRdbmsSchemaBuilder_1 = require("./CustomRdbmsSchemaBuilder");
|
|
11
11
|
const ModuleHelper_1 = require("../../helpers/ModuleHelper");
|
|
12
|
-
const getNewPermissions_1 = require("../../utils/getNewPermissions");
|
|
13
|
-
const ADD_PERMISSIONS_NAME = 'AddPermissions';
|
|
14
12
|
const queryParams = (parameters) => {
|
|
15
13
|
if (!parameters || !parameters.length) {
|
|
16
14
|
return '';
|
|
@@ -23,6 +21,7 @@ const prettifyQuery = (query) => {
|
|
|
23
21
|
query = query.replace(/`/g, '\\`');
|
|
24
22
|
return query;
|
|
25
23
|
};
|
|
24
|
+
exports.prettifyQuery = prettifyQuery;
|
|
26
25
|
/**
|
|
27
26
|
* Gets contents of the migration file.
|
|
28
27
|
*/
|
|
@@ -45,38 +44,7 @@ ${downSqls.join(`
|
|
|
45
44
|
}
|
|
46
45
|
`;
|
|
47
46
|
};
|
|
48
|
-
|
|
49
|
-
table: 'auth_permission',
|
|
50
|
-
column: 'name',
|
|
51
|
-
module: 'auth',
|
|
52
|
-
}) => {
|
|
53
|
-
const newPermissions = await (0, getNewPermissions_1.getNewPermissions)(dataSource, permissionOptions.table, permissionOptions.column);
|
|
54
|
-
if (!newPermissions.length) {
|
|
55
|
-
// eslint-disable-next-line no-console
|
|
56
|
-
console.log('info', 'No changes in permissions were found');
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
const cliConfiguration = await (0, load_configuration_1.loadConfiguration)();
|
|
60
|
-
const dirPath = (0, path_1.join)(process.cwd(), cliConfiguration.sourceRoot, permissionOptions.module, 'infrastructure', 'migrations');
|
|
61
|
-
const values = newPermissions
|
|
62
|
-
.map(key => `('${key}')`)
|
|
63
|
-
.join(',\n ');
|
|
64
|
-
const upRaw = `INSERT INTO ${permissionOptions.table} (${permissionOptions.column}) VALUES\n ${values};`;
|
|
65
|
-
const downRaw = `DELETE FROM ${permissionOptions.table} WHERE ${permissionOptions.column} IN (${newPermissions.map(permission => `'${permission}'`).join(', ')});`;
|
|
66
|
-
const upQueries = [
|
|
67
|
-
` await queryRunner.query(\`${prettifyQuery(upRaw)}\`);`,
|
|
68
|
-
];
|
|
69
|
-
const downQueries = [
|
|
70
|
-
` await queryRunner.query(\`${prettifyQuery(downRaw)}\`);`,
|
|
71
|
-
];
|
|
72
|
-
const timestamp = new Date().getTime();
|
|
73
|
-
const migrationFileContent = getTemplate(ADD_PERMISSIONS_NAME, timestamp, upQueries, downQueries);
|
|
74
|
-
const migrationFilePath = (0, path_1.join)(dirPath, `${timestamp}-${ADD_PERMISSIONS_NAME}.ts`);
|
|
75
|
-
// eslint-disable-next-line no-console
|
|
76
|
-
console.log('info', '\t' + migrationFilePath);
|
|
77
|
-
await CommandUtils_1.CommandUtils.createFile(migrationFilePath, migrationFileContent);
|
|
78
|
-
};
|
|
79
|
-
exports.generateMigrationsForPermissions = generateMigrationsForPermissions;
|
|
47
|
+
exports.getTemplate = getTemplate;
|
|
80
48
|
const generate = async (connection) => {
|
|
81
49
|
const hasPendingMigrations = await connection.showMigrations();
|
|
82
50
|
if (hasPendingMigrations) {
|
|
@@ -143,11 +111,11 @@ const generate = async (connection) => {
|
|
|
143
111
|
downQueries: [],
|
|
144
112
|
};
|
|
145
113
|
}
|
|
146
|
-
migrationsByTables[tableName].upQueries.push(' await queryRunner.query(`' + prettifyQuery(item.query.query) + '`' + queryParams(item.query.parameters) + ');');
|
|
114
|
+
migrationsByTables[tableName].upQueries.push(' await queryRunner.query(`' + (0, exports.prettifyQuery)(item.query.query) + '`' + queryParams(item.query.parameters) + ');');
|
|
147
115
|
}
|
|
148
116
|
for (const item of sqlInMemory.downTableQueries) {
|
|
149
117
|
const tableName = junctionTablesMap[item.tableName] || item.tableName;
|
|
150
|
-
migrationsByTables[tableName].downQueries.push(' await queryRunner.query(`' + prettifyQuery(item.query.query) + '`' + queryParams(item.query.parameters) + ');');
|
|
118
|
+
migrationsByTables[tableName].downQueries.push(' await queryRunner.query(`' + (0, exports.prettifyQuery)(item.query.query) + '`' + queryParams(item.query.parameters) + ');');
|
|
151
119
|
}
|
|
152
120
|
// Generate migrations
|
|
153
121
|
const timestamp = new Date().getTime();
|
|
@@ -169,7 +137,7 @@ const generate = async (connection) => {
|
|
|
169
137
|
const tableDeclarationUpQueries = migrationsByTables[tableName].upQueries.filter(query => query.includes('CREATE TABLE'));
|
|
170
138
|
const tableDeclarationDownQueries = migrationsByTables[tableName].downQueries.filter(query => query.includes('DROP TABLE')).reverse();
|
|
171
139
|
if (tableDeclarationUpQueries.length > 0 || tableDeclarationDownQueries.length > 0) {
|
|
172
|
-
const tableDeclarationFileContent = getTemplate(tableClassName, timestamp, tableDeclarationUpQueries, tableDeclarationDownQueries);
|
|
140
|
+
const tableDeclarationFileContent = (0, exports.getTemplate)(tableClassName, timestamp, tableDeclarationUpQueries, tableDeclarationDownQueries);
|
|
173
141
|
const tableDeclarationFileName = timestamp + '-' + tableClassName + '.ts';
|
|
174
142
|
const tableDeclarationFilePath = (0, path_1.resolve)(tablePath, '../../migrations', tableDeclarationFileName);
|
|
175
143
|
// eslint-disable-next-line no-console
|
|
@@ -181,7 +149,7 @@ const generate = async (connection) => {
|
|
|
181
149
|
const foreignKeysUpQueries = migrationsByTables[tableName].upQueries.filter(query => !query.includes('CREATE TABLE'));
|
|
182
150
|
const foreignKeysDownQueries = migrationsByTables[tableName].downQueries.filter(query => !query.includes('DROP TABLE')).reverse();
|
|
183
151
|
if (foreignKeysUpQueries.length > 0 || foreignKeysDownQueries.length > 0) {
|
|
184
|
-
const foreignKeysFileContent = getTemplate(tableClassName, nextTimestamp, foreignKeysUpQueries, foreignKeysDownQueries);
|
|
152
|
+
const foreignKeysFileContent = (0, exports.getTemplate)(tableClassName, nextTimestamp, foreignKeysUpQueries, foreignKeysDownQueries);
|
|
185
153
|
const foreignKeysFileName = nextTimestamp + '-' + tableClassName + '.ts';
|
|
186
154
|
const foreignKeysFilePath = (0, path_1.resolve)(tablePath, '../../migrations', foreignKeysFileName);
|
|
187
155
|
// eslint-disable-next-line no-console
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/infrastructure/commands/generate/index.ts"],"names":[],"mappings":";;;AAAA,iFAA2E;AAC3E,+BAAmC;AACnC,yBAAyB;AACzB,4EAAuE;AAEvE,mDAA2C;AAC3C,6BAA6B;AAC7B,yEAAoE;AACpE,6DAAwD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/infrastructure/commands/generate/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { IFieldOptions } from './fields/BaseField';
|
|
2
2
|
export declare const STEROIDS_META_TRANSFORM_PREFIX = "steroids_meta_transform_";
|
|
3
3
|
export interface ITransformCallbackEvent {
|
|
4
4
|
value: any;
|
|
5
5
|
item: any;
|
|
6
6
|
key: string;
|
|
7
|
-
options:
|
|
7
|
+
options: IFieldOptions;
|
|
8
8
|
transformType: ITransformType;
|
|
9
9
|
object: any;
|
|
10
10
|
}
|
|
@@ -1,32 +1,10 @@
|
|
|
1
|
-
import { ColumnType } from '@steroidsjs/typeorm/driver/types/ColumnTypes';
|
|
2
|
-
import { IAllFieldOptions } from './index';
|
|
3
1
|
import { ITransformCallback } from '../Transform';
|
|
4
|
-
|
|
5
|
-
export declare const STEROIDS_META_FIELD_DECORATOR = "steroids_meta_field_decorator";
|
|
6
|
-
export declare const STEROIDS_META_KEYS = "steroids_meta_keys";
|
|
7
|
-
export type AppColumnType = 'boolean' | 'createTime' | 'date' | 'dateTime' | 'decimal' | 'email' | 'enum' | 'file' | 'html' | 'integer' | 'password' | 'phone' | 'primaryKey' | 'relation' | 'relationId' | 'string' | 'text' | 'time' | 'updateTime' | string;
|
|
8
|
-
export type JsType = 'boolean' | 'string' | 'number' | string;
|
|
2
|
+
import type { IFieldInternalOptions } from './helpers/InternalFieldMetadataHelpers';
|
|
9
3
|
export interface IBaseFieldOptions {
|
|
10
|
-
/**
|
|
11
|
-
* App type
|
|
12
|
-
*/
|
|
13
|
-
appType?: AppColumnType;
|
|
14
|
-
/**
|
|
15
|
-
* JavaScript type
|
|
16
|
-
*/
|
|
17
|
-
jsType?: ColumnType;
|
|
18
|
-
/**
|
|
19
|
-
* Database type
|
|
20
|
-
*/
|
|
21
|
-
dbType?: ColumnType;
|
|
22
4
|
/**
|
|
23
5
|
* Field name, displayed in swagger documentation
|
|
24
6
|
*/
|
|
25
7
|
label?: string;
|
|
26
|
-
/**
|
|
27
|
-
* Hint
|
|
28
|
-
*/
|
|
29
|
-
hint?: string;
|
|
30
8
|
/**
|
|
31
9
|
* Example of a field value, displayed in the swagger documentation.
|
|
32
10
|
*/
|
|
@@ -60,10 +38,6 @@ export interface IBaseFieldOptions {
|
|
|
60
38
|
* Enum titles to upload data on frontend
|
|
61
39
|
*/
|
|
62
40
|
items?: string;
|
|
63
|
-
/**
|
|
64
|
-
* Plain name
|
|
65
|
-
*/
|
|
66
|
-
plainName?: string;
|
|
67
41
|
/**
|
|
68
42
|
* Callback that transforms the field value when an object is created using DataMapper
|
|
69
43
|
*/
|
|
@@ -73,23 +47,17 @@ export interface IBaseFieldOptions {
|
|
|
73
47
|
*/
|
|
74
48
|
noColumn?: boolean;
|
|
75
49
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
export declare
|
|
89
|
-
export
|
|
90
|
-
export declare const isMetaClass: (MetaClass: any) => boolean;
|
|
91
|
-
export declare const getMetaRelations: (MetaClass: any, parentPrefix?: any) => string[];
|
|
92
|
-
export declare const getRelationsByFilter: (MetaClass: any, filterCallBack: (options: IAllFieldOptions) => void) => string[];
|
|
93
|
-
export declare const getFieldDecoratorName: (targetClass: any, fieldName: string) => string | undefined;
|
|
94
|
-
export declare const getFieldDecorator: (targetClass: any, fieldName: string) => (...args: any) => PropertyDecorator;
|
|
95
|
-
export declare function BaseField(options?: IBaseFieldOptions, internalOptions?: IInternalFieldOptions): <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
|
|
50
|
+
/**
|
|
51
|
+
* Base decorator used by concrete Field decorators.
|
|
52
|
+
*
|
|
53
|
+
* @param options Public field options passed by the user or prepared by a concrete Field decorator.
|
|
54
|
+
* They describe user-facing field behavior and are stored in `STEROIDS_META_FIELD_OPTIONS`.
|
|
55
|
+
* Examples: `label`, `example`, `required`, `nullable`, `isArray`, `transform`, `noColumn`.
|
|
56
|
+
*
|
|
57
|
+
* @param internalOptions Internal service options set by concrete Field decorators.
|
|
58
|
+
* They are not part of the public Field API and are stored separately in
|
|
59
|
+
* `STEROIDS_META_FIELD_INTERNAL_OPTIONS`.
|
|
60
|
+
* Examples: `appType`, `decoratorName`, `swaggerType`.
|
|
61
|
+
*/
|
|
62
|
+
export declare function BaseField(options?: IBaseFieldOptions, internalOptions?: IFieldInternalOptions): <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
|
|
63
|
+
export { AppColumnType, IFieldInternalOptions, IFieldOptions, IRelationData, STEROIDS_META_FIELD_INTERNAL_OPTIONS, STEROIDS_META_FIELD_OPTIONS, STEROIDS_META_KEYS, getFieldAppType, getFieldDecorator, getFieldDecoratorName, getFieldInternalOptions, getFieldOptions, getMetaFields, getMetaPrimaryKey, getMetaRelations, getRelationsByFilter, isMetaClass, } from './helpers/InternalFieldMetadataHelpers';
|