@foxiko/nest-common 0.0.32 → 0.2.1

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.
@@ -1,13 +1,15 @@
1
- import { Repository, FindOptionsWhere, DeepPartial, ObjectLiteral, FindManyOptions, QueryDeepPartialEntity } from 'typeorm';
2
- export declare abstract class BaseService<T extends ObjectLiteral> {
3
- protected readonly repository: Repository<T>;
4
- protected constructor(repository: Repository<T>);
5
- findAll(where: FindOptionsWhere<T>): Promise<T[]>;
6
- query(where: FindOptionsWhere<T>, options: FindManyOptions<T>): Promise<[T[], number]>;
7
- count(where: FindOptionsWhere<T>, options?: FindManyOptions<T>): Promise<number>;
8
- findOne(where: FindOptionsWhere<T>): Promise<T>;
9
- delete(where: FindOptionsWhere<T>): Promise<import("typeorm").DeleteResult>;
10
- create(data: DeepPartial<T>): Promise<DeepPartial<T> & T>;
11
- createMany(data: DeepPartial<T>[]): Promise<(DeepPartial<T> & T)[]>;
12
- update(where: FindOptionsWhere<T>, data: QueryDeepPartialEntity<T>): Promise<import("typeorm").UpdateResult>;
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
+ protected constructor(repository: EntityRepository<T>, eventEmitter?: EventEmitter2);
7
+ findAll(where: FilterQuery<T>): Promise<import("@mikro-orm/core").Loaded<T, never, "*", never>[]>;
8
+ query(where: FilterQuery<T>, options: FindOptions<T>): Promise<[import("@mikro-orm/core").Loaded<T, never, import("@mikro-orm/core").PopulatePath.ALL, never>[], number]>;
9
+ count(where: FilterQuery<T>, options?: FindOptions<T>): Promise<number>;
10
+ findOne(where: FilterQuery<T>): Promise<import("@mikro-orm/core").Loaded<T, never, "*", never>>;
11
+ delete(where: FilterQuery<T>): Promise<number>;
12
+ create(data: RequiredEntityData<T>): Promise<T>;
13
+ createMany(data: RequiredEntityData<T>[]): Promise<T[]>;
14
+ update(where: FilterQuery<T>, data: EntityData<T>): Promise<number>;
13
15
  }
@@ -1,33 +1,51 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseService = void 0;
4
+ const entity_name_util_1 = require("./utils/entity-name.util");
4
5
  class BaseService {
5
- constructor(repository) {
6
+ constructor(repository, eventEmitter) {
6
7
  this.repository = repository;
8
+ this.eventEmitter = eventEmitter;
7
9
  }
8
10
  async findAll(where) {
9
- return this.repository.find({ where, });
11
+ return this.repository.find(where);
10
12
  }
11
13
  async query(where, options) {
12
- return this.repository.findAndCount({ where, ...options });
14
+ return this.repository.findAndCount(where, options);
13
15
  }
14
16
  async count(where, options) {
15
- return this.repository.count({ where, ...options });
17
+ return this.repository.count(where, options);
16
18
  }
17
19
  async findOne(where) {
18
- return this.repository.findOne({ where });
20
+ return this.repository.findOne(where);
19
21
  }
20
22
  async delete(where) {
21
- return this.repository.delete(where);
23
+ return this.repository.nativeDelete(where);
22
24
  }
23
25
  async create(data) {
24
- return this.repository.save(data);
26
+ const entity = this.repository.create(data);
27
+ await this.repository.getEntityManager().persist(data).flush();
28
+ const name = entity_name_util_1.EntityNameUtil.classToSlug(data[0].constructor.prototype);
29
+ this.eventEmitter.emit(`${name}.created`, { entity });
30
+ return entity;
25
31
  }
26
32
  async createMany(data) {
27
- return this.repository.save(data);
33
+ const entities = data.map(d => this.repository.create(d));
34
+ await this.repository.getEntityManager().persist(entities).flush();
35
+ const name = entity_name_util_1.EntityNameUtil.classToSlug(data[0].constructor.prototype);
36
+ if (this.eventEmitter) {
37
+ for (const entity of entities) {
38
+ this.eventEmitter.emit(`${name}.created`, { entity });
39
+ }
40
+ }
41
+ return entities;
28
42
  }
29
43
  async update(where, data) {
30
- return this.repository.update(where, data);
44
+ var _a;
45
+ const result = await this.repository.nativeUpdate(where, data);
46
+ const name = entity_name_util_1.EntityNameUtil.classToSlug(data.constructor.prototype);
47
+ (_a = this.eventEmitter) === null || _a === void 0 ? void 0 : _a.emit(`${name}.updated`, { entity: result });
48
+ return result;
31
49
  }
32
50
  }
33
51
  exports.BaseService = BaseService;
@@ -1 +1 @@
1
- {"version":3,"file":"base.service.js","sourceRoot":"","sources":["../../src/common/base.service.ts"],"names":[],"mappings":";;;AAEA,MAAsB,WAAW;IAC/B,YAAyC,UAAyB;QAAzB,eAAU,GAAV,UAAU,CAAe;IAAI,CAAC;IAEvE,KAAK,CAAC,OAAO,CAAC,KAA0B;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAA0B,EAAE,OAA2B;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAA0B,EAAE,OAA4B;QAClE,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAA0B;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAA0B;QACrC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAoB;QAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAsB;QACrC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAA0B,EAAE,IAA+B;QACtE,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;CAEF;AAnCD,kCAmCC"}
1
+ {"version":3,"file":"base.service.js","sourceRoot":"","sources":["../../src/common/base.service.ts"],"names":[],"mappings":";;;AAEA,+DAA0D;AAE1D,MAAsB,WAAW;IAC/B,YACqB,UAA+B,EAC/B,YAA4B;QAD5B,eAAU,GAAV,UAAU,CAAqB;QAC/B,iBAAY,GAAZ,YAAY,CAAgB;IAC7C,CAAC;IAEL,KAAK,CAAC,OAAO,CAAC,KAAqB;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAqB,EAAE,OAAuB;QACxD,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAqB,EAAE,OAAwB;QACzD,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAqB;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAqB;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAA2B;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAG,iCAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACvE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACtD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAA6B;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;QACnE,MAAM,IAAI,GAAG,iCAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACvE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;gBAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAqB,EAAE,IAAmB;;QACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,iCAAc,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACpE,MAAA,IAAI,CAAC,YAAY,0CAAE,IAAI,CAAC,GAAG,IAAI,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/D,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF;AArDD,kCAqDC"}
@@ -1,7 +1,7 @@
1
- import { DeepPartial, ObjectLiteral } from 'typeorm';
1
+ import { EntityData, AnyEntity } from '@mikro-orm/core';
2
2
  import { BaseService } from '../base.service';
3
3
  import { CrudOptions } from '../interfaces/crud-options.interface';
4
- export interface ICrudController<T extends ObjectLiteral> {
4
+ export interface ICrudController<T extends AnyEntity> {
5
5
  readonly service: BaseService<T>;
6
6
  }
7
- export declare function Crud<T extends ObjectLiteral, C = DeepPartial<T>, U = DeepPartial<T>>(options: CrudOptions<T, C, U>): (target: Function) => void;
7
+ export declare function Crud<T extends AnyEntity, C = EntityData<T>, U = EntityData<T>>(options: CrudOptions<T, C, U>): (target: Function) => void;
@@ -14,7 +14,9 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.Crud = Crud;
16
16
  const common_1 = require("@nestjs/common");
17
- const typeorm_1 = require("typeorm");
17
+ const core_1 = require("@mikro-orm/core");
18
+ const mongodb_1 = require("mongodb");
19
+ const mongodb_2 = require("@mikro-orm/mongodb");
18
20
  const json2csv_1 = require("json2csv");
19
21
  const stream_1 = require("stream");
20
22
  const class_transformer_1 = require("class-transformer");
@@ -22,7 +24,6 @@ const entity_name_util_1 = require("../utils/entity-name.util");
22
24
  const swagger_1 = require("@nestjs/swagger");
23
25
  const pagination_dto_1 = require("../dto/pagination.dto");
24
26
  const dto_factory_util_1 = require("../utils/dto-factory.util");
25
- const mongodb_1 = require("mongodb");
26
27
  const Body = (dto) => {
27
28
  return (target, propertyKey, parameterIndex) => {
28
29
  if (Array.isArray(dto)) {
@@ -43,16 +44,24 @@ function Crud(options) {
43
44
  dto_factory_util_1.DtoFactory.createDtos(options);
44
45
  let primaryKey = 'id';
45
46
  let primaryKeyType = String;
46
- const storage = (0, typeorm_1.getMetadataArgsStorage)();
47
- const target = options.entity;
48
- const relevantColumns = storage.columns.filter(c => c.target === target || (typeof c.target === 'function' && target.prototype instanceof c.target));
49
- const primaryCol = relevantColumns.find(c => c.options.primary);
50
- if (primaryCol) {
51
- primaryKey = primaryCol.propertyName;
52
- primaryKeyType = Reflect.getMetadata('design:type', options.entity.prototype, primaryKey);
47
+ const meta = core_1.MetadataStorage.getMetadataFromDecorator(options.entity);
48
+ if (meta && meta.primaryKeys && meta.primaryKeys.length > 0) {
49
+ primaryKey = meta.primaryKeys[0];
50
+ const prop = meta.properties[primaryKey];
51
+ if (prop) {
52
+ if (prop.type === 'ObjectId' || prop.type === mongodb_2.ObjectId || prop.type === mongodb_1.ObjectId) {
53
+ primaryKeyType = mongodb_2.ObjectId;
54
+ }
55
+ else if (prop.type === 'number' || prop.type === Number) {
56
+ primaryKeyType = Number;
57
+ }
58
+ else {
59
+ primaryKeyType = Reflect.getMetadata('design:type', options.entity.prototype, primaryKey) || String;
60
+ }
61
+ }
53
62
  }
54
63
  const parseId = (id) => {
55
- if (primaryKeyType === typeorm_1.ObjectId) {
64
+ if (primaryKeyType === mongodb_2.ObjectId || primaryKeyType === mongodb_1.ObjectId) {
56
65
  return new mongodb_1.ObjectId(id);
57
66
  }
58
67
  if (primaryKeyType === Number) {
@@ -61,12 +70,12 @@ function Crud(options) {
61
70
  return id;
62
71
  };
63
72
  const exposedMetadatas = defaultMetadataStorage.getExposedMetadatas(options.entity);
64
- exposedMetadatas.forEach(metadata => {
73
+ exposedMetadatas.forEach((metadata) => {
65
74
  var _a;
66
75
  if (metadata.propertyName && !Reflect.hasMetadata('swagger/apiModelProperties', options.entity.prototype, metadata.propertyName)) {
67
76
  let type = Reflect.getMetadata('design:type', options.entity.prototype, metadata.propertyName);
68
- if (type === typeorm_1.ObjectId) {
69
- (0, class_transformer_1.Transform)(({ value }) => value.toString())(options.entity.prototype, metadata.propertyName);
77
+ if (type === mongodb_2.ObjectId || type === mongodb_1.ObjectId) {
78
+ (0, class_transformer_1.Transform)(({ value }) => value === null || value === void 0 ? void 0 : value.toString())(options.entity.prototype, metadata.propertyName);
70
79
  type = 'string';
71
80
  }
72
81
  const apiProperty = (0, swagger_1.ApiProperty)({ type: () => type });
@@ -97,7 +106,8 @@ function Crud(options) {
97
106
  Object.assign(body, persist);
98
107
  Object.assign(body, defaultValues);
99
108
  const result = await self.service.create(body);
100
- return await self.service.findOne({ [primaryKey]: result[primaryKey] });
109
+ const idVal = result[primaryKey];
110
+ return await self.service.findOne({ [primaryKey]: idVal });
101
111
  }
102
112
  async query(req, params, page, limit) {
103
113
  var _a;
@@ -109,8 +119,8 @@ function Crud(options) {
109
119
  if (!page)
110
120
  page = 0;
111
121
  const [data, total] = await self.service.query(filter !== null && filter !== void 0 ? filter : {}, {
112
- skip: page * limit,
113
- take: limit
122
+ offset: page * limit,
123
+ limit: limit
114
124
  });
115
125
  return {
116
126
  data,
@@ -136,8 +146,8 @@ function Crud(options) {
136
146
  async function* generateData() {
137
147
  while (!aborted) {
138
148
  const [items, _] = await self.service.query(filter, {
139
- skip: page * batchSize,
140
- take: batchSize
149
+ offset: page * batchSize,
150
+ limit: batchSize
141
151
  });
142
152
  if (items.length === 0)
143
153
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"crud.decorator.js","sourceRoot":"","sources":["../../../src/common/decorators/crud.decorator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crud.decorator.js","sourceRoot":"","sources":["../../../src/common/decorators/crud.decorator.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { NestInterceptor, ExecutionContext, CallHandler } from '@nestjs/common';
2
2
  import { Observable } from 'rxjs';
3
- import { DataSource } from 'typeorm';
3
+ import { EntityManager } from '@mikro-orm/core';
4
4
  export declare class CrudEntityInterceptor implements NestInterceptor {
5
- private readonly dataSource;
6
- constructor(dataSource: DataSource);
5
+ private readonly em;
6
+ constructor(em: EntityManager);
7
7
  intercept(context: ExecutionContext, next: CallHandler): Promise<Observable<any>>;
8
8
  }
9
- export declare function InjectCrudEntity(): MethodDecorator & ClassDecorator;
9
+ export declare function InjectCrudEntity(): <TFunction extends Function, Y>(target: TFunction | object, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
10
10
  export declare const FetchedEntity: (...dataOrPipes: unknown[]) => ParameterDecorator;
@@ -13,13 +13,13 @@ exports.FetchedEntity = exports.CrudEntityInterceptor = void 0;
13
13
  exports.InjectCrudEntity = InjectCrudEntity;
14
14
  const common_1 = require("@nestjs/common");
15
15
  const constants_1 = require("../constants");
16
- const typeorm_1 = require("typeorm");
16
+ const core_1 = require("@mikro-orm/core");
17
17
  const mongodb_1 = require("mongodb");
18
- const typeorm_2 = require("typeorm");
18
+ const mongodb_2 = require("@mikro-orm/mongodb");
19
19
  const entity_name_util_1 = require("../utils/entity-name.util");
20
20
  let CrudEntityInterceptor = class CrudEntityInterceptor {
21
- constructor(dataSource) {
22
- this.dataSource = dataSource;
21
+ constructor(em) {
22
+ this.em = em;
23
23
  }
24
24
  async intercept(context, next) {
25
25
  const req = context.switchToHttp().getRequest();
@@ -29,39 +29,55 @@ let CrudEntityInterceptor = class CrudEntityInterceptor {
29
29
  return next.handle();
30
30
  }
31
31
  const params = req.params;
32
- const metadata = this.dataSource.getMetadata(options.entity);
33
- const primaryColumn = metadata.primaryColumns[0];
34
- const primaryKey = (primaryColumn === null || primaryColumn === void 0 ? void 0 : primaryColumn.propertyName) || 'id';
32
+ const metadata = this.em.getMetadata().get(options.entity.name);
33
+ const primaryKey = (metadata === null || metadata === void 0 ? void 0 : metadata.primaryKeys[0]) || 'id';
35
34
  const idValue = params[primaryKey];
36
35
  if (!idValue) {
37
36
  return next.handle();
38
37
  }
39
38
  let parsedId = idValue;
40
- const primaryKeyType = Reflect.getMetadata('design:type', options.entity.prototype, primaryKey);
41
- if (primaryKeyType === typeorm_2.ObjectId) {
42
- try {
43
- parsedId = new mongodb_1.ObjectId(idValue);
39
+ const prop = metadata === null || metadata === void 0 ? void 0 : metadata.properties[primaryKey];
40
+ if (prop) {
41
+ if (prop.type === 'ObjectId' || prop.type === mongodb_2.ObjectId || prop.type === mongodb_1.ObjectId) {
42
+ try {
43
+ parsedId = new mongodb_1.ObjectId(idValue);
44
+ }
45
+ catch (e) {
46
+ throw new common_1.BadRequestException('Invalid ObjectId');
47
+ }
44
48
  }
45
- catch (e) {
46
- throw new common_1.BadRequestException('Invalid ObjectId');
49
+ else if (prop.type === 'number' || prop.type === Number) {
50
+ parsedId = Number(idValue);
51
+ if (isNaN(parsedId)) {
52
+ throw new common_1.BadRequestException('Invalid ID');
53
+ }
47
54
  }
48
55
  }
49
- else if (primaryKeyType === Number) {
50
- parsedId = Number(idValue);
51
- if (isNaN(parsedId)) {
52
- throw new common_1.BadRequestException('Invalid ID');
56
+ else {
57
+ const primaryKeyType = Reflect.getMetadata('design:type', options.entity.prototype, primaryKey);
58
+ if (primaryKeyType === mongodb_2.ObjectId || primaryKeyType === mongodb_1.ObjectId) {
59
+ try {
60
+ parsedId = new mongodb_1.ObjectId(idValue);
61
+ }
62
+ catch (e) {
63
+ throw new common_1.BadRequestException('Invalid ObjectId');
64
+ }
65
+ }
66
+ else if (primaryKeyType === Number) {
67
+ parsedId = Number(idValue);
68
+ if (isNaN(parsedId)) {
69
+ throw new common_1.BadRequestException('Invalid ID');
70
+ }
53
71
  }
54
72
  }
55
73
  let filter = {};
56
74
  if (options.filter) {
57
75
  filter = await options.filter(req, params) || {};
58
76
  }
59
- const repo = this.dataSource.getRepository(options.entity);
77
+ const repo = this.em.getRepository(options.entity);
60
78
  const entity = await repo.findOne({
61
- where: {
62
- ...filter,
63
- [primaryKey]: parsedId
64
- }
79
+ ...filter,
80
+ [primaryKey]: parsedId
65
81
  });
66
82
  if (!entity) {
67
83
  throw new common_1.NotFoundException(`${entity_name_util_1.EntityNameUtil.getName(options.entity.name)} not found`);
@@ -73,10 +89,10 @@ let CrudEntityInterceptor = class CrudEntityInterceptor {
73
89
  exports.CrudEntityInterceptor = CrudEntityInterceptor;
74
90
  exports.CrudEntityInterceptor = CrudEntityInterceptor = __decorate([
75
91
  (0, common_1.Injectable)(),
76
- __metadata("design:paramtypes", [typeorm_1.DataSource])
92
+ __metadata("design:paramtypes", [core_1.EntityManager])
77
93
  ], CrudEntityInterceptor);
78
94
  function InjectCrudEntity() {
79
- return (0, common_1.UseInterceptors)(CrudEntityInterceptor);
95
+ return (0, common_1.applyDecorators)((0, common_1.UseInterceptors)(CrudEntityInterceptor));
80
96
  }
81
97
  exports.FetchedEntity = (0, common_1.createParamDecorator)((data, ctx) => {
82
98
  const request = ctx.switchToHttp().getRequest();
@@ -1 +1 @@
1
- {"version":3,"file":"inject-entity.decorator.js","sourceRoot":"","sources":["../../../src/common/decorators/inject-entity.decorator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inject-entity.decorator.js","sourceRoot":"","sources":["../../../src/common/decorators/inject-entity.decorator.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { Type } from '@nestjs/common';
2
- import { DeepPartial, FindOptionsWhere } from 'typeorm';
3
- export interface CrudOptions<T, C = DeepPartial<T>, U = DeepPartial<T>> {
2
+ import { EntityData, FilterQuery } from '@mikro-orm/core';
3
+ export interface CrudOptions<T, C = EntityData<T>, U = EntityData<T>> {
4
4
  tag?: string;
5
5
  entity: Type<T>;
6
6
  createDto?: Type<C>;
7
7
  updateDto?: Type<U>;
8
- defaultValues?: (request: Request, params: Record<string, string>) => DeepPartial<T> | Promise<DeepPartial<T>>;
8
+ defaultValues?: (request: Request, params: Record<string, string>) => EntityData<T> | Promise<EntityData<T>>;
9
9
  operations?: {
10
10
  create?: {} | false;
11
11
  createMany?: {} | false;
@@ -19,6 +19,6 @@ export interface CrudOptions<T, C = DeepPartial<T>, U = DeepPartial<T>> {
19
19
  replace?: {} | false;
20
20
  export?: {} | false;
21
21
  };
22
- persist?: (request: Request, params: Record<string, string>) => DeepPartial<T> | Promise<DeepPartial<T>>;
23
- filter?: (request: Request, params: Record<string, string>) => FindOptionsWhere<T> | Promise<FindOptionsWhere<T>>;
22
+ persist?: (request: Request, params: Record<string, string>) => EntityData<T> | Promise<EntityData<T>>;
23
+ filter?: (request: Request, params: Record<string, string>) => FilterQuery<T> | Promise<FilterQuery<T>>;
24
24
  }
@@ -1,5 +1,5 @@
1
- import { ObjectLiteral } from 'typeorm';
1
+ import { AnyEntity } from '@mikro-orm/core';
2
2
  import { CrudOptions } from '../interfaces/crud-options.interface';
3
3
  export declare class DtoFactory {
4
- static createDtos<T extends ObjectLiteral, C, U>(options: CrudOptions<T, C, U>): void;
4
+ static createDtos<T extends AnyEntity, C, U>(options: CrudOptions<T, C, U>): void;
5
5
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DtoFactory = void 0;
4
- const typeorm_1 = require("typeorm");
4
+ const core_1 = require("@mikro-orm/core");
5
5
  const swagger_1 = require("@nestjs/swagger");
6
6
  const class_validator_1 = require("class-validator");
7
7
  const class_transformer_1 = require("class-transformer");
@@ -10,20 +10,14 @@ class DtoFactory {
10
10
  static createDtos(options) {
11
11
  const { defaultMetadataStorage } = require('class-transformer/cjs/storage');
12
12
  if (!options.createDto || !options.updateDto) {
13
- const storage = (0, typeorm_1.getMetadataArgsStorage)();
13
+ const meta = core_1.MetadataStorage.getMetadataFromDecorator(options.entity);
14
14
  const target = options.entity;
15
- let relatedColumns = [];
16
- let relatedGenerations = [];
17
- let relatedRelations = [];
18
15
  const excluded = new Set();
19
16
  let transformerStrategy = 'excludeAll';
20
17
  const exposedTransformerProps = new Set();
21
18
  const excludedTransformerProps = new Set();
22
19
  let currentTarget = target;
23
20
  while (currentTarget) {
24
- relatedColumns.push(...storage.columns.filter(c => c.target === currentTarget));
25
- relatedGenerations.push(...storage.generations.filter(c => c.target === currentTarget));
26
- relatedRelations.push(...storage.relations.filter(c => c.target === currentTarget));
27
21
  const strategy = defaultMetadataStorage.getStrategy(currentTarget);
28
22
  if (strategy && strategy !== 'none') {
29
23
  transformerStrategy = strategy;
@@ -68,74 +62,93 @@ class DtoFactory {
68
62
  if (currentTarget === Object.prototype || currentTarget === Function.prototype)
69
63
  break;
70
64
  }
71
- relatedGenerations.forEach(g => excluded.add(g.propertyName));
72
- relatedRelations.forEach(r => excluded.add(r.propertyName));
73
- relatedColumns.forEach(c => {
74
- if (c.options.primary)
75
- excluded.add(c.propertyName);
76
- if (c.options.insert === false)
77
- excluded.add(c.propertyName);
78
- if (c.options.readonly)
79
- excluded.add(c.propertyName);
80
- if (['createDate', 'updateDate', 'deleteDate', 'version', 'virtual', 'virtual-property'].includes(c.mode)) {
81
- excluded.add(c.propertyName);
82
- }
83
- if (Reflect.getMetadata(readonly_decorator_1.READONLY_METADATA_KEY, target.prototype, c.propertyName)) {
84
- excluded.add(c.propertyName);
85
- }
86
- if (transformerStrategy === 'excludeAll') {
87
- if (!exposedTransformerProps.has(c.propertyName)) {
88
- excluded.add(c.propertyName);
65
+ if (meta) {
66
+ Object.values(meta.properties).forEach((prop) => {
67
+ if (prop.primary)
68
+ excluded.add(prop.name);
69
+ if (prop.persist === false)
70
+ excluded.add(prop.name);
71
+ if (prop.autoincrement)
72
+ excluded.add(prop.name);
73
+ if (prop.onCreate)
74
+ excluded.add(prop.name);
75
+ if (prop.onUpdate)
76
+ excluded.add(prop.name);
77
+ if (prop.version)
78
+ excluded.add(prop.name);
79
+ if (Reflect.getMetadata(readonly_decorator_1.READONLY_METADATA_KEY, target.prototype, prop.name)) {
80
+ excluded.add(prop.name);
81
+ }
82
+ if (transformerStrategy === 'excludeAll') {
83
+ if (!exposedTransformerProps.has(prop.name)) {
84
+ excluded.add(prop.name);
85
+ }
89
86
  }
90
- }
91
- else {
92
- if (excludedTransformerProps.has(c.propertyName)) {
93
- excluded.add(c.propertyName);
87
+ else {
88
+ if (excludedTransformerProps.has(prop.name)) {
89
+ excluded.add(prop.name);
90
+ }
94
91
  }
95
- }
96
- });
92
+ });
93
+ }
97
94
  if (!options.createDto) {
98
95
  class DefaultCreateDto extends (0, swagger_1.OmitType)(options.entity, Array.from(excluded)) {
99
96
  }
100
97
  Object.defineProperty(DefaultCreateDto, 'name', { value: `${options.entity.name}CreateDto` });
101
- relatedColumns.forEach(col => {
102
- if (excluded.has(col.propertyName))
103
- return;
104
- const designType = Reflect.getMetadata('design:type', options.entity.prototype, col.propertyName);
105
- if (designType === String) {
106
- (0, class_validator_1.IsString)()(DefaultCreateDto.prototype, col.propertyName);
107
- }
108
- else if (designType === Number) {
109
- const isInt = ['int', 'integer', 'tinyint', 'smallint', 'mediumint', 'bigint'].includes(col.options.type);
110
- if (isInt) {
111
- (0, class_validator_1.IsInt)()(DefaultCreateDto.prototype, col.propertyName);
98
+ if (meta) {
99
+ Object.values(meta.properties).forEach((prop) => {
100
+ var _a;
101
+ if (excluded.has(prop.name))
102
+ return;
103
+ const designType = Reflect.getMetadata('design:type', options.entity.prototype, prop.name);
104
+ let typeToCheck = designType;
105
+ if (!typeToCheck && prop.type) {
106
+ if (prop.type === 'string')
107
+ typeToCheck = String;
108
+ if (prop.type === 'number')
109
+ typeToCheck = Number;
110
+ if (prop.type === 'boolean')
111
+ typeToCheck = Boolean;
112
+ if (prop.type === 'Date')
113
+ typeToCheck = Date;
114
+ }
115
+ if (typeToCheck === String) {
116
+ (0, class_validator_1.IsString)()(DefaultCreateDto.prototype, prop.name);
117
+ }
118
+ else if (typeToCheck === Number) {
119
+ const isInt = ['integer', 'int', 'smallint', 'tinyint', 'mediumint', 'bigint'].includes((_a = prop.columnTypes) === null || _a === void 0 ? void 0 : _a[0]) || (prop.type === 'number' && prop.integer);
120
+ if (isInt) {
121
+ (0, class_validator_1.IsInt)()(DefaultCreateDto.prototype, prop.name);
122
+ }
123
+ else {
124
+ (0, class_validator_1.IsNumber)()(DefaultCreateDto.prototype, prop.name);
125
+ }
126
+ }
127
+ else if (typeToCheck === Boolean) {
128
+ (0, class_validator_1.IsBoolean)()(DefaultCreateDto.prototype, prop.name);
129
+ }
130
+ else if (typeToCheck === Date) {
131
+ (0, class_validator_1.IsDate)()(DefaultCreateDto.prototype, prop.name);
132
+ (0, class_transformer_1.Type)(() => Date)(DefaultCreateDto.prototype, prop.name);
133
+ }
134
+ if (prop.enum) {
135
+ if (prop.items) {
136
+ (0, class_validator_1.IsEnum)(prop.items)(DefaultCreateDto.prototype, prop.name);
137
+ }
138
+ }
139
+ if (prop.array) {
140
+ (0, class_validator_1.IsArray)()(DefaultCreateDto.prototype, prop.name);
141
+ }
142
+ if (prop.nullable) {
143
+ (0, class_validator_1.IsOptional)()(DefaultCreateDto.prototype, prop.name);
144
+ (0, swagger_1.ApiPropertyOptional)({ type: typeToCheck, enum: prop.items })(DefaultCreateDto.prototype, prop.name);
112
145
  }
113
146
  else {
114
- (0, class_validator_1.IsNumber)()(DefaultCreateDto.prototype, col.propertyName);
147
+ (0, class_validator_1.IsNotEmpty)()(DefaultCreateDto.prototype, prop.name);
148
+ (0, swagger_1.ApiProperty)({ type: typeToCheck, enum: prop.items })(DefaultCreateDto.prototype, prop.name);
115
149
  }
116
- }
117
- else if (designType === Boolean) {
118
- (0, class_validator_1.IsBoolean)()(DefaultCreateDto.prototype, col.propertyName);
119
- }
120
- else if (designType === Date) {
121
- (0, class_validator_1.IsDate)()(DefaultCreateDto.prototype, col.propertyName);
122
- (0, class_transformer_1.Type)(() => Date)(DefaultCreateDto.prototype, col.propertyName);
123
- }
124
- if (col.options.enum) {
125
- (0, class_validator_1.IsEnum)(col.options.enum)(DefaultCreateDto.prototype, col.propertyName);
126
- }
127
- if (col.options.array) {
128
- (0, class_validator_1.IsArray)()(DefaultCreateDto.prototype, col.propertyName);
129
- }
130
- if (col.options.nullable) {
131
- (0, class_validator_1.IsOptional)()(DefaultCreateDto.prototype, col.propertyName);
132
- (0, swagger_1.ApiPropertyOptional)({ type: designType, enum: col.options.enum })(DefaultCreateDto.prototype, col.propertyName);
133
- }
134
- else {
135
- (0, class_validator_1.IsNotEmpty)()(DefaultCreateDto.prototype, col.propertyName);
136
- (0, swagger_1.ApiProperty)({ type: designType, enum: col.options.enum })(DefaultCreateDto.prototype, col.propertyName);
137
- }
138
- });
150
+ });
151
+ }
139
152
  options.createDto = DefaultCreateDto;
140
153
  }
141
154
  if (!options.updateDto) {
@@ -1 +1 @@
1
- {"version":3,"file":"dto-factory.util.js","sourceRoot":"","sources":["../../../src/common/utils/dto-factory.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dto-factory.util.js","sourceRoot":"","sources":["../../../src/common/utils/dto-factory.util.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export declare class EntityNameUtil {
2
2
  static routeToName(route: string): string;
3
3
  static classToName(entityClass: any): string;
4
+ static classToSlug(entityClass: any): string;
4
5
  static getName(route?: string, entityClass?: any): string;
5
6
  static pluralize(name: string): string;
6
7
  static capitalize(name: string): string;
@@ -15,6 +15,14 @@ class EntityNameUtil {
15
15
  .trim();
16
16
  return name.replace(/\s+entity$/, '').trim();
17
17
  }
18
+ static classToSlug(entityClass) {
19
+ if (!entityClass || !entityClass.name) {
20
+ return '';
21
+ }
22
+ return entityClass.name
23
+ .replace(/([a-z])([A-Z])/g, '$1-$2')
24
+ .toLowerCase();
25
+ }
18
26
  static getName(route, entityClass) {
19
27
  if (route) {
20
28
  return this.routeToName(route);
@@ -1 +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,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;AA3DD,wCA2DC"}
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,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YACtC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,WAAW,CAAC,IAAI;aACpB,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;AAxED,wCAwEC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@foxiko/nest-common",
3
- "version": "0.0.32",
3
+ "version": "0.2.1",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "typings": "./build/index.d.ts",
@@ -11,11 +11,10 @@
11
11
  "@nestjs/common": "^11.0.0",
12
12
  "@nestjs/core": "^11.0.0",
13
13
  "@nestjs/swagger": "^11.2.3",
14
- "@nestjs/typeorm": "^11.0.0",
14
+ "@nestjs/event-emitter": "^3.0.1",
15
15
  "class-transformer": "^0.5.1",
16
16
  "class-validator": "^0.14.2",
17
- "express": "^5.2.1",
18
- "typeorm": "^0.3.28"
17
+ "express": "^5.2.1"
19
18
  },
20
19
  "scripts": {
21
20
  "build": "tsc",
@@ -24,6 +23,9 @@
24
23
  "author": "",
25
24
  "license": "ISC",
26
25
  "devDependencies": {
26
+ "@mikro-orm/core": "^6.6.2",
27
+ "@mikro-orm/mongodb": "^6.6.2",
28
+ "@mikro-orm/nestjs": "^6.1.1",
27
29
  "@types/express": "^5.0.6",
28
30
  "@types/json2csv": "^5.0.7",
29
31
  "typescript": "^5.9.3"