@steroidsjs/nest 1.2.2 → 1.2.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steroidsjs/nest",
3
- "version": "1.2.2",
3
+ "version": "1.2.5",
4
4
  "scripts": {
5
5
  "build": "tsc && copyfiles ./{package.json,LICENSE,README.md} dist/",
6
6
  "watch": "tsc -p tsconfig-debug.json",
@@ -33,6 +33,6 @@ export declare const getMetaPrimaryKey: (targetClass: any) => string;
33
33
  export declare const getFieldOptions: (targetClass: any, fieldName: string) => IAllFieldOptions;
34
34
  export declare const isMetaClass: (MetaClass: any) => boolean;
35
35
  export declare const getMetaFields: (MetaClass: any) => string[];
36
- export declare const getMetaRelations: (MetaClass: any) => string[];
36
+ export declare const getMetaRelations: (MetaClass: any, parentPrefix?: any) => string[];
37
37
  export declare const getFieldDecorator: (targetClass: any, fieldName: string) => (...args: any) => PropertyDecorator;
38
38
  export declare function BaseField(options?: IBaseFieldOptions, internalOptions?: IInternalFieldOptions): <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
@@ -4,6 +4,7 @@ exports.BaseField = exports.getFieldDecorator = exports.getMetaRelations = expor
4
4
  const common_1 = require("@nestjs/common");
5
5
  const swagger_1 = require("@nestjs/swagger");
6
6
  const class_validator_1 = require("class-validator");
7
+ const Transform_1 = require("../Transform");
7
8
  exports.STEROIDS_META_FIELD = 'steroids_meta_field';
8
9
  exports.STEROIDS_META_FIELD_DECORATOR = 'steroids_meta_field_decorator';
9
10
  exports.STEROIDS_META_KEYS = 'steroids_meta_keys';
@@ -24,12 +25,23 @@ const getMetaFields = (MetaClass) => {
24
25
  return Reflect.getMetadata(exports.STEROIDS_META_KEYS, MetaClass.prototype) || [];
25
26
  };
26
27
  exports.getMetaFields = getMetaFields;
27
- const getMetaRelations = (MetaClass) => {
28
+ const getMetaRelations = (MetaClass, parentPrefix = null) => {
28
29
  return (0, exports.getMetaFields)(MetaClass)
29
30
  .filter(fieldName => {
30
31
  const options = (0, exports.getFieldOptions)(MetaClass, fieldName);
31
32
  return ['relationId', 'relation'].includes(options.appType);
32
- });
33
+ })
34
+ .reduce((allRelations, relationName) => {
35
+ allRelations.push(relationName);
36
+ let relationValue = Reflect.getOwnMetadata('design:type', MetaClass.prototype, relationName);
37
+ if ((0, exports.isMetaClass)(relationValue)) {
38
+ const subRelationNames = (0, exports.getMetaRelations)(relationValue, relationName).map(subRelationName => {
39
+ return `${relationName}.${subRelationName}`;
40
+ });
41
+ allRelations = [...allRelations, ...subRelationNames];
42
+ }
43
+ return allRelations;
44
+ }, []);
33
45
  };
34
46
  exports.getMetaRelations = getMetaRelations;
35
47
  const getFieldDecorator = (targetClass, fieldName) => {
@@ -58,6 +70,7 @@ function BaseField(options = null, internalOptions = {}) {
58
70
  required: options.nullable === false,
59
71
  isArray: options.isArray,
60
72
  }),
73
+ options.transform && (0, Transform_1.Transform)(options.transform),
61
74
  options.required && (0, class_validator_1.IsNotEmpty)({
62
75
  message: 'Обязательно для заполнения',
63
76
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"BaseField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/BaseField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,6CAA4C;AAE5C,qDAA2C;AAI9B,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAC5C,QAAA,6BAA6B,GAAG,+BAA+B,CAAC;AAChE,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAiChD,MAAM,iBAAiB,GAAG,CAAC,WAAW,EAAU,EAAE;IACrD,OAAO,IAAA,qBAAa,EAAC,WAAW,CAAC;SAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,uBAAe,EAAC,WAAW,EAAE,GAAG,CAAC,CAAC,OAAO,KAAK,YAAY,CAAC,IAAI,IAAI,CAAC;AACzF,CAAC,CAAC;AAHW,QAAA,iBAAiB,qBAG5B;AAEK,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,SAAiB,EAAoB,EAAE;IAChF,OAAO,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,2BAAmB,EAAE,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACrG,CAAC,CAAC;AAFW,QAAA,eAAe,mBAE1B;AAEK,MAAM,WAAW,GAAG,CAAC,SAAS,EAAW,EAAE;IAC9C,OAAO,OAAO,CAAC,WAAW,CAAC,0BAAkB,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;AACxE,CAAC,CAAA;AAFY,QAAA,WAAW,eAEvB;AAEM,MAAM,aAAa,GAAG,CAAC,SAAS,EAAY,EAAE;IACjD,OAAO,OAAO,CAAC,WAAW,CAAC,0BAAkB,EAAE,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AAC9E,CAAC,CAAA;AAFY,QAAA,aAAa,iBAEzB;AAEM,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAY,EAAE;IACpD,OAAO,IAAA,qBAAa,EAAC,SAAS,CAAC;SAC1B,MAAM,CAAC,SAAS,CAAC,EAAE;QAChB,MAAM,OAAO,GAAG,IAAA,uBAAe,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACtD,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACX,CAAC,CAAA;AANY,QAAA,gBAAgB,oBAM5B;AAEM,MAAM,iBAAiB,GAAG,CAAC,WAAW,EAAE,SAAiB,EAAuC,EAAE;IACrG,MAAM,aAAa,GAAW,OAAO,CAAC,WAAW,CAAC,qCAA6B,EAAE,WAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACnH,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;IACpD,IAAI,CAAC,SAAS,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,6BAA6B,aAAa,eAAe,SAAS,EAAE,CAAC,CAAC;KACzF;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AARW,QAAA,iBAAiB,qBAQ5B;AAEF,MAAM,mBAAmB,GAAG,CAAC,OAA0B,EAAE,eAAsC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;IACzH,OAAO,CAAC,cAAc,CAAC,2BAAmB,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAC3E,OAAO,CAAC,cAAc,CAAC,qCAA6B,EAAE,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAG3G,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,0BAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IACzE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9B,OAAO,CAAC,cAAc,CAAC,0BAAkB,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,SAAgB,SAAS,CAAC,UAA6B,IAAI,EAAE,kBAAyC,EAAE;IACpG,OAAO,IAAA,wBAAe,EAClB,GAAG;QACC,mBAAmB,+BACf,KAAK,EAAE,IAAI,EACX,IAAI,EAAE,IAAI,IACP,OAAO,KACV,OAAO,EAAE,eAAe,CAAC,OAAO,IAAI,IAAI,EACxC,OAAO,EAAE,eAAe,CAAC,OAAO,IAAI,IAAI,KACzC,eAAe,CAAC;QACnB,IAAA,qBAAW,EAAC;YACR,IAAI,EAAE,OAAO,CAAC,MAAM;YACpB,WAAW,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;YACvC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,SAAS;YACrC,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,KAAK;YACpC,OAAO,EAAE,OAAO,CAAC,OAAO;SAC3B,CAAC;QACF,OAAO,CAAC,QAAQ,IAAI,IAAA,4BAAU,EAAC;YAC3B,OAAO,EAAE,4BAA4B;SACxC,CAAC;KACL,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AAtBD,8BAsBC"}
1
+ {"version":3,"file":"BaseField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/BaseField.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { IBaseFieldOptions } from './BaseField';
2
- export interface IExtendFieldOptions extends IBaseFieldOptions {
1
+ import { IAllFieldOptions } from "./index";
2
+ export interface IExtendFieldOptions {
3
3
  sourceFieldName?: string;
4
4
  }
5
- export declare function ExtendField(modelClass: any, options?: string | IExtendFieldOptions): (object: any, propertyName: any) => void;
5
+ export declare function ExtendField(modelClass: any, options?: string | IAllFieldOptions | any): (object: any, propertyName: any) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"ExtendField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/ExtendField.ts"],"names":[],"mappings":";;;AAAA,2CAAkF;AAOlF,SAAgB,WAAW,CAAC,UAAU,EAAE,UAAwC,EAAE;IAC9E,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;QAC5B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC7B,OAAO,GAAG,EAAC,eAAe,EAAE,OAAO,EAAC,CAAC;SACxC;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,eAAe,IAAI,YAAY,CAAC;QAC/D,IAAI,CAAC,cAAc,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,YAAY,GAAG,cAAc,GAAG,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;SAChG;QAGD,MAAM,aAAa,GAAG,IAAA,2BAAe,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,IAAA,6BAAiB,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAChE,SAAS,iCAAK,aAAa,GAAK,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACpE,CAAC,CAAC;AACN,CAAC;AAhBD,kCAgBC"}
1
+ {"version":3,"file":"ExtendField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/ExtendField.ts"],"names":[],"mappings":";;;AAAA,2CAAkF;AAQlF,SAAgB,WAAW,CAAC,UAAU,EAAE,UAA2C,EAAE;IACjF,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;QAC5B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC7B,OAAO,GAAG,EAAC,eAAe,EAAE,OAAO,EAAC,CAAC;SACxC;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,eAAe,IAAI,YAAY,CAAC;QAC/D,IAAI,CAAC,cAAc,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,YAAY,GAAG,cAAc,GAAG,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;SAChG;QAGD,MAAM,aAAa,GAAG,IAAA,2BAAe,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,IAAA,6BAAiB,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAChE,SAAS,iCAAK,aAAa,GAAK,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACpE,CAAC,CAAC;AACN,CAAC;AAhBD,kCAgBC"}
@@ -75,6 +75,9 @@ const relationTransform = ({ value, options }) => {
75
75
  exports.relationTransform = relationTransform;
76
76
  function RelationField(options) {
77
77
  const OwningDecorator = getOwningDecorator(options);
78
+ if (!options.transform) {
79
+ options.transform = exports.relationTransform;
80
+ }
78
81
  return (0, common_1.applyDecorators)(...[
79
82
  (0, BaseField_1.BaseField)(options, {
80
83
  decoratorName: 'RelationField',
@@ -88,7 +91,6 @@ function RelationField(options) {
88
91
  (0, class_transformer_1.Type)(options.relationClass),
89
92
  (0, Transform_1.Transform)(exports.relationTransformFromDb, Transform_1.TRANSFORM_TYPE_FROM_DB),
90
93
  (0, Transform_1.Transform)(exports.relationTransformToDb, Transform_1.TRANSFORM_TYPE_TO_DB),
91
- (0, Transform_1.Transform)(options.transform || exports.relationTransform),
92
94
  ].filter(Boolean));
93
95
  }
94
96
  exports.RelationField = RelationField;
@@ -1 +1 @@
1
- {"version":3,"file":"RelationField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/RelationField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA0F;AAC1F,qDAA+C;AAC/C,yDAAuC;AACvC,2CAA4G;AAC5G,sDAAoD;AACpD,4CAAqF;AACrF,qEAAgE;AA6BhE,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAO,EAAE;IAC3C,QAAQ,QAAQ,EAAE;QACd,KAAK,UAAU;YACX,OAAO,kBAAQ,CAAC;QACpB,KAAK,YAAY;YACb,OAAO,oBAAU,CAAC;QACtB,KAAK,WAAW;YACZ,OAAO,mBAAS,CAAC;QACrB,KAAK,WAAW;YACZ,OAAO,mBAAS,CAAC;QACrB;YACI,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,QAAQ,CAAC,CAAC;KAC3D;AACL,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CAAC,OAAwE,EAAE,EAAE;IACpG,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE;QACvD,OAAO,mBAAS,CAAC;KACpB;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE;QACrD,OAAO,oBAAU,CAAC;KACrB;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,EAAE;IAC/D,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACjC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;KACnE;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC,EAAE;QAC9D,OAAO,uBAAU,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;KAChD;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AACD,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,EAAE;IACxD,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACjC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;KAC5D;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,MAAM,UAAU,GAAG,IAAA,6BAAiB,EAAC,UAAU,CAAC,CAAC;QACjD,OAAO,uBAAU,CAAC,MAAM,CAAC,UAAU,EAAE,EAAC,CAAC,UAAU,CAAC,EAAE,KAAK,EAAC,CAAC,CAAC;KAC/D;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AAEM,MAAM,uBAAuB,GAAG,CAAC,EAAC,KAAK,EAAE,OAAO,EAAC,EAAE,EAAE;IACxD,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAC3C,OAAO,kBAAkB,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAClE,CAAC,CAAA;AAHY,QAAA,uBAAuB,2BAGnC;AAEM,MAAM,qBAAqB,GAAG,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAC,EAAE,EAAE;IACjE,MAAM,UAAU,GAAG,IAAA,kCAAiB,EAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAE9D,MAAM,cAAc,GAAG,IAAA,yBAAa,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC/D,MAAM,eAAe,GAAG,IAAA,2BAAe,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAChE,OAAO,eAAe,CAAC,OAAO,KAAK,YAAY,IAAI,eAAe,CAAC,YAAY,KAAK,GAAG,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,IAAI,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE;QACxC,OAAO,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;KACzE;IAED,OAAO,kBAAkB,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAClE,CAAC,CAAA;AAbY,QAAA,qBAAqB,yBAajC;AAEM,MAAM,iBAAiB,GAAG,CAAC,EAAC,KAAK,EAAE,OAAO,EAAC,EAAE,EAAE;IAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IACzC,OAAO,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAChE,CAAC,CAAA;AAHY,QAAA,iBAAiB,qBAG7B;AAED,SAAgB,aAAa,CAAC,OAA8B;IACxD,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAc,CAAC,CAAC;IAE3D,OAAO,IAAA,wBAAe,EAClB,GAAG;QACC,IAAA,qBAAS,EAAC,OAAO,EAAE;YACf,aAAa,EAAE,eAAe;YAC9B,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;SAC9D,CAAC;QACF,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAC9B,GAAG,EAAE,CAAC,IAAA,kCAAiB,EAAC,OAAO,CAAC,aAAa,EAAE,CAAC,EAC/C,OAAe,CAAC,WAAW,EAC5B,EAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAC,CACvD;QACD,eAAe,IAAI,eAAe,EAAE;QAEpC,IAAA,gCAAc,EAAC,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC;QAC5B,IAAA,wBAAI,EAAC,OAAO,CAAC,aAAa,CAAC;QAC3B,IAAA,qBAAS,EAAC,+BAAuB,EAAE,kCAAsB,CAAC;QAC1D,IAAA,qBAAS,EAAC,6BAAqB,EAAE,gCAAoB,CAAC;QACtD,IAAA,qBAAS,EAAC,OAAO,CAAC,SAAS,IAAI,yBAAiB,CAAC;KACpD,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AAzBD,sCAyBC"}
1
+ {"version":3,"file":"RelationField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/RelationField.ts"],"names":[],"mappings":";;;AAAA,2CAA+C;AAC/C,qCAA0F;AAC1F,qDAA+C;AAC/C,yDAAuC;AACvC,2CAA4G;AAC5G,sDAAoD;AACpD,4CAAqF;AACrF,qEAAgE;AA6BhE,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAO,EAAE;IAC3C,QAAQ,QAAQ,EAAE;QACd,KAAK,UAAU;YACX,OAAO,kBAAQ,CAAC;QACpB,KAAK,YAAY;YACb,OAAO,oBAAU,CAAC;QACtB,KAAK,WAAW;YACZ,OAAO,mBAAS,CAAC;QACrB,KAAK,WAAW;YACZ,OAAO,mBAAS,CAAC;QACrB;YACI,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,QAAQ,CAAC,CAAC;KAC3D;AACL,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CAAC,OAAwE,EAAE,EAAE;IACpG,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE;QACvD,OAAO,mBAAS,CAAC;KACpB;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE;QACrD,OAAO,oBAAU,CAAC;KACrB;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,EAAE;IAC/D,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACjC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;KACnE;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC,EAAE;QAC9D,OAAO,uBAAU,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;KAChD;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AACD,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,EAAE;IACxD,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACjC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;KAC5D;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,MAAM,UAAU,GAAG,IAAA,6BAAiB,EAAC,UAAU,CAAC,CAAC;QACjD,OAAO,uBAAU,CAAC,MAAM,CAAC,UAAU,EAAE,EAAC,CAAC,UAAU,CAAC,EAAE,KAAK,EAAC,CAAC,CAAC;KAC/D;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AAEM,MAAM,uBAAuB,GAAG,CAAC,EAAC,KAAK,EAAE,OAAO,EAAC,EAAE,EAAE;IACxD,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAC3C,OAAO,kBAAkB,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAClE,CAAC,CAAA;AAHY,QAAA,uBAAuB,2BAGnC;AAEM,MAAM,qBAAqB,GAAG,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAC,EAAE,EAAE;IACjE,MAAM,UAAU,GAAG,IAAA,kCAAiB,EAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAE9D,MAAM,cAAc,GAAG,IAAA,yBAAa,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC/D,MAAM,eAAe,GAAG,IAAA,2BAAe,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAChE,OAAO,eAAe,CAAC,OAAO,KAAK,YAAY,IAAI,eAAe,CAAC,YAAY,KAAK,GAAG,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,IAAI,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE;QACxC,OAAO,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;KACzE;IAED,OAAO,kBAAkB,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAClE,CAAC,CAAA;AAbY,QAAA,qBAAqB,yBAajC;AAEM,MAAM,iBAAiB,GAAG,CAAC,EAAC,KAAK,EAAE,OAAO,EAAC,EAAE,EAAE;IAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IACzC,OAAO,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAChE,CAAC,CAAA;AAHY,QAAA,iBAAiB,qBAG7B;AAED,SAAgB,aAAa,CAAC,OAA8B;IACxD,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAc,CAAC,CAAC;IAE3D,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;QACpB,OAAO,CAAC,SAAS,GAAG,yBAAiB,CAAC;KACzC;IAED,OAAO,IAAA,wBAAe,EAClB,GAAG;QACC,IAAA,qBAAS,EAAC,OAAO,EAAE;YACf,aAAa,EAAE,eAAe;YAC9B,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;SAC9D,CAAC;QACF,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAC9B,GAAG,EAAE,CAAC,IAAA,kCAAiB,EAAC,OAAO,CAAC,aAAa,EAAE,CAAC,EAC/C,OAAe,CAAC,WAAW,EAC5B,EAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAC,CACvD;QACD,eAAe,IAAI,eAAe,EAAE;QAEpC,IAAA,gCAAc,EAAC,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC;QAC5B,IAAA,wBAAI,EAAC,OAAO,CAAC,aAAa,CAAC;QAC3B,IAAA,qBAAS,EAAC,+BAAuB,EAAE,kCAAsB,CAAC;QAC1D,IAAA,qBAAS,EAAC,6BAAqB,EAAE,gCAAoB,CAAC;KACzD,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AA5BD,sCA4BC"}
@@ -45,6 +45,9 @@ const relationTransform = ({ value, options }) => {
45
45
  };
46
46
  exports.relationTransform = relationTransform;
47
47
  function RelationIdField(options = {}) {
48
+ if (!options.transform) {
49
+ options.transform = exports.relationTransform;
50
+ }
48
51
  return (0, common_1.applyDecorators)(...[
49
52
  (0, BaseField_1.BaseField)(options, {
50
53
  decoratorName: 'RelationIdField',
@@ -53,7 +56,6 @@ function RelationIdField(options = {}) {
53
56
  }),
54
57
  (0, Transform_1.Transform)(exports.relationTransformFromDb, Transform_1.TRANSFORM_TYPE_FROM_DB),
55
58
  (0, Transform_1.Transform)(exports.relationTransformToDb, Transform_1.TRANSFORM_TYPE_TO_DB),
56
- (0, Transform_1.Transform)(options.transform || exports.relationTransform),
57
59
  ].filter(Boolean));
58
60
  }
59
61
  exports.RelationIdField = RelationIdField;
@@ -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,qEAAgE;AAOhE,MAAM,+BAA+B,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,EAAE;IAC3E,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACjC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,+BAA+B,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;KAC/E;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACpC,MAAM,UAAU,GAAG,IAAA,6BAAiB,EAAC,UAAU,CAAC,CAAC;QACjD,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC;KAC5B;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AACM,MAAM,uBAAuB,GAAG,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAC,EAAE,EAAE;IACnE,IAAI,KAAK,EAAE;QACP,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,eAAe,GAAG,IAAA,2BAAe,EAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAChF,MAAM,UAAU,GAAG,IAAA,kCAAiB,EAAC,eAAe,CAAC,aAAa,EAAE,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEjD,OAAO,+BAA+B,CAAC,UAAU,EAAE,aAAa,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;AAC/F,CAAC,CAAA;AAVY,QAAA,uBAAuB,2BAUnC;AAID,MAAM,6BAA6B,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,EAAE;IACzE,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACjC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,6BAA6B,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;KAC7E;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,MAAM,UAAU,GAAG,IAAA,6BAAiB,EAAC,UAAU,CAAC,CAAC;QACjD,OAAO,uBAAU,CAAC,MAAM,CAAC,UAAU,EAAE,EAAC,CAAC,UAAU,CAAC,EAAE,KAAK,EAAC,CAAC,CAAC;KAC/D;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AACM,MAAM,qBAAqB,GAAG,CAAC,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAC,EAAE,EAAE;IAE5D,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AAHY,QAAA,qBAAqB,yBAGjC;AAEM,MAAM,iBAAiB,GAAG,CAAC,EAAC,KAAK,EAAE,OAAO,EAAC,EAAE,EAAE;IAClD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AAFY,QAAA,iBAAiB,qBAE7B;AAED,SAAgB,eAAe,CAAC,UAAmC,EAAE;IACjE,OAAO,IAAA,wBAAe,EAClB,GAAG;QACC,IAAA,qBAAS,EAAC,OAAO,EAAE;YACf,aAAa,EAAE,iBAAiB;YAChC,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,QAAQ;SACnB,CAAC;QACF,IAAA,qBAAS,EAAC,+BAAuB,EAAE,kCAAsB,CAAC;QAC1D,IAAA,qBAAS,EAAC,6BAAqB,EAAE,gCAAoB,CAAC;QACtD,IAAA,qBAAS,EAAC,OAAO,CAAC,SAAS,IAAI,yBAAiB,CAAC;KACpD,CAAC,MAAM,CAAC,OAAO,CAAC,CACpB,CAAC;AACN,CAAC;AAbD,0CAaC"}
1
+ {"version":3,"file":"RelationIdField.js","sourceRoot":"","sources":["../../../../../src/infrastructure/decorators/fields/RelationIdField.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ class SearchQuery {
15
15
  static prepare(dbRepository, dbQuery, searchQuery) {
16
16
  var _a, _b;
17
17
  const prefix = ((_a = dbQuery.expressionMap) === null || _a === void 0 ? void 0 : _a.mainAlias) ? dbQuery.expressionMap.mainAlias.name + '.' : '';
18
- const relationPrefix = ((_b = dbQuery.expressionMap) === null || _b === void 0 ? void 0 : _b.mainAlias) ? dbQuery.expressionMap.mainAlias.name + '' : 'relation';
18
+ const relationPrefix = ((_b = dbQuery.expressionMap) === null || _b === void 0 ? void 0 : _b.mainAlias) ? dbQuery.expressionMap.mainAlias.name + '_' : 'relation';
19
19
  const table = dbRepository.target;
20
20
  let select = searchQuery.select;
21
21
  if (searchQuery.excludeSelect) {
@@ -28,16 +28,23 @@ class SearchQuery {
28
28
  }
29
29
  (searchQuery.relations || []).forEach(relation => {
30
30
  const options = (0, BaseField_1.getFieldOptions)(table, relation);
31
- if (!options) {
32
- throw new Error('Not found relation "' + relation + '" for table "' + table + '"');
33
- }
34
- switch (options.appType) {
31
+ switch (options === null || options === void 0 ? void 0 : options.appType) {
35
32
  case 'relationId':
36
33
  const relationIdOptions = options;
37
34
  dbQuery.loadRelationIdAndMap(prefix + relation, prefix + relationIdOptions.relationName);
38
35
  break;
36
+ default:
39
37
  case 'relation':
40
- dbQuery.leftJoinAndSelect(prefix + relation, relationPrefix + relation);
38
+ let currentPrefix = prefix;
39
+ let childRelation = null;
40
+ const parentRelation = /\./.test(relation)
41
+ ? relation.replace(/\.\w+/, '')
42
+ : null;
43
+ if (parentRelation) {
44
+ currentPrefix = relationPrefix + parentRelation;
45
+ childRelation = relation.replace(parentRelation, '');
46
+ }
47
+ dbQuery.leftJoinAndSelect(currentPrefix + (childRelation || relation), relationPrefix + relation);
41
48
  break;
42
49
  }
43
50
  });
@@ -1 +1 @@
1
- {"version":3,"file":"SearchQuery.js","sourceRoot":"","sources":["../../../../src/usecases/base/SearchQuery.ts"],"names":[],"mappings":";;AAGA,sFAA2F;AAC3F,gFAAmG;AAEnG,gEAAuE;AASvE,MAAqB,WAAW;IAO5B,MAAM,CAAC,gBAAgB,CAAC,WAAW;QAC/B,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAEtC,MAAM,OAAO,GAAG,IAAA,qCAAsB,EAAC,WAAW,CAAC,CAAC;QACpD,WAAW,CAAC,MAAM,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC;QACrC,WAAW,CAAC,aAAa,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC;QACnD,WAAW,CAAC,SAAS,GAAG,IAAA,4BAAgB,EAAC,WAAW,CAAC,CAAC;QAEtD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,OAAO,CACV,YAA6B,EAC7B,OAAgC,EAChC,WAAwB;;QAExB,MAAM,MAAM,GAAG,CAAA,MAAA,OAAO,CAAC,aAAa,0CAAE,SAAS,EAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClG,MAAM,cAAc,GAAG,CAAA,MAAA,OAAO,CAAC,aAAa,0CAAE,SAAS,EAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QACjH,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC;QAGlC,IAAI,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QAChC,IAAI,WAAW,CAAC,aAAa,EAAE;YAC3B,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO;iBACjC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;iBAClC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;SAClE;QAED,IAAI,MAAM,EAAE;YACR,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;SACrD;QAGD,CAAC,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC7C,MAAM,OAAO,GAAG,IAAA,2BAAe,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACjD,IAAI,CAAC,OAAO,EAAE;gBACV,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,QAAQ,GAAG,eAAe,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC;aACtF;YACD,QAAQ,OAAO,CAAC,OAAO,EAAE;gBACrB,KAAK,YAAY;oBACb,MAAM,iBAAiB,GAAG,OAAkC,CAAC;oBAC7D,OAAO,CAAC,oBAAoB,CACxB,MAAM,GAAG,QAAQ,EACjB,MAAM,GAAG,iBAAiB,CAAC,YAAY,CAC1C,CAAC;oBACF,MAAM;gBAEV,KAAK,UAAU;oBAEX,OAAO,CAAC,iBAAiB,CACrB,MAAM,GAAG,QAAQ,EACjB,cAAc,GAAG,QAAQ,CAC5B,CAAC;oBACF,MAAM;aACb;QACL,CAAC,CAAC,CAAC;QAGH,IAAI,WAAW,CAAC,SAAS,EAAE;YACvB,OAAO,CAAC,QAAQ,CAAC,iCAAe,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;SACtE;IACL,CAAC;CACJ;AArED,8BAqEC"}
1
+ {"version":3,"file":"SearchQuery.js","sourceRoot":"","sources":["../../../../src/usecases/base/SearchQuery.ts"],"names":[],"mappings":"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"}
@@ -18,21 +18,26 @@ class DataMapper {
18
18
  static applyValues(object, values, transformType = Transform_1.TRANSFORM_TYPE_DEFAULT) {
19
19
  const MetaClass = object.constructor;
20
20
  const keys = (0, BaseField_1.isMetaClass)(MetaClass) ? (0, BaseField_1.getMetaFields)(MetaClass) : Object.keys(values);
21
+ const transformTypes = transformType === Transform_1.TRANSFORM_TYPE_DEFAULT
22
+ ? [transformType, Transform_1.TRANSFORM_TYPE_COMPUTABLE]
23
+ : [transformType];
21
24
  keys.forEach(name => {
22
25
  const options = (0, BaseField_1.getFieldOptions)(MetaClass, name);
23
26
  const sourceName = (options === null || options === void 0 ? void 0 : options.sourceFieldName) || name;
24
27
  if ((0, lodash_1.has)(values, sourceName)) {
25
28
  object[name] = values[sourceName];
26
29
  }
27
- if ((0, lodash_1.has)(values, sourceName) || transformType !== Transform_1.TRANSFORM_TYPE_DEFAULT) {
28
- const callbacks = (0, Transform_1.getTransformCallbacks)(MetaClass.prototype, name, transformType);
29
- for (let callback of callbacks) {
30
- object[name] = callback({
31
- value: object[name],
32
- item: values,
33
- key: name,
34
- options,
35
- });
30
+ for (let type of transformTypes) {
31
+ if ((0, lodash_1.has)(values, sourceName) || type !== Transform_1.TRANSFORM_TYPE_DEFAULT) {
32
+ const callbacks = (0, Transform_1.getTransformCallbacks)(MetaClass.prototype, name, type);
33
+ for (let callback of callbacks) {
34
+ object[name] = callback({
35
+ value: object[name],
36
+ item: values,
37
+ key: name,
38
+ options,
39
+ });
40
+ }
36
41
  }
37
42
  }
38
43
  });
@@ -1 +1 @@
1
- {"version":3,"file":"DataMapper.js","sourceRoot":"","sources":["../../../../src/usecases/helpers/DataMapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataMapper.js","sourceRoot":"","sources":["../../../../src/usecases/helpers/DataMapper.ts"],"names":[],"mappings":"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"}