@foxiko/nest-common 0.2.26 → 0.2.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/build/common/base-related.service.d.ts +16 -0
  2. package/build/common/base.event.d.ts +12 -0
  3. package/build/common/base.event.js +22 -0
  4. package/build/common/base.event.js.map +1 -0
  5. package/build/common/base.service.d.ts +16 -0
  6. package/build/common/constants.d.ts +2 -0
  7. package/build/common/constants.js +6 -0
  8. package/build/common/constants.js.map +1 -0
  9. package/build/common/decorators/crud.decorator.d.ts +7 -0
  10. package/build/common/decorators/embedded.decorator.d.ts +2 -0
  11. package/build/common/decorators/embedded.decorator.js +67 -0
  12. package/build/common/decorators/embedded.decorator.js.map +1 -0
  13. package/build/common/decorators/inject-entity.decorator.d.ts +10 -0
  14. package/build/common/decorators/readonly.decorator.d.ts +2 -0
  15. package/build/common/decorators/readonly.decorator.js +11 -0
  16. package/build/common/decorators/readonly.decorator.js.map +1 -0
  17. package/build/common/dto/pagination.dto.d.ts +7 -0
  18. package/build/common/dto/pagination.dto.js +42 -0
  19. package/build/common/dto/pagination.dto.js.map +1 -0
  20. package/build/common/interfaces/crud-options.interface.d.ts +28 -0
  21. package/build/common/utils/api-property.util.d.ts +5 -0
  22. package/build/common/utils/api-property.util.js +4 -1
  23. package/build/common/utils/api-property.util.js.map +1 -1
  24. package/build/common/utils/dto-factory.util.d.ts +5 -0
  25. package/build/common/utils/dto-factory.util.js +25 -7
  26. package/build/common/utils/dto-factory.util.js.map +1 -1
  27. package/build/common/utils/entity-name.util.d.ts +8 -0
  28. package/build/common/utils/entity-name.util.js +51 -0
  29. package/build/common/utils/entity-name.util.js.map +1 -0
  30. package/build/index.d.ts +10 -0
  31. package/package.json +1 -1
@@ -0,0 +1,16 @@
1
+ import { EntityRepository, FilterQuery, FindOptions, RequiredEntityData, AnyEntity } from '@mikro-orm/core';
2
+ import { EventEmitter2 } from '@nestjs/event-emitter';
3
+ import { BaseService } from './base.service';
4
+ export declare abstract class BaseRelatedService<T extends AnyEntity, R extends AnyEntity> extends BaseService<T> {
5
+ protected readonly repository: EntityRepository<T>;
6
+ protected readonly relatedRepository: EntityRepository<R>;
7
+ protected readonly eventEmitter?: EventEmitter2;
8
+ slug: string;
9
+ protected constructor(repository: EntityRepository<T>, relatedRepository: EntityRepository<R>, eventEmitter?: EventEmitter2);
10
+ findAll(where: FilterQuery<T>, options?: FindOptions<T>): Promise<import("@mikro-orm/core").Loaded<T, never, import("@mikro-orm/core").PopulatePath.ALL, never>[]>;
11
+ query(where: FilterQuery<T>, options: FindOptions<T>): Promise<[import("@mikro-orm/core").Loaded<T, never, import("@mikro-orm/core").PopulatePath.ALL, never>[], number]>;
12
+ findOne(where: FilterQuery<T>): Promise<import("@mikro-orm/core").Loaded<T, never, "*", never>>;
13
+ create(data: RequiredEntityData<T>): Promise<T>;
14
+ createMany(data: RequiredEntityData<T>[]): Promise<T[]>;
15
+ private validateRelatedEntity;
16
+ }
@@ -0,0 +1,12 @@
1
+ export declare class CRUDEventUpdate<T> {
2
+ readonly entity: T;
3
+ constructor(entity: T);
4
+ }
5
+ export declare class CRUDEventCreate<T> {
6
+ readonly entity: T;
7
+ constructor(entity: T);
8
+ }
9
+ export declare class CRUDEventDelete<T> {
10
+ readonly entity: T;
11
+ constructor(entity: T);
12
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CRUDEventDelete = exports.CRUDEventCreate = exports.CRUDEventUpdate = void 0;
4
+ class CRUDEventUpdate {
5
+ constructor(entity) {
6
+ this.entity = entity;
7
+ }
8
+ }
9
+ exports.CRUDEventUpdate = CRUDEventUpdate;
10
+ class CRUDEventCreate {
11
+ constructor(entity) {
12
+ this.entity = entity;
13
+ }
14
+ }
15
+ exports.CRUDEventCreate = CRUDEventCreate;
16
+ class CRUDEventDelete {
17
+ constructor(entity) {
18
+ this.entity = entity;
19
+ }
20
+ }
21
+ exports.CRUDEventDelete = CRUDEventDelete;
22
+ //# sourceMappingURL=base.event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.event.js","sourceRoot":"","sources":["../../src/common/base.event.ts"],"names":[],"mappings":";;;AAAA,MAAa,eAAe;IACxB,YAA4B,MAAS;QAAT,WAAM,GAAN,MAAM,CAAG;IAAG,CAAC;CAC5C;AAFD,0CAEC;AAED,MAAa,eAAe;IACxB,YAA4B,MAAS;QAAT,WAAM,GAAN,MAAM,CAAG;IAAG,CAAC;CAC5C;AAFD,0CAEC;AAED,MAAa,eAAe;IACxB,YAA4B,MAAS;QAAT,WAAM,GAAN,MAAM,CAAG;IAAG,CAAC;CAC5C;AAFD,0CAEC"}
@@ -0,0 +1,16 @@
1
+ import { EntityRepository, FilterQuery, FindOptions, RequiredEntityData, EntityData, AnyEntity } from '@mikro-orm/core';
2
+ import { EventEmitter2 } from '@nestjs/event-emitter';
3
+ export declare abstract class BaseService<T extends AnyEntity> {
4
+ protected readonly repository: EntityRepository<T>;
5
+ protected readonly eventEmitter?: EventEmitter2;
6
+ slug: string;
7
+ protected constructor(repository: EntityRepository<T>, eventEmitter?: EventEmitter2);
8
+ findAll(where: FilterQuery<T>, options?: FindOptions<T>): Promise<import("@mikro-orm/core").Loaded<T, never, import("@mikro-orm/core").PopulatePath.ALL, never>[]>;
9
+ query(where: FilterQuery<T>, options: FindOptions<T>): Promise<[import("@mikro-orm/core").Loaded<T, never, import("@mikro-orm/core").PopulatePath.ALL, never>[], number]>;
10
+ count(where: FilterQuery<T>, options?: FindOptions<T>): Promise<number>;
11
+ findOne(where: FilterQuery<T>): Promise<import("@mikro-orm/core").Loaded<T, never, "*", never>>;
12
+ delete(where: FilterQuery<T>): Promise<number>;
13
+ create(data: RequiredEntityData<T>): Promise<T>;
14
+ createMany(data: RequiredEntityData<T>[]): Promise<T[]>;
15
+ update(where: FilterQuery<T>, data: EntityData<T>): Promise<import("@mikro-orm/core").Loaded<T, never, "*", never>>;
16
+ }
@@ -0,0 +1,2 @@
1
+ export declare const CRUD_OPTIONS_METADATA = "crud:options";
2
+ export declare const FETCHED_ENTITY_KEY = "crud:fetched_entity";
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FETCHED_ENTITY_KEY = exports.CRUD_OPTIONS_METADATA = void 0;
4
+ exports.CRUD_OPTIONS_METADATA = 'crud:options';
5
+ exports.FETCHED_ENTITY_KEY = 'crud:fetched_entity';
6
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/common/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,qBAAqB,GAAG,cAAc,CAAC;AACvC,QAAA,kBAAkB,GAAG,qBAAqB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { EntityData, AnyEntity } from '@mikro-orm/core';
2
+ import { BaseService } from '../base.service';
3
+ import { CrudOptions } from '../interfaces/crud-options.interface';
4
+ export interface ICrudController<T extends AnyEntity> {
5
+ readonly service: BaseService<T>;
6
+ }
7
+ export declare function Crud<T extends AnyEntity, C = EntityData<T>, U = EntityData<T>>(options: CrudOptions<T, C, U>): (target: Function) => void;
@@ -0,0 +1,2 @@
1
+ import { Type } from '@nestjs/common';
2
+ export declare function Embedded(typeFunc?: () => Type<any>): PropertyDecorator;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Embedded = Embedded;
4
+ const swagger_1 = require("@nestjs/swagger");
5
+ const class_transformer_1 = require("class-transformer");
6
+ const EMBEDDED_METADATA_KEY = 'custom:embedded_properties';
7
+ const EMBEDDED_CLASS_KEY = 'custom:embedded_class';
8
+ function Embedded(typeFunc) {
9
+ return (target, propertyKey) => {
10
+ const properties = Reflect.getMetadata(EMBEDDED_METADATA_KEY, target) || [];
11
+ if (!properties.includes(propertyKey)) {
12
+ properties.push(propertyKey);
13
+ Reflect.defineMetadata(EMBEDDED_METADATA_KEY, properties, target);
14
+ }
15
+ (0, class_transformer_1.Exclude)()(target, propertyKey);
16
+ (0, swagger_1.ApiHideProperty)()(target, propertyKey);
17
+ const targetConstructor = target.constructor;
18
+ let EmbeddedClass = Reflect.getMetadata(EMBEDDED_CLASS_KEY, targetConstructor);
19
+ if (!EmbeddedClass) {
20
+ EmbeddedClass = class {
21
+ };
22
+ Object.defineProperty(EmbeddedClass, 'name', { value: `${targetConstructor.name}Embedded` });
23
+ Reflect.defineMetadata(EMBEDDED_CLASS_KEY, EmbeddedClass, targetConstructor);
24
+ Object.defineProperty(target, '_embedded', {
25
+ get: function () {
26
+ const embeddedProps = Reflect.getMetadata(EMBEDDED_METADATA_KEY, target) || [];
27
+ const result = {};
28
+ let hasValues = false;
29
+ for (const prop of embeddedProps) {
30
+ if (this[prop] !== undefined && this[prop] !== null) {
31
+ result[prop] = this[prop];
32
+ hasValues = true;
33
+ }
34
+ }
35
+ return hasValues ? result : undefined;
36
+ },
37
+ enumerable: true,
38
+ configurable: true,
39
+ });
40
+ (0, class_transformer_1.Expose)()(target, '_embedded');
41
+ (0, swagger_1.ApiProperty)({ type: EmbeddedClass, readOnly: true, required: true })(target, '_embedded');
42
+ (0, class_transformer_1.Type)(() => EmbeddedClass)(target, '_embedded');
43
+ }
44
+ const designType = Reflect.getMetadata('design:type', target, propertyKey);
45
+ const isArray = designType === Array;
46
+ const resolvedType = typeFunc ? typeFunc() : designType;
47
+ Object.defineProperty(EmbeddedClass.prototype, propertyKey, {
48
+ value: undefined,
49
+ writable: true,
50
+ enumerable: true,
51
+ configurable: true,
52
+ });
53
+ (0, class_transformer_1.Expose)()(EmbeddedClass.prototype, propertyKey);
54
+ if (isArray && resolvedType) {
55
+ (0, swagger_1.ApiProperty)({ type: resolvedType, isArray: true })(EmbeddedClass.prototype, propertyKey);
56
+ (0, class_transformer_1.Type)(() => resolvedType)(EmbeddedClass.prototype, propertyKey);
57
+ }
58
+ else if (resolvedType) {
59
+ (0, swagger_1.ApiProperty)({ type: resolvedType })(EmbeddedClass.prototype, propertyKey);
60
+ (0, class_transformer_1.Type)(() => resolvedType)(EmbeddedClass.prototype, propertyKey);
61
+ }
62
+ else {
63
+ (0, swagger_1.ApiProperty)()(EmbeddedClass.prototype, propertyKey);
64
+ }
65
+ };
66
+ }
67
+ //# sourceMappingURL=embedded.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedded.decorator.js","sourceRoot":"","sources":["../../../src/common/decorators/embedded.decorator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { NestInterceptor, ExecutionContext, CallHandler } from '@nestjs/common';
2
+ import { Observable } from 'rxjs';
3
+ import { EntityManager } from '@mikro-orm/core';
4
+ export declare class CrudEntityInterceptor implements NestInterceptor {
5
+ private readonly em;
6
+ constructor(em: EntityManager);
7
+ intercept(context: ExecutionContext, next: CallHandler): Promise<Observable<any>>;
8
+ }
9
+ export declare function InjectCrudEntity(): (target: Function) => void;
10
+ export declare const FetchedEntity: (...dataOrPipes: unknown[]) => ParameterDecorator;
@@ -0,0 +1,2 @@
1
+ export declare const READONLY_METADATA_KEY = "custom:readonly";
2
+ export declare function ReadOnly(): PropertyDecorator;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.READONLY_METADATA_KEY = void 0;
4
+ exports.ReadOnly = ReadOnly;
5
+ exports.READONLY_METADATA_KEY = 'custom:readonly';
6
+ function ReadOnly() {
7
+ return (target, propertyKey) => {
8
+ Reflect.defineMetadata(exports.READONLY_METADATA_KEY, true, target, propertyKey);
9
+ };
10
+ }
11
+ //# sourceMappingURL=readonly.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readonly.decorator.js","sourceRoot":"","sources":["../../../src/common/decorators/readonly.decorator.ts"],"names":[],"mappings":";;;AAEA,4BAIC;AANY,QAAA,qBAAqB,GAAG,iBAAiB,CAAC;AAEvD,SAAgB,QAAQ;IACtB,OAAO,CAAC,MAAc,EAAE,WAA4B,EAAE,EAAE;QACtD,OAAO,CAAC,cAAc,CAAC,6BAAqB,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC3E,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare class PaginationDto<T> {
2
+ page: number;
3
+ limit: number;
4
+ totalPages: number;
5
+ total: number;
6
+ data: T[];
7
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.PaginationDto = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_transformer_1 = require("class-transformer");
15
+ class PaginationDto {
16
+ }
17
+ exports.PaginationDto = PaginationDto;
18
+ __decorate([
19
+ (0, class_transformer_1.Expose)(),
20
+ (0, swagger_1.ApiProperty)({ description: 'Page number', example: 1 }),
21
+ __metadata("design:type", Number)
22
+ ], PaginationDto.prototype, "page", void 0);
23
+ __decorate([
24
+ (0, class_transformer_1.Expose)(),
25
+ (0, swagger_1.ApiProperty)({ description: 'Limit number', example: 50 }),
26
+ __metadata("design:type", Number)
27
+ ], PaginationDto.prototype, "limit", void 0);
28
+ __decorate([
29
+ (0, class_transformer_1.Expose)(),
30
+ (0, swagger_1.ApiProperty)({ description: 'Total pages', example: 10 }),
31
+ __metadata("design:type", Number)
32
+ ], PaginationDto.prototype, "totalPages", void 0);
33
+ __decorate([
34
+ (0, class_transformer_1.Expose)(),
35
+ (0, swagger_1.ApiProperty)({ description: 'Total count', example: 100 }),
36
+ __metadata("design:type", Number)
37
+ ], PaginationDto.prototype, "total", void 0);
38
+ __decorate([
39
+ (0, class_transformer_1.Expose)(),
40
+ __metadata("design:type", Array)
41
+ ], PaginationDto.prototype, "data", void 0);
42
+ //# sourceMappingURL=pagination.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.dto.js","sourceRoot":"","sources":["../../../src/common/dto/pagination.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,yDAA2C;AAE3C,MAAa,aAAa;CAmBzB;AAnBD,sCAmBC;AAhBG;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;2CAC3C;AAIb;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;4CAC5C;AAId;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;iDACtC;AAInB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,qBAAW,EAAC,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;;4CAC5C;AAGd;IADC,IAAA,0BAAM,GAAE;;2CACC"}
@@ -0,0 +1,28 @@
1
+ import { Type } from '@nestjs/common';
2
+ import { EntityData, FilterQuery } from '@mikro-orm/core';
3
+ export interface CrudOptions<T, C = EntityData<T>, U = EntityData<T>> {
4
+ tag?: string;
5
+ entity: Type<T>;
6
+ createDto?: Type<C>;
7
+ updateDto?: Type<U>;
8
+ defaultValues?: (request: Request, params: Record<string, string>) => EntityData<T> | Promise<EntityData<T>>;
9
+ operations?: {
10
+ create?: {} | false;
11
+ createMany?: {} | false;
12
+ update?: {} | false;
13
+ import?: {} | false;
14
+ query?: {
15
+ pagination?: boolean;
16
+ sort?: {
17
+ field: string;
18
+ order: 'ASC' | 'DESC';
19
+ }[];
20
+ } | false;
21
+ read?: {} | false;
22
+ delete?: {} | false;
23
+ replace?: {} | false;
24
+ export?: {} | false;
25
+ };
26
+ persist?: (request: Request, params: Record<string, string>) => EntityData<T> | Promise<EntityData<T>>;
27
+ filter?: (request: Request, params: Record<string, string>) => FilterQuery<T> | Promise<FilterQuery<T>>;
28
+ }
@@ -0,0 +1,5 @@
1
+ import { ClassConstructor } from "class-transformer";
2
+ export declare class ApiPropertyUtil {
3
+ static processApiParams(target: any): void;
4
+ static createApiEntity<X, T extends ClassConstructor<X>>(entity: T, visited?: Set<any>): void;
5
+ }
@@ -112,7 +112,10 @@ class ApiPropertyUtil {
112
112
  };
113
113
  if (prop === null || prop === void 0 ? void 0 : prop.enum) {
114
114
  options.enum = prop.items;
115
- if (typeof prop.type === 'string') {
115
+ if (typeof prop.items === 'function') {
116
+ options.enum = prop.items();
117
+ }
118
+ if (typeof prop.type === 'string' && !['string', 'number', 'boolean', 'date', 'array', 'object'].includes(prop.type.toLowerCase())) {
116
119
  options.enumName = prop.type;
117
120
  }
118
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api-property.util.js","sourceRoot":"","sources":["../../../src/common/utils/api-property.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-property.util.js","sourceRoot":"","sources":["../../../src/common/utils/api-property.util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { AnyEntity } from '@mikro-orm/core';
2
+ import { CrudOptions } from '../interfaces/crud-options.interface';
3
+ export declare class DtoFactory {
4
+ static createDtos<T extends AnyEntity, C, U>(options: CrudOptions<T, C, U>): void;
5
+ }
@@ -147,7 +147,11 @@ class DtoFactory {
147
147
  }
148
148
  if (prop.enum) {
149
149
  if (prop.items) {
150
- (0, class_validator_1.IsEnum)(prop.items, props)(DefaultCreateDto.prototype, prop.name);
150
+ let items = prop.items;
151
+ if (typeof items === 'function') {
152
+ items = items();
153
+ }
154
+ (0, class_validator_1.IsEnum)(items, props)(DefaultCreateDto.prototype, prop.name);
151
155
  }
152
156
  }
153
157
  if (prop.array || isArray) {
@@ -155,17 +159,31 @@ class DtoFactory {
155
159
  }
156
160
  if (prop.nullable) {
157
161
  (0, class_validator_1.IsOptional)(props)(DefaultCreateDto.prototype, prop.name);
158
- const apiOptions = { type: typeToCheck, enum: prop.items, isArray };
159
- if (prop.enum && typeof prop.type === 'string') {
160
- apiOptions.enumName = prop.type;
162
+ const apiOptions = { type: typeToCheck, isArray };
163
+ if (prop.enum && prop.items) {
164
+ let items = prop.items;
165
+ if (typeof items === 'function') {
166
+ items = items();
167
+ }
168
+ apiOptions.enum = items;
169
+ if (typeof prop.type === 'string' && !['string', 'number', 'boolean', 'date', 'array', 'object'].includes(prop.type.toLowerCase())) {
170
+ apiOptions.enumName = prop.type;
171
+ }
161
172
  }
162
173
  (0, swagger_1.ApiPropertyOptional)(apiOptions)(DefaultCreateDto.prototype, prop.name);
163
174
  }
164
175
  else {
165
176
  (0, class_validator_1.IsNotEmpty)(props)(DefaultCreateDto.prototype, prop.name);
166
- const apiOptions = { type: typeToCheck, enum: prop.items, isArray };
167
- if (prop.enum && typeof prop.type === 'string') {
168
- apiOptions.enumName = prop.type;
177
+ const apiOptions = { type: typeToCheck, isArray };
178
+ if (prop.enum && prop.items) {
179
+ let items = prop.items;
180
+ if (typeof items === 'function') {
181
+ items = items();
182
+ }
183
+ apiOptions.enum = items;
184
+ if (typeof prop.type === 'string' && !['string', 'number', 'boolean', 'date', 'array', 'object'].includes(prop.type.toLowerCase())) {
185
+ apiOptions.enumName = prop.type;
186
+ }
169
187
  }
170
188
  (0, swagger_1.ApiProperty)(apiOptions)(DefaultCreateDto.prototype, prop.name);
171
189
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dto-factory.util.js","sourceRoot":"","sources":["../../../src/common/utils/dto-factory.util.ts"],"names":[],"mappings":";;;AACA,0CAA6E;AAC7E,6CAA0F;AAC1F,qDAA+J;AAC/J,yDAA4D;AAE5D,yEAAyE;AAEzE,MAAa,UAAU;IACnB,MAAM,CAAC,UAAU,CAA4B,OAA6B;QACtE,MAAM,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;QAE5E,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,sBAAe,CAAC,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAE9B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;YAGnC,IAAI,mBAAmB,GAAG,YAAY,CAAC;YACvC,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAU,CAAC;YAClD,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAU,CAAC;YAEnD,IAAI,aAAa,GAAG,MAAM,CAAC;YAC3B,OAAO,aAAa,EAAE,CAAC;gBAEnB,MAAM,QAAQ,GAAG,sBAAsB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBACnE,IAAI,QAAQ,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;oBAClC,mBAAmB,GAAG,QAAQ,CAAC;gBACnC,CAAC;gBAED,MAAM,OAAO,GAAG,sBAAsB,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;gBAC1E,OAAO,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;;oBACvB,IAAI,CAAC,CAAA,MAAA,CAAC,CAAC,OAAO,0CAAE,WAAW,CAAA,EAAE,CAAC;wBAC1B,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;oBAChD,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,MAAM,YAAY,GAAG,sBAAsB,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;gBAChF,YAAY,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;;oBAC5B,IAAI,CAAC,CAAA,MAAA,CAAC,CAAC,OAAO,0CAAE,WAAW,CAAA,EAAE,CAAC;wBAC1B,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;oBACjD,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,iCAAiC,EAAE,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC3G,YAAY,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,EAAE;oBAClC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACpE,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,4BAA4B,EAAE,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;oBACrG,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACxB,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAC9B,CAAC;oBAGD,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;oBACzF,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;wBACrC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAC9B,CAAC;gBACL,CAAC,CAAC,CAAC;gBAGH,MAAM,aAAa,GAAG,MAAM,CAAC,mBAAmB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBAC1E,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACzB,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBAClF,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACzD,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC;oBAGD,IAAI,OAAO,CAAC,WAAW,CAAC,0CAAqB,EAAE,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;wBAC5E,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACvB,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;gBACrD,IAAI,aAAa,KAAK,MAAM,CAAC,SAAS,IAAI,aAAa,KAAK,QAAQ,CAAC,SAAS;oBAAE,MAAM;YAC1F,CAAC;YAGD,IAAI,IAAI,EAAE,CAAC;gBACP,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAoB,EAAE,EAAE;oBAC5D,IAAI,IAAI,CAAC,OAAO;wBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAE1C,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK;wBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAEpD,IAAI,IAAI,CAAC,aAAa;wBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChD,IAAI,IAAI,CAAC,QAAQ;wBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3C,IAAI,IAAI,CAAC,QAAQ;wBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3C,IAAI,IAAI,CAAC,OAAO;wBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAE1C,IAAI,OAAO,CAAC,WAAW,CAAC,0CAAqB,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC1E,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,CAAC;oBAGD,IAAI,mBAAmB,KAAK,YAAY,EAAE,CAAC;wBACvC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC1C,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC5B,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,IAAI,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC1C,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC5B,CAAC;oBACL,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBACrB,MAAM,gBAAgB;iBAAK;gBAC3B,MAAM,CAAC,cAAc,CAAC,gBAAgB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;gBAE9F,IAAI,IAAI,EAAE,CAAC;oBACP,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAoB,EAAE,EAAE;;wBAC5D,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;4BAAE,OAAO;wBACpC,IAAI,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBACzF,IAAI,OAAO,GAAG,UAAU,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;wBAEnD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBACpF,IAAI,QAAQ,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;4BACpC,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;4BAC1C,IAAI,SAAS,EAAE,CAAC;gCACZ,UAAU,GAAG,SAAS,CAAC;4BAC3B,CAAC;wBACL,CAAC;wBACD,MAAM,KAAK,GAAsB,EAAE,CAAA;wBACnC,IAAI,OAAO;4BAAE,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC;wBAMlC,IAAI,WAAW,GAAG,UAAU,CAAC;wBAC7B,IAAI,OAAO,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;4BACnC,WAAW,GAAG,SAAS,CAAC;wBAC5B,CAAC;wBAED,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;4BAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;gCAAE,WAAW,GAAG,MAAM,CAAC;4BACjD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;gCAAE,WAAW,GAAG,MAAM,CAAC;4BACjD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;gCAAE,WAAW,GAAG,OAAO,CAAC;4BACnD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;gCAAE,WAAW,GAAG,IAAI,CAAC;wBACjD,CAAC;wBAED,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;4BACzB,IAAA,0BAAQ,EAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC3D,CAAC;6BAAM,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;4BAEhC,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAA,IAAI,CAAC,WAAW,0CAAG,CAAC,CAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAK,IAAY,CAAC,OAAO,CAAC,CAAC;4BAC9K,IAAI,KAAK,EAAE,CAAC;gCACR,IAAA,uBAAK,EAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;4BACxD,CAAC;iCAAM,CAAC;gCACJ,IAAA,0BAAQ,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;4BACtE,CAAC;wBACL,CAAC;6BAAM,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;4BACjC,IAAA,2BAAS,EAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC5D,CAAC;6BAAM,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;4BAC9B,IAAA,wBAAM,EAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;4BACrD,IAAA,wBAAe,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBACvE,CAAC;wBAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;4BAEZ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gCACb,IAAA,wBAAM,EAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;4BACrE,CAAC;wBACL,CAAC;wBAED,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,EAAE,CAAC;4BACxB,IAAA,yBAAO,EAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBAClF,CAAC;wBAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;4BAChB,IAAA,4BAAU,EAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;4BACzD,MAAM,UAAU,GAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;4BACzE,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gCAC7C,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;4BACpC,CAAC;4BACD,IAAA,6BAAmB,EAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC3E,CAAC;6BAAM,CAAC;4BACJ,IAAA,4BAAU,EAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;4BACzD,MAAM,UAAU,GAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;4BACzE,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gCAC7C,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;4BACpC,CAAC;4BACD,IAAA,qBAAW,EAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBACnE,CAAC;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC;gBACD,OAAO,CAAC,SAAS,GAAG,gBAAsC,CAAC;YAC/D,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBACrB,MAAM,gBAAiB,SAAQ,IAAA,qBAAW,EAAC,OAAO,CAAC,SAAgB,CAAC;iBAAI;gBACxE,MAAM,CAAC,cAAc,CAAC,gBAAgB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;gBAE9F,MAAM,OAAO,GAAG,IAAA,oCAAkB,GAAE,CAAC;gBACrC,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,iDAAiD,CAAC,CAAC;gBAC1F,MAAM,eAAe,GAAG,OAAO,CAAC,4BAA4B,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBAElG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC3B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;wBACpB,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC;4BACnC,GAAG,IAAI;4BACP,MAAM,EAAE,gBAAgB;yBAC3B,CAAC,CAAC;wBACH,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;wBACvC,IAAA,4BAAU,GAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;oBAChE,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,OAAO,CAAC,SAAS,GAAG,gBAAsC,CAAC;YAC/D,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AA9MD,gCA8MC"}
1
+ {"version":3,"file":"dto-factory.util.js","sourceRoot":"","sources":["../../../src/common/utils/dto-factory.util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare class EntityNameUtil {
2
+ static routeToName(route: string): string;
3
+ static classToName(entityClass: any): string;
4
+ static classToSlug(entityClass: any): string;
5
+ static getName(route?: string, entityClass?: any): string;
6
+ static pluralize(name: string): string;
7
+ static capitalize(name: string): string;
8
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EntityNameUtil = void 0;
4
+ class EntityNameUtil {
5
+ static routeToName(route) {
6
+ return route.replace(/-/g, ' ').replace(/s$/, '').trim();
7
+ }
8
+ static classToName(entityClass) {
9
+ if (!entityClass || !entityClass.name) {
10
+ return 'item';
11
+ }
12
+ const name = entityClass.name
13
+ .replace(/([A-Z])/g, ' $1')
14
+ .toLowerCase()
15
+ .trim();
16
+ return name.replace(/\s+entity$/, '').trim();
17
+ }
18
+ static classToSlug(entityClass) {
19
+ if (!entityClass)
20
+ throw new Error('Entity class is required');
21
+ if (typeof entityClass !== 'string') {
22
+ entityClass = entityClass.name;
23
+ }
24
+ return entityClass
25
+ .replace(/([a-z])([A-Z])/g, '$1-$2')
26
+ .toLowerCase();
27
+ }
28
+ static getName(route, entityClass) {
29
+ if (route) {
30
+ return this.routeToName(route);
31
+ }
32
+ if (entityClass) {
33
+ return this.classToName(entityClass);
34
+ }
35
+ return 'item';
36
+ }
37
+ static pluralize(name) {
38
+ if (name.endsWith('y')) {
39
+ return name.slice(0, -1) + 'ies';
40
+ }
41
+ if (name.endsWith('s') || name.endsWith('x') || name.endsWith('z') || name.endsWith('ch') || name.endsWith('sh')) {
42
+ return name + 'es';
43
+ }
44
+ return name + 's';
45
+ }
46
+ static capitalize(name) {
47
+ return name.split(' ').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ');
48
+ }
49
+ }
50
+ exports.EntityNameUtil = EntityNameUtil;
51
+ //# sourceMappingURL=entity-name.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-name.util.js","sourceRoot":"","sources":["../../../src/common/utils/entity-name.util.ts"],"names":[],"mappings":";;;AAGA,MAAa,cAAc;IAIzB,MAAM,CAAC,WAAW,CAAC,KAAa;QAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3D,CAAC;IAKD,MAAM,CAAC,WAAW,CAAC,WAAgB;QACjC,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YACtC,OAAO,MAAM,CAAC;QAChB,CAAC;QAID,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI;aAC1B,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;aAC1B,WAAW,EAAE;aACb,IAAI,EAAE,CAAC;QAGV,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;IAKD,MAAM,CAAC,WAAW,CAAC,WAAgB;QACjC,IAAG,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC7D,IAAG,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACnC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;QACjC,CAAC;QAED,OAAO,WAAW;aACf,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;aACnC,WAAW,EAAE,CAAC;IACnB,CAAC;IAKD,MAAM,CAAC,OAAO,CAAC,KAAc,EAAE,WAAiB;QAC9C,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAKD,MAAM,CAAC,SAAS,CAAC,IAAY;QAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACjH,OAAO,IAAI,GAAG,IAAI,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,GAAG,GAAG,CAAC;IACpB,CAAC;IAKD,MAAM,CAAC,UAAU,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7F,CAAC;CACF;AAzED,wCAyEC"}
@@ -0,0 +1,10 @@
1
+ export * from './common/decorators/crud.decorator';
2
+ export * from './common/decorators/embedded.decorator';
3
+ export * from './common/decorators/readonly.decorator';
4
+ export * from './common/decorators/inject-entity.decorator';
5
+ export * from './common/base.service';
6
+ export * from './common/dto/pagination.dto';
7
+ export * from './common/utils/entity-name.util';
8
+ export * from './common/base.event';
9
+ export * from './common/base-related.service';
10
+ export * from './common/constants';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@foxiko/nest-common",
3
- "version": "0.2.26",
3
+ "version": "0.2.28",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "typings": "./build/index.d.ts",