@steroidsjs/nest 3.0.0 → 3.0.2
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 +26 -2
- package/infrastructure/adapters/QueryAdapterTypeORM.js.map +1 -1
- package/infrastructure/applications/base/config.js +1 -1
- package/infrastructure/applications/base/config.js.map +1 -1
- package/infrastructure/applications/console/ConsoleApplication.js +2 -2
- package/infrastructure/applications/console/ConsoleApplication.js.map +1 -1
- package/infrastructure/applications/console/config.js +3 -0
- package/infrastructure/applications/console/config.js.map +1 -1
- package/infrastructure/applications/rest/RestApplication.js +7 -0
- package/infrastructure/applications/rest/RestApplication.js.map +1 -1
- package/infrastructure/applications/rest/exceptions/RequestExecutionException.d.ts +6 -0
- package/infrastructure/applications/rest/exceptions/RequestExecutionException.js +6 -0
- package/infrastructure/applications/rest/exceptions/RequestExecutionException.js.map +1 -1
- package/infrastructure/commands/MigrateCommand.js +1 -0
- package/infrastructure/commands/MigrateCommand.js.map +1 -1
- package/infrastructure/commands/dbml/dbml2code.js +8 -0
- package/infrastructure/commands/dbml/dbml2code.js.map +1 -1
- package/infrastructure/commands/entity-generator/EntityCodeGenerateCommand.d.ts +4 -0
- package/infrastructure/commands/entity-generator/EntityCodeGenerateCommand.js +4 -0
- package/infrastructure/commands/entity-generator/EntityCodeGenerateCommand.js.map +1 -1
- package/infrastructure/commands/entity-generator/EntityCodeGenerator.js +1 -0
- package/infrastructure/commands/entity-generator/EntityCodeGenerator.js.map +1 -1
- package/infrastructure/commands/generate/CustomPostgresQueryRunner.d.ts +77 -0
- package/infrastructure/commands/generate/CustomPostgresQueryRunner.js +149 -0
- package/infrastructure/commands/generate/CustomPostgresQueryRunner.js.map +1 -1
- package/infrastructure/commands/generate/CustomRdbmsSchemaBuilder.js +7 -1
- package/infrastructure/commands/generate/CustomRdbmsSchemaBuilder.js.map +1 -1
- package/infrastructure/commands/generate/index.js +14 -0
- package/infrastructure/commands/generate/index.js.map +1 -1
- package/infrastructure/commands/importClassesFromDirectories.d.ts +3 -0
- package/infrastructure/commands/importClassesFromDirectories.js +3 -0
- package/infrastructure/commands/importClassesFromDirectories.js.map +1 -1
- package/infrastructure/decorators/Module.js +6 -0
- package/infrastructure/decorators/Module.js.map +1 -1
- package/infrastructure/decorators/TableFromModel.js +3 -0
- package/infrastructure/decorators/TableFromModel.js.map +1 -1
- package/infrastructure/decorators/fields/BaseField.js +5 -0
- package/infrastructure/decorators/fields/BaseField.js.map +1 -1
- package/infrastructure/decorators/fields/CreateTimeField.js +1 -0
- package/infrastructure/decorators/fields/CreateTimeField.js.map +1 -1
- package/infrastructure/decorators/fields/DateTimeField.js +5 -0
- package/infrastructure/decorators/fields/DateTimeField.js.map +1 -1
- package/infrastructure/decorators/fields/ExtendField.js +2 -0
- package/infrastructure/decorators/fields/ExtendField.js.map +1 -1
- package/infrastructure/decorators/fields/RelationField.js +3 -0
- package/infrastructure/decorators/fields/RelationField.js.map +1 -1
- package/infrastructure/decorators/fields/RelationIdField.js +2 -0
- package/infrastructure/decorators/fields/RelationIdField.js.map +1 -1
- package/infrastructure/decorators/fields/UidField.js +1 -0
- package/infrastructure/decorators/fields/UidField.js.map +1 -1
- package/infrastructure/decorators/fields/UpdateTimeField.js +1 -0
- package/infrastructure/decorators/fields/UpdateTimeField.js.map +1 -1
- package/infrastructure/filters/ValidationExceptionFilter.js +1 -0
- package/infrastructure/filters/ValidationExceptionFilter.js.map +1 -1
- package/infrastructure/helpers/ModuleHelper.d.ts +1 -0
- package/infrastructure/helpers/ModuleHelper.js +1 -0
- package/infrastructure/helpers/ModuleHelper.js.map +1 -1
- package/infrastructure/helpers/typeORM/ConditionHelperTypeORM.js +21 -18
- package/infrastructure/helpers/typeORM/ConditionHelperTypeORM.js.map +1 -1
- package/infrastructure/helpers/typeORM/SearchHelperTypeORM.js +6 -0
- package/infrastructure/helpers/typeORM/SearchHelperTypeORM.js.map +1 -1
- package/infrastructure/pipes/CreateDtoPipe.js +1 -0
- package/infrastructure/pipes/CreateDtoPipe.js.map +1 -1
- package/infrastructure/repositories/CrudRepository.d.ts +88 -0
- package/infrastructure/repositories/CrudRepository.js +85 -0
- package/infrastructure/repositories/CrudRepository.js.map +1 -1
- package/infrastructure/tests/ModelTest.test.js +23 -0
- package/infrastructure/tests/ModelTest.test.js.map +1 -1
- package/infrastructure/tests/app/services/ArticleService.d.ts +4 -1
- package/infrastructure/tests/app/services/ArticleService.js +3 -1
- package/infrastructure/tests/app/services/ArticleService.js.map +1 -1
- package/infrastructure/tests/app/services/CommentService.d.ts +4 -1
- package/infrastructure/tests/app/services/CommentService.js +3 -1
- package/infrastructure/tests/app/services/CommentService.js.map +1 -1
- package/infrastructure/tests/app/services/FileService.d.ts +4 -1
- package/infrastructure/tests/app/services/FileService.js +3 -1
- package/infrastructure/tests/app/services/FileService.js.map +1 -1
- package/infrastructure/tests/app/services/ImageService.d.ts +4 -1
- package/infrastructure/tests/app/services/ImageService.js +3 -1
- package/infrastructure/tests/app/services/ImageService.js.map +1 -1
- package/infrastructure/tests/app/services/TagService.d.ts +4 -1
- package/infrastructure/tests/app/services/TagService.js +3 -1
- package/infrastructure/tests/app/services/TagService.js.map +1 -1
- package/infrastructure/tests/app/services/UserService.d.ts +4 -1
- package/infrastructure/tests/app/services/UserService.js +3 -1
- package/infrastructure/tests/app/services/UserService.js.map +1 -1
- package/infrastructure/tests/bootstrap.js +1 -1
- package/infrastructure/tests/bootstrap.js.map +1 -1
- package/package.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/usecases/base/SearchQuery.d.ts +12 -0
- package/usecases/base/SearchQuery.js +18 -0
- package/usecases/base/SearchQuery.js.map +1 -1
- package/usecases/helpers/DataMapper.js +6 -0
- package/usecases/helpers/DataMapper.js.map +1 -1
- package/usecases/helpers/ValidationHelper.d.ts +27 -0
- package/usecases/helpers/ValidationHelper.js +33 -0
- package/usecases/helpers/ValidationHelper.js.map +1 -1
- package/usecases/interfaces/IManualSchema.d.ts +4 -0
- package/usecases/services/CrudService.d.ts +47 -8
- package/usecases/services/CrudService.js +88 -0
- package/usecases/services/CrudService.js.map +1 -1
- package/usecases/services/ReadService.d.ts +31 -0
- package/usecases/services/ReadService.js +32 -0
- package/usecases/services/ReadService.js.map +1 -1
- package/usecases/validators/Validator.js +1 -0
- package/usecases/validators/Validator.js.map +1 -1
|
@@ -63,6 +63,7 @@ const transformIds = (TableClass, value, isArray, transformType) => {
|
|
|
63
63
|
};
|
|
64
64
|
const relationTransformFromDb = ({ value, object, key, options, transformType }) => {
|
|
65
65
|
const ModelClass = options.relationClass();
|
|
66
|
+
// Удаляем объекты, необходимые только для сохранения id связей
|
|
66
67
|
if (value === null || value === void 0 ? void 0 : value[PROPERTY_TMP_ID_ENTITY]) {
|
|
67
68
|
delete object[key];
|
|
68
69
|
return undefined;
|
|
@@ -78,6 +79,7 @@ const relationTransformToDb = ({ value, item, key, options, transformType }) =>
|
|
|
78
79
|
});
|
|
79
80
|
if (relationIdName && item[relationIdName]) {
|
|
80
81
|
const result = transformIds(TableClass, item[relationIdName], options.isArray, transformType);
|
|
82
|
+
// Добавляем флаг к массиву или объекту, чтобы потом почистить такие временные объекты
|
|
81
83
|
result[PROPERTY_TMP_ID_ENTITY] = true;
|
|
82
84
|
return result;
|
|
83
85
|
}
|
|
@@ -110,6 +112,7 @@ function RelationField(options) {
|
|
|
110
112
|
}),
|
|
111
113
|
getRelationDecorator(options.type)(() => (0, TableFromModel_1.getTableFromModel)(options.relationClass()), options.inverseSide, { cascade: ['insert', 'update'], onUpdate: 'CASCADE' }),
|
|
112
114
|
OwningDecorator && OwningDecorator(owningDecoratorOptions),
|
|
115
|
+
//options.type === 'ManyToOne' && JoinColumn(),
|
|
113
116
|
(0, class_validator_1.ValidateIf)((object, value) => !!value),
|
|
114
117
|
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
115
118
|
(0, class_transformer_1.Type)(options.relationClass),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelationField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/RelationField.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"RelationField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/RelationField.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ const Transform_1 = require("../Transform");
|
|
|
8
8
|
const typeorm_1 = require("@steroidsjs/typeorm");
|
|
9
9
|
const class_validator_1 = require("class-validator");
|
|
10
10
|
const lodash_1 = require("lodash");
|
|
11
|
+
// From db
|
|
11
12
|
const relationTransformFromDbInternal = (TableClass, value, isArray, transformType) => {
|
|
12
13
|
if (isArray && Array.isArray(value)) {
|
|
13
14
|
return value.map(item => relationTransformFromDbInternal(TableClass, item, false, transformType));
|
|
@@ -35,6 +36,7 @@ const relationTransformFromDb = ({ value, item, options, transformType }) => {
|
|
|
35
36
|
};
|
|
36
37
|
exports.relationTransformFromDb = relationTransformFromDb;
|
|
37
38
|
const relationTransformToDb = ({ value }) => {
|
|
39
|
+
// Nothing do, see RelationField relationTransformToDb method for found *Ids logic
|
|
38
40
|
return value;
|
|
39
41
|
};
|
|
40
42
|
exports.relationTransformToDb = relationTransformToDb;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelationIdField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/RelationIdField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,2CAA6F;AAC7F,sDAAoD;AACpD,4CAAqF;AACrF,iDAA2C;AAC3C,qDAA0D;AAC1D,mCAAoE;
|
|
1
|
+
{"version":3,"file":"RelationIdField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/RelationIdField.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ exports.generateUid = generateUid;
|
|
|
11
11
|
const UidBehaviour = (object, propertyName) => {
|
|
12
12
|
const methodName = propertyName + '__uidBehaviour';
|
|
13
13
|
if (!object[methodName]) {
|
|
14
|
+
// eslint-disable-next-line func-names
|
|
14
15
|
object[methodName] = function () {
|
|
15
16
|
if (!this[propertyName]) {
|
|
16
17
|
this[propertyName] = (0, exports.generateUid)();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UidField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/UidField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,+BAAkC;AAClC,iDAAmE;AACnE,8FAAyF;AACzF,2CAAyD;AAElD,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC,IAAA,SAAM,GAAE,CAAC;AAArC,QAAA,WAAW,eAA0B;AAElD,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;IAC1C,MAAM,UAAU,GAAG,YAAY,GAAG,gBAAgB,CAAC;IACnD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"UidField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/UidField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,+BAAkC;AAClC,iDAAmE;AACnE,8FAAyF;AACzF,2CAAyD;AAElD,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC,IAAA,SAAM,GAAE,CAAC;AAArC,QAAA,WAAW,eAA0B;AAElD,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;IAC1C,MAAM,UAAU,GAAG,YAAY,GAAG,gBAAgB,CAAC;IACnD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QACrB,sCAAsC;QACtC,MAAM,CAAC,UAAU,CAAC,GAAG;YACjB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;gBACrB,IAAI,CAAC,YAAY,CAAC,GAAG,IAAA,mBAAW,GAAE,CAAC;aACtC;QACL,CAAC,CAAC;KACL;IAED,IAAA,gCAAsB,GAAE,CAAC,eAAe,CAAC,IAAI,CAAC;QAC1C,MAAM,EAAE,MAAM,CAAC,WAAW;QAC1B,YAAY,EAAE,UAAU;QACxB,IAAI,EAAE,uCAAkB,CAAC,aAAa;KACzC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,SAAgB,QAAQ,CAAC,UAA6B,EAAE;IACpD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAChB,OAAO,CAAC,KAAK,GAAG,gBAAgB,CAAC;KACpC;IAED,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,UAAU;QACzB,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS;QACjC,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,KAAK;KAChB,CAAC,EACF,YAAY,CACf,CAAC;AACN,CAAC;AAnBD,4BAmBC"}
|
|
@@ -12,6 +12,7 @@ const Transform_1 = require("../Transform");
|
|
|
12
12
|
const UpdateTimeBehaviour = (object, propertyName) => {
|
|
13
13
|
const methodName = propertyName + '__updateTimeBehaviour';
|
|
14
14
|
if (!object[methodName]) {
|
|
15
|
+
// eslint-disable-next-line func-names
|
|
15
16
|
object[methodName] = function () {
|
|
16
17
|
this[propertyName] = (0, DateTimeField_1.normalizeDateTime)(new Date(), false);
|
|
17
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateTimeField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/UpdateTimeField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,mCAAmC;AACnC,iDAAmE;AACnE,8FAAyF;AACzF,2CAAyD;AACzD,mDAAkD;AAClD,qDAAqD;AACrD,4CAAqF;AAMrF,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;IACjD,MAAM,UAAU,GAAG,YAAY,GAAG,uBAAuB,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"UpdateTimeField.js","sourceRoot":"","sources":["../../../../src/infrastructure/decorators/fields/UpdateTimeField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,mCAAmC;AACnC,iDAAmE;AACnE,8FAAyF;AACzF,2CAAyD;AACzD,mDAAkD;AAClD,qDAAqD;AACrD,4CAAqF;AAMrF,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;IACjD,MAAM,UAAU,GAAG,YAAY,GAAG,uBAAuB,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QACrB,sCAAsC;QACtC,MAAM,CAAC,UAAU,CAAC,GAAG;YACjB,IAAI,CAAC,YAAY,CAAC,GAAG,IAAA,iCAAiB,EAAC,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC,CAAC;KACL;IAED,CAAC,uCAAkB,CAAC,aAAa,EAAE,uCAAkB,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAChF,IAAA,gCAAsB,GAAE,CAAC,eAAe,CAAC,IAAI,CAAC;YAC1C,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,UAAU;YACxB,IAAI;SACP,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,SAAgB,eAAe,CAAC,UAAmC,EAAE;IACjE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;QAChB,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC;KAC9B;IAED,OAAO,IAAA,wBAAe,EAClB,IAAA,qBAAS,EAAC,OAAO,EAAE;QACf,aAAa,EAAE,iBAAiB;QAChC,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,QAAQ;KACnB,CAAC,EACF,IAAA,gBAAM,EAAC;QACH,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,IAAA,YAAI,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,EAAE,IAAA,YAAI,EAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;QACzE,QAAQ,EAAE,IAAA,YAAI,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;KACjE,CAAC,EACF,IAAA,qBAAS,EAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,IAAA,iCAAiB,EAAC,KAAK,EAAE,KAAK,CAAC,EAAE,kCAAsB,CAAC,EAC/E,IAAA,qBAAS,EAAC,GAAG,EAAE,CAAC,IAAA,iCAAiB,EAAC,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE,gCAAoB,CAAC,EAC3E,mBAAmB,EACnB,IAAA,4BAAU,GAAE,EACZ,IAAA,0BAAQ,GAAE,CACb,CAAC;AACN,CAAC;AAvBD,0CAuBC"}
|
|
@@ -14,6 +14,7 @@ let ValidationExceptionFilter = class ValidationExceptionFilter {
|
|
|
14
14
|
const ctx = host.switchToHttp();
|
|
15
15
|
const response = ctx.getResponse();
|
|
16
16
|
response
|
|
17
|
+
// TODO#Warning - ставим код 200, чтобы форма на фронте принимала массив ошибок
|
|
17
18
|
.status(common_1.HttpStatus.OK)
|
|
18
19
|
.json({
|
|
19
20
|
statusCode: common_1.HttpStatus.BAD_REQUEST,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidationExceptionFilter.js","sourceRoot":"","sources":["../../../src/infrastructure/filters/ValidationExceptionFilter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAiF;AAEjF,0DAA8D;AAGvD,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAClC,KAAK,CAAC,SAA8B,EAAE,IAAmB;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAY,CAAC;QAE7C,QAAQ;
|
|
1
|
+
{"version":3,"file":"ValidationExceptionFilter.js","sourceRoot":"","sources":["../../../src/infrastructure/filters/ValidationExceptionFilter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAiF;AAEjF,0DAA8D;AAGvD,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAClC,KAAK,CAAC,SAA8B,EAAE,IAAmB;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAY,CAAC;QAE7C,QAAQ;YACJ,+EAA+E;aAC9E,MAAM,CAAC,mBAAU,CAAC,EAAE,CAAC;aACrB,IAAI,CAAC;YACF,UAAU,EAAE,mBAAU,CAAC,WAAW;YAClC,MAAM,EAAE,SAAS,CAAC,MAAM;SAC3B,CAAC,CAAC;IACX,CAAC;CACJ,CAAA;AAbY,yBAAyB;IADrC,IAAA,cAAK,EAAC,gCAAmB,CAAC;GACd,yBAAyB,CAarC;AAbY,8DAAyB"}
|
|
@@ -11,5 +11,6 @@ export declare class ModuleHelper {
|
|
|
11
11
|
static setConfig(moduleClass: Function, config: any): void;
|
|
12
12
|
static getConfig<T>(moduleClass: Function): T;
|
|
13
13
|
static importDir(dir: any, custom?: {}): any[];
|
|
14
|
+
/** @deprecated */
|
|
14
15
|
static provide(Type: any, nameOrInject: any, inject?: any): Provider;
|
|
15
16
|
}
|
|
@@ -52,6 +52,7 @@ class ModuleHelper {
|
|
|
52
52
|
})
|
|
53
53
|
.filter(Boolean);
|
|
54
54
|
}
|
|
55
|
+
/** @deprecated */
|
|
55
56
|
static provide(Type, nameOrInject, inject = null) {
|
|
56
57
|
const provide = typeof nameOrInject === 'string' ? nameOrInject : Type;
|
|
57
58
|
inject = Array.isArray(nameOrInject) ? nameOrInject : inject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleHelper.js","sourceRoot":"","sources":["../../../src/infrastructure/helpers/ModuleHelper.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,yBAAyB;AAGzB,MAAa,YAAY;IAOrB,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU;QACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAEpC,IAAI,UAAU,EAAE;YACZ,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC1E,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;SACtD;IACL,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,OAAO;QACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,eAAe;QAClB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE;YACtC,OAAO,EAAE,CAAC;SACb;IACL,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,UAAU,GAAG,IAAI;QAChC,OAAO,UAAU;YACb,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,EAAE;YACxC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,WAAqB,EAAE,MAAW;QAC/C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,SAAS,CAAI,WAAqB;QACrC,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE;YACvD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;SACvE;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE;QAC7B,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAE1B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACrB,OAAO,EAAE,CAAC;SACb;QAED,OAAO,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC;aACrB,GAAG,CAAC,QAAQ,CAAC,EAAE;YACZ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC3D,OAAO,IAAI,CAAC;aACf;YAED,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAChD,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;gBACd,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;aACvB;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;YACjD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC;QAC1C,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;
|
|
1
|
+
{"version":3,"file":"ModuleHelper.js","sourceRoot":"","sources":["../../../src/infrastructure/helpers/ModuleHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,11 +38,13 @@ class ConditionHelperTypeORM {
|
|
|
38
38
|
throw new Error('condition is not array');
|
|
39
39
|
}
|
|
40
40
|
static _toTypeOrmInternal(condition, dbQuery, rootClass, filterEmpty = false) {
|
|
41
|
+
// {key: value, ...} -> ['and', ['=', key, value], ...]
|
|
41
42
|
if (typeof condition === 'object' && !Array.isArray(condition)) {
|
|
42
43
|
return ConditionHelperTypeORM._toTypeOrmInternal(this._objectConditionToArray(condition), dbQuery, rootClass, filterEmpty);
|
|
43
44
|
}
|
|
44
45
|
if (Array.isArray(condition) && condition.length > 1 && typeof condition[0] === 'string') {
|
|
45
46
|
let operator = condition[0].toLowerCase();
|
|
47
|
+
// ['not', {role: 'admin'}]
|
|
46
48
|
const isNot = operator.indexOf('not') === 0;
|
|
47
49
|
if (isNot) {
|
|
48
50
|
operator = operator.replace(/^not\s+/, '');
|
|
@@ -55,40 +57,40 @@ class ConditionHelperTypeORM {
|
|
|
55
57
|
const key = condition[1];
|
|
56
58
|
const value = condition[2];
|
|
57
59
|
switch (operator) {
|
|
58
|
-
case 'filter':
|
|
60
|
+
case 'filter': // ['filter', condition]
|
|
59
61
|
return ConditionHelperTypeORM._toTypeOrmInternal(condition[1], dbQuery, rootClass, true);
|
|
60
|
-
case '=':
|
|
62
|
+
case '=': // ['=', 'age', 18]
|
|
61
63
|
return objectWhere(isNot, isEmpty(value), key, isEmpty(value) ? (0, typeorm_1.IsNull)() : value);
|
|
62
|
-
case '>':
|
|
64
|
+
case '>': // ['>', 'age', 18]
|
|
63
65
|
return objectWhere(isNot, isEmpty(value), key, (0, typeorm_1.MoreThan)(value));
|
|
64
|
-
case '>=':
|
|
66
|
+
case '>=': // ['>=', 'age', 18]
|
|
65
67
|
case '=>':
|
|
66
68
|
return objectWhere(isNot, isEmpty(value), key, (0, typeorm_1.MoreThanOrEqual)(value));
|
|
67
|
-
case '<':
|
|
69
|
+
case '<': // ['<', 'age', 18]
|
|
68
70
|
return objectWhere(isNot, isEmpty(value), key, (0, typeorm_1.LessThan)(value));
|
|
69
|
-
case '<=':
|
|
71
|
+
case '<=': // ['<=', 'age', 18]
|
|
70
72
|
case '=<':
|
|
71
73
|
return objectWhere(isNot, isEmpty(value), key, (0, typeorm_1.LessThanOrEqual)(value));
|
|
72
|
-
case 'like':
|
|
73
|
-
case 'ilike':
|
|
74
|
+
case 'like': // ['like', 'name', 'alex']
|
|
75
|
+
case 'ilike': // ['ilike', 'name', 'alex']
|
|
74
76
|
const likeMethod = operator === 'ilike' ? typeorm_1.ILike : typeorm_1.Like;
|
|
75
77
|
return objectWhere(isNot, isEmpty(value), key, likeMethod(value ? (value.indexOf('%') !== -1 ? value : '%' + value + '%') : ''));
|
|
76
|
-
case 'between':
|
|
78
|
+
case 'between': // ['between', 'size', 5, 10]
|
|
77
79
|
return objectWhere(isNot, isEmpty(condition[2] || condition[3]), key, (0, typeorm_1.Between)(condition[2], condition[3]));
|
|
78
|
-
case 'in':
|
|
80
|
+
case 'in': // ['in', 'ids', [5, 6, 10]]
|
|
79
81
|
if (value && !Array.isArray(value)) {
|
|
80
82
|
throw Error('Wrong value for IN operator: ' + JSON.stringify(value));
|
|
81
83
|
}
|
|
82
84
|
return objectWhere(isNot, isEmpty(value) || value.length === 0, key, (0, typeorm_1.In)(value));
|
|
83
|
-
case '@>':
|
|
85
|
+
case '@>': // ['@>', 'codes', ['someCode', 'someCode2']]
|
|
84
86
|
return objectWhere(isNot, isEmpty(value), key, (0, typeorm_1.ArrayContains)([].concat(value)));
|
|
85
|
-
case '<@':
|
|
87
|
+
case '<@': // ['<@', 'codes', ['someCode', 'someCode2']]
|
|
86
88
|
return objectWhere(isNot, isEmpty(value), key, (0, typeorm_1.ArrayContainedBy)([].concat(value)));
|
|
87
|
-
case 'overlap':
|
|
89
|
+
case 'overlap': // ['overlap', 'codes', ['someCode', 'someCode2']]
|
|
88
90
|
return objectWhere(isNot, isEmpty(value), key, (0, typeorm_1.ArrayOverlap)([].concat(value)));
|
|
89
|
-
case 'some':
|
|
90
|
-
case 'every':
|
|
91
|
-
case 'none':
|
|
91
|
+
case 'some': // ['some', 'applications', ['=', 'applications.id', 2']]
|
|
92
|
+
case 'every': // ['every', 'applications', ['=', 'applications.id', 2']]
|
|
93
|
+
case 'none': // ['none', 'applications', ['=', 'applications.id', 2']]
|
|
92
94
|
if (isNot) {
|
|
93
95
|
throw Error(`Unsupport NOT for ${operator} operator.`);
|
|
94
96
|
}
|
|
@@ -117,9 +119,9 @@ class ConditionHelperTypeORM {
|
|
|
117
119
|
return new typeorm_1.Brackets((qb) => {
|
|
118
120
|
qb.andWhere(resultCondition);
|
|
119
121
|
});
|
|
120
|
-
case 'and':
|
|
122
|
+
case 'and': // ['and', {isActive: true}, ['=', 'name', 'Ivan']]
|
|
121
123
|
case '&&':
|
|
122
|
-
case 'or':
|
|
124
|
+
case 'or': // ['or', {isAdmin: true}, ['=', 'name', 'Ivan']]
|
|
123
125
|
case '||':
|
|
124
126
|
let isOr = ['or', '||'].includes(operator);
|
|
125
127
|
if (isNot) {
|
|
@@ -139,6 +141,7 @@ class ConditionHelperTypeORM {
|
|
|
139
141
|
}
|
|
140
142
|
return new typeorm_1.Brackets((query2) => {
|
|
141
143
|
const parentQuery = query2.parentQueryBuilder;
|
|
144
|
+
// Hack for use relations
|
|
142
145
|
query2.expressionMap.joinAttributes = parentQuery.expressionMap.joinAttributes;
|
|
143
146
|
values.forEach(value => {
|
|
144
147
|
if (isOr) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionHelperTypeORM.js","sourceRoot":"","sources":["../../../../src/infrastructure/helpers/typeORM/ConditionHelperTypeORM.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AACnC,iDAK6B;AAE7B,4EAAuE;AACvE,oEAA6D;AAC7D,iEAAoE;AACpE,2EAAsE;AAetE,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,cAAc,IAAI,KAAK,KAAK,EAAE,CAAC;AAEpH,MAAM,4BAA4B,GAAG,8BAA8B,CAAA;AAEnE,MAAa,sBAAsB;IAE/B,MAAM,CAAC,SAAS,CACZ,SAAqB,EACrB,OAAgC,EAChC,SAAc;QAEd,OAAO,sBAAsB,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,CAAC,uBAAuB,CAAC,SAAqB;QAChD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC5D,OAAO;gBACH,KAAK;gBACL,GAAG,IAAA,6BAAa,EAAC,SAAS,CAAC;qBACtB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;aACrC,CAAC;SACL;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC1B,OAAO,SAAS,CAAC;SACpB;QACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,SAAqB;QAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC1B,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBAC5D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACrD;YACD,OAAO,CAAC,OAAO,QAAQ,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACrD;QACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,kBAAkB,CACrB,SAAqB,EACrB,OAAgC,EAChC,SAAc,EACd,WAAW,GAAG,KAAK;
|
|
1
|
+
{"version":3,"file":"ConditionHelperTypeORM.js","sourceRoot":"","sources":["../../../../src/infrastructure/helpers/typeORM/ConditionHelperTypeORM.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,10 +7,13 @@ const QueryAdapterTypeORM_1 = require("../../adapters/QueryAdapterTypeORM");
|
|
|
7
7
|
class SearchHelperTypeORM {
|
|
8
8
|
static async search(repository, dto, searchQuery, prepareHandler = null) {
|
|
9
9
|
const result = new SearchResultDto_1.SearchResultDto();
|
|
10
|
+
// Defaults
|
|
10
11
|
dto = Object.assign({ page: 1, pageSize: 50 }, dto);
|
|
12
|
+
// Create query
|
|
11
13
|
const dbQuery = repository.createQueryBuilder(searchQuery.getAlias());
|
|
12
14
|
const modelAlias = dbQuery.alias;
|
|
13
15
|
QueryAdapterTypeORM_1.QueryAdapterTypeORM.prepare(repository, dbQuery, searchQuery);
|
|
16
|
+
// Sort
|
|
14
17
|
const sort = typeof dto.sort === 'string' ? dto.sort.split(',') : (dto.sort || []);
|
|
15
18
|
if (sort.length > 0) {
|
|
16
19
|
dbQuery.orderBy(sort.reduce((obj, value) => {
|
|
@@ -19,14 +22,17 @@ class SearchHelperTypeORM {
|
|
|
19
22
|
return obj;
|
|
20
23
|
}, {}));
|
|
21
24
|
}
|
|
25
|
+
// Prepare
|
|
22
26
|
if (prepareHandler) {
|
|
23
27
|
prepareHandler.call(null, dbQuery);
|
|
24
28
|
}
|
|
29
|
+
// Pagination
|
|
25
30
|
if (dto.pageSize > 0) {
|
|
26
31
|
dbQuery
|
|
27
32
|
.skip((dto.page - 1) * dto.pageSize)
|
|
28
33
|
.take(dto.pageSize);
|
|
29
34
|
}
|
|
35
|
+
// Execute query
|
|
30
36
|
const [items, total] = await Promise.resolve(dbQuery.getManyAndCount());
|
|
31
37
|
result.items = items;
|
|
32
38
|
result.total = total;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchHelperTypeORM.js","sourceRoot":"","sources":["../../../../src/infrastructure/helpers/typeORM/SearchHelperTypeORM.ts"],"names":[],"mappings":";;;AACA,oCAAoC;AAGpC,4EAAuE;AAEvE,4EAAuE;AAEvE,MAAa,mBAAmB;IAE5B,MAAM,CAAC,KAAK,CAAC,MAAM,CACf,UAA2C,EAC3C,GAAmB,EACnB,WAAgC,EAChC,iBAAqE,IAAI;QAEzE,MAAM,MAAM,GAAG,IAAI,iCAAe,EAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"SearchHelperTypeORM.js","sourceRoot":"","sources":["../../../../src/infrastructure/helpers/typeORM/SearchHelperTypeORM.ts"],"names":[],"mappings":";;;AACA,oCAAoC;AAGpC,4EAAuE;AAEvE,4EAAuE;AAEvE,MAAa,mBAAmB;IAE5B,MAAM,CAAC,KAAK,CAAC,MAAM,CACf,UAA2C,EAC3C,GAAmB,EACnB,WAAgC,EAChC,iBAAqE,IAAI;QAEzE,MAAM,MAAM,GAAG,IAAI,iCAAe,EAAU,CAAC;QAE7C,WAAW;QACX,GAAG,mBACC,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,EAAE,IACT,GAAG,CACT,CAAC;QAEF,eAAe;QACf,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;QAEjC,yCAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAE9D,OAAO;QACP,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACnF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACjB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACvC,MAAM,eAAe,GAAG,GAAG,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;gBAClE,GAAG,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC5D,OAAO,GAAG,CAAC;YACf,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SACX;QAED,UAAU;QACV,IAAI,cAAc,EAAE;YAChB,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACtC;QAED,aAAa;QACb,IAAI,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE;YAClB,OAAO;iBACF,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;iBACnC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC3B;QAED,gBAAgB;QAChB,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;QACxE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAErB,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AApDD,kDAoDC"}
|
|
@@ -13,6 +13,7 @@ const BaseField_1 = require("../decorators/fields/BaseField");
|
|
|
13
13
|
const class_transformer_1 = require("class-transformer");
|
|
14
14
|
let CreateDtoPipe = class CreateDtoPipe {
|
|
15
15
|
async transform(value, metadata) {
|
|
16
|
+
// Оставляем plainToInstance для конвертации значений 'false' -> false, '10' -> 10, ...
|
|
16
17
|
value = (0, class_transformer_1.plainToInstance)(metadata.metatype, value);
|
|
17
18
|
if ((0, BaseField_1.isMetaClass)(metadata.metatype)) {
|
|
18
19
|
value = DataMapper_1.DataMapper.create(metadata.metatype, value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateDtoPipe.js","sourceRoot":"","sources":["../../../src/infrastructure/pipes/CreateDtoPipe.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA2E;AAC3E,kEAA6D;AAC7D,8DAA2D;AAC3D,yDAAkD;AAG3C,IAAM,aAAa,GAAnB,MAAM,aAAa;IACtB,KAAK,CAAC,SAAS,CAAC,KAAU,EAAE,QAA0B;
|
|
1
|
+
{"version":3,"file":"CreateDtoPipe.js","sourceRoot":"","sources":["../../../src/infrastructure/pipes/CreateDtoPipe.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA2E;AAC3E,kEAA6D;AAC7D,8DAA2D;AAC3D,yDAAkD;AAG3C,IAAM,aAAa,GAAnB,MAAM,aAAa;IACtB,KAAK,CAAC,SAAS,CAAC,KAAU,EAAE,QAA0B;QAClD,uFAAuF;QACvF,KAAK,GAAG,IAAA,mCAAe,EAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAElD,IAAI,IAAA,uBAAW,EAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAChC,KAAK,GAAG,uBAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;SACvD;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ,CAAA;AAXY,aAAa;IADzB,IAAA,mBAAU,GAAE;GACA,aAAa,CAWzB;AAXY,sCAAa"}
|
|
@@ -7,26 +7,114 @@ import { SelectQueryBuilder } from '@steroidsjs/typeorm/query-builder/SelectQuer
|
|
|
7
7
|
import { ICondition } from '../helpers/typeORM/ConditionHelperTypeORM';
|
|
8
8
|
import { ISaveManager } from '../../usecases/interfaces/ISaveManager';
|
|
9
9
|
import { OnModuleDestroy, OnModuleInit } from '@nestjs/common';
|
|
10
|
+
/**
|
|
11
|
+
* Generic CRUD repository
|
|
12
|
+
*/
|
|
10
13
|
export declare class CrudRepository<TModel> implements ICrudRepository<TModel>, OnModuleInit, OnModuleDestroy {
|
|
14
|
+
/**
|
|
15
|
+
* Table primary key
|
|
16
|
+
*/
|
|
11
17
|
primaryKey: string;
|
|
18
|
+
/**
|
|
19
|
+
* TypeORM repository instance
|
|
20
|
+
*/
|
|
12
21
|
protected dbRepository: Repository<any>;
|
|
13
22
|
protected modelClass: any;
|
|
14
23
|
onModuleInit(): void;
|
|
15
24
|
onModuleDestroy(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Manually initialize database repository (without extend class CrudRepository)
|
|
27
|
+
* @param dbRepository
|
|
28
|
+
* @param modelClass
|
|
29
|
+
*/
|
|
16
30
|
init(dbRepository: Repository<any>, modelClass: any): void;
|
|
31
|
+
/**
|
|
32
|
+
* Search items with pagination, filters and sorting
|
|
33
|
+
* @param dto
|
|
34
|
+
* @param searchQuery
|
|
35
|
+
*/
|
|
17
36
|
search(dto: SearchInputDto, searchQuery: SearchQuery<TModel>): Promise<SearchResultDto<TModel>>;
|
|
37
|
+
/**
|
|
38
|
+
* Find item by condition
|
|
39
|
+
* @param conditionOrQuery
|
|
40
|
+
* @param eagerLoading
|
|
41
|
+
*/
|
|
18
42
|
findOne(conditionOrQuery: ICondition | SearchQuery<TModel>, eagerLoading?: boolean): Promise<TModel | null>;
|
|
43
|
+
/**
|
|
44
|
+
* Find item by condition
|
|
45
|
+
* @param conditionOrQuery
|
|
46
|
+
* @param eagerLoading
|
|
47
|
+
*/
|
|
19
48
|
findMany(conditionOrQuery: ICondition | SearchQuery<TModel>, eagerLoading?: boolean): Promise<TModel[]>;
|
|
20
49
|
createQuery(config?: ISearchQueryConfig<TModel>): SearchQuery<TModel>;
|
|
50
|
+
/**
|
|
51
|
+
* Create db query builder for findOne() and findMany() methods
|
|
52
|
+
* @param conditionOrQuery
|
|
53
|
+
* @param eagerLoading
|
|
54
|
+
* @protected
|
|
55
|
+
*/
|
|
21
56
|
protected createQueryBuilder(conditionOrQuery: ICondition | SearchQuery<TModel>, eagerLoading?: boolean): [SelectQueryBuilder<any>, SearchQuery<TModel>];
|
|
57
|
+
/**
|
|
58
|
+
* Create item
|
|
59
|
+
* @param model
|
|
60
|
+
* @param transactionHandler
|
|
61
|
+
* @deprecated Use save() method
|
|
62
|
+
*/
|
|
22
63
|
create(model: TModel, transactionHandler?: (callback: any) => Promise<void>): Promise<TModel>;
|
|
64
|
+
/**
|
|
65
|
+
* Update item
|
|
66
|
+
* @param id
|
|
67
|
+
* @param model
|
|
68
|
+
* @param transactionHandler
|
|
69
|
+
* @deprecated Use save() method
|
|
70
|
+
*/
|
|
23
71
|
update(id: number, model: TModel, transactionHandler?: (callback: any) => Promise<void>): Promise<TModel>;
|
|
72
|
+
/**
|
|
73
|
+
* Create or update item
|
|
74
|
+
* @param model
|
|
75
|
+
* @param transactionHandler
|
|
76
|
+
*/
|
|
24
77
|
save(model: TModel, transactionHandler?: (callback: any) => Promise<void>): Promise<TModel>;
|
|
78
|
+
/**
|
|
79
|
+
* Internal save method for overwrite in project
|
|
80
|
+
* @param manager
|
|
81
|
+
* @param nextModel
|
|
82
|
+
*/
|
|
25
83
|
saveInternal(manager: ISaveManager, nextModel: TModel): Promise<void>;
|
|
84
|
+
/**
|
|
85
|
+
* Remove item
|
|
86
|
+
* @param id
|
|
87
|
+
* @param transactionHandler
|
|
88
|
+
*/
|
|
26
89
|
remove(id: number, transactionHandler?: (callback: any) => Promise<void>): Promise<void>;
|
|
90
|
+
/**
|
|
91
|
+
* Internal remove method for overwrite in project
|
|
92
|
+
* @param manager
|
|
93
|
+
* @param id
|
|
94
|
+
*/
|
|
27
95
|
removeInternal(manager: EntityManager, id: number): Promise<void>;
|
|
96
|
+
/**
|
|
97
|
+
* Mapping model to entity object
|
|
98
|
+
* @param model
|
|
99
|
+
* @protected
|
|
100
|
+
*/
|
|
28
101
|
protected modelToEntity(model: any): any;
|
|
102
|
+
/**
|
|
103
|
+
* Mapping entity object to model
|
|
104
|
+
* @param obj
|
|
105
|
+
* @protected
|
|
106
|
+
*/
|
|
29
107
|
protected entityToModel(obj: any): TModel;
|
|
108
|
+
/**
|
|
109
|
+
* Soft remove item
|
|
110
|
+
* @param id
|
|
111
|
+
* @param transactionHandler
|
|
112
|
+
*/
|
|
30
113
|
softRemove(id: number, transactionHandler?: (callback: () => Promise<void>) => Promise<void>): Promise<void>;
|
|
114
|
+
/**
|
|
115
|
+
* Internal soft remove method for overwrite in project
|
|
116
|
+
* @param manager
|
|
117
|
+
* @param id
|
|
118
|
+
*/
|
|
31
119
|
softRemoveInternal(manager: EntityManager, id: number): Promise<void>;
|
|
32
120
|
}
|