mongodb-dynamic-api 2.3.6 → 2.3.8

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/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  Changelog
2
2
 
3
+ ## [2.3.8](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v2.3.7...v2.3.8) (2024-05-08)
4
+
5
+ ## [2.3.7](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v2.3.6...v2.3.7) (2024-05-08)
6
+
3
7
  ## [2.3.6](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v2.3.5...v2.3.6) (2024-05-08)
4
8
 
5
9
  ## [2.3.5](https://github.com/MikeDev75015/mongodb-dynamic-api/compare/v2.3.3...v2.3.5) (2024-05-08)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mongodb-dynamic-api",
3
- "version": "2.3.6",
3
+ "version": "2.3.8",
4
4
  "description": "Auto generated CRUD API for MongoDB using NestJS",
5
5
  "readmeFilename": "README.md",
6
6
  "main": "index.js",
@@ -114,7 +114,6 @@
114
114
  "<rootDir>/"
115
115
  ],
116
116
  "coveragePathIgnorePatterns": [
117
- "index.ts",
118
117
  ".*\\.mock\\.ts"
119
118
  ],
120
119
  "reporters": [
@@ -5,24 +5,24 @@ const mongoose_1 = require("@nestjs/mongoose");
5
5
  const decorators_1 = require("../decorators");
6
6
  const interfaces_1 = require("../interfaces");
7
7
  function buildSchemaFromEntity(entity) {
8
- const { indexes, hooks, customInit } = Reflect.getOwnMetadata(decorators_1.DYNAMIC_API_SCHEMA_OPTIONS_METADATA, entity) ?? {};
8
+ const schemaOptions = Reflect.getOwnMetadata(decorators_1.DYNAMIC_API_SCHEMA_OPTIONS_METADATA, entity);
9
9
  const schema = mongoose_1.SchemaFactory.createForClass(entity);
10
10
  schema.set('timestamps', Object.getOwnPropertyNames(schema.paths).includes('createdAt') &&
11
11
  Object.getOwnPropertyNames(schema.paths).includes('updatedAt'));
12
- if (indexes) {
13
- indexes.forEach(({ fields, options }) => {
12
+ if (schemaOptions?.indexes) {
13
+ schemaOptions.indexes.forEach(({ fields, options }) => {
14
14
  schema.index(fields, options);
15
15
  });
16
16
  }
17
- if (hooks?.length) {
17
+ if (schemaOptions?.hooks?.length) {
18
18
  const isSoftDeletable = Object.getOwnPropertyNames(schema.paths).includes('deletedAt');
19
- hooks.forEach(({ type, method, callback, options }) => {
19
+ schemaOptions.hooks.forEach(({ type, method, callback, options }) => {
20
20
  const { query, softDeletableQuery } = interfaces_1.queryByRouteTypeMap.get(type);
21
21
  schema[method](isSoftDeletable && softDeletableQuery ? softDeletableQuery : query, { document: true, query: true, ...options }, callback);
22
22
  });
23
23
  }
24
- if (customInit) {
25
- customInit(schema);
24
+ if (schemaOptions?.customInit) {
25
+ schemaOptions.customInit(schema);
26
26
  }
27
27
  return schema;
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schema.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/schema.helper.ts"],"names":[],"mappings":";;;AACA,+CAAiD;AAEjD,8CAAoE;AACpE,8CAAsF;AAQtF,SAAS,qBAAqB,CAC5B,MAAoB;IAEpB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,cAAc,CAC3D,gDAAmC,EACnC,MAAM,CAC6B,IAAI,EAAE,CAAC;IAE5C,MAAM,MAAM,GAAG,wBAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAEpD,MAAM,CAAC,GAAG,CACR,YAAY,EACZ,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC9D,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAC/D,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;YACtC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,eAAe,GAAG,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEvF,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;YACpD,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,gCAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAGpE,MAAM,CAAC,MAAM,CAAC,CACZ,eAAe,IAAI,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,EAClE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,EAC3C,QAAQ,CACT,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,UAAU,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAEQ,sDAAqB"}
1
+ {"version":3,"file":"schema.helper.js","sourceRoot":"","sources":["../../../libs/dynamic-api/src/helpers/schema.helper.ts"],"names":[],"mappings":";;;AACA,+CAAiD;AAEjD,8CAAoE;AACpE,8CAAsF;AAQtF,SAAS,qBAAqB,CAC5B,MAAoB;IAEpB,MAAM,aAAa,GAAG,OAAO,CAAC,cAAc,CAC1C,gDAAmC,EACnC,MAAM,CAC6B,CAAC;IAEtC,MAAM,MAAM,GAAG,wBAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAEpD,MAAM,CAAC,GAAG,CACR,YAAY,EACZ,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC9D,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAC/D,CAAC;IAEF,IAAI,aAAa,EAAE,OAAO,EAAE,CAAC;QAC3B,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;YACpD,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACjC,MAAM,eAAe,GAAG,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEvF,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;YAClE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,gCAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAGpE,MAAM,CAAC,MAAM,CAAC,CACZ,eAAe,IAAI,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,EAClE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,EAC3C,QAAQ,CACT,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,aAAa,EAAE,UAAU,EAAE,CAAC;QAC9B,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAEQ,sDAAqB"}
@@ -56,14 +56,14 @@ function createLocalStrategyProvider(loginField, passwordField) {
56
56
  };
57
57
  }
58
58
  exports.createLocalStrategyProvider = createLocalStrategyProvider;
59
- function createAuthServiceProvider(userEntity, { loginField, passwordField, additionalFields, callback: loginCallback }, registerCallback, resetPasswordOptions) {
59
+ function createAuthServiceProvider(userEntity, { loginField, passwordField, additionalFields = [], callback: loginCallback }, registerCallback, resetPasswordOptions) {
60
60
  let AuthService = class AuthService extends services_2.BaseAuthService {
61
61
  constructor(model, jwtService, bcryptService) {
62
62
  super(model, jwtService, bcryptService);
63
63
  this.model = model;
64
64
  this.jwtService = jwtService;
65
65
  this.bcryptService = bcryptService;
66
- this.additionalRequestFields = additionalFields ?? [];
66
+ this.additionalRequestFields = additionalFields;
67
67
  this.loginField = loginField;
68
68
  this.passwordField = passwordField;
69
69
  this.registerCallback = registerCallback;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.helper.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/modules/auth/auth.helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CASwB;AACxB,qCAAyC;AACzC,+CAA+C;AAC/C,+CAAoD;AACpD,6CAA0C;AAC1C,uCAAiC;AACjC,mDAA0C;AAC1C,iEAA4D;AAG5D,6CAA+C;AAM/C,qCAA+C;AAC/C,yCAA6C;AAE7C,MAAM,uBAAuB,GAAG,uBAAuB,CAAC;AAsGtD,0DAAuB;AArGzB,MAAM,yBAAyB,GAAG,yBAAyB,CAAC;AAyG1D,8DAAyB;AAvG3B,SAAS,2BAA2B,CAClC,UAAwB,EACxB,aAA2B;IAE3B,IACM,aAAa,GADnB,MACM,aAAyC,SAAQ,IAAA,2BAAgB,EAAC,yBAAQ,CAAC;QAC/E,YAEqB,WAAgC;YAEnD,KAAK,CAAC;gBACJ,aAAa,EAAE,UAAoB;gBACnC,aAAa,EAAE,aAAuB;aACvC,CAAC,CAAC;YALgB,gBAAW,GAAX,WAAW,CAAqB;QAMrD,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,IAAY;YACxC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC9D,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,8BAAqB,CAAC,qBAAqB,CAAC,CAAC;YACzD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAA;IAlBK,aAAa;QADlB,IAAA,mBAAU,GAAE;QAGR,WAAA,IAAA,eAAM,EAAC,uBAAuB,CAAC,CAAA;;OAF9B,aAAa,CAkBlB;IAED,OAAO;QACL,OAAO,EAAE,yBAAyB;QAClC,QAAQ,EAAE,aAAa;KACxB,CAAC;AACJ,CAAC;AAyEC,kEAA2B;AAvE7B,SAAS,yBAAyB,CAChC,UAAwB,EACxB,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAkC,EACxG,gBAA+D,EAC/D,oBAAwE;IAExE,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,0BAAuB;QAQ/C,YAKE,KAAuC,EACpB,UAAsB,EACtB,aAA4B;YAE/C,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;YAJrB,UAAK,GAAL,KAAK,CAAe;YACpB,eAAU,GAAV,UAAU,CAAY;YACtB,kBAAa,GAAb,aAAa,CAAe;YAdvC,4BAAuB,GAAG,gBAAgB,IAAI,EAAE,CAAC;YACjD,eAAU,GAAG,UAAU,CAAC;YACxB,kBAAa,GAAG,aAAa,CAAC;YAC9B,qBAAgB,GAAG,gBAAgB,CAAC;YACpC,kBAAa,GAAG,aAAa,CAAC;YAC9B,yBAAoB,GAAG,oBAAoB,CAAC;QAYtD,CAAC;KACF,CAAA;IAnBK,WAAW;QASZ,WAAA,IAAA,sBAAW,EACV,UAAU,CAAC,IAAI,EACf,qCAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAC7C,CAAA;yCACyB,gBAAK;YACA,gBAAU;YACP,wBAAa;OAf7C,WAAW,CAmBhB;IAED,OAAO;QACL,OAAO,EAAE,uBAAuB;QAChC,QAAQ,EAAE,WAAW;KACtB,CAAC;AACJ,CAAC;AAuCC,8DAAyB;AArC3B,SAAS,oBAAoB,CAC3B,UAAwB,EACxB,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAkC,EAC/E,eAA8D,EAC9D,qBAAwD,EACxD,oBAAwE;IAExE,IAQM,cAAc,GARpB,MAQM,cAAe,SAAQ,IAAA,4BAAmB,EAC9C,UAAU,EACV,UAAU,EACV,aAAa,EACb,gBAAgB,EAClB,eAAe,IAAI,EAAE,EACrB,oBAAoB,CACnB;QACC,YAEqB,OAA4B;YAE/C,KAAK,CAAC,OAAO,CAAC,CAAC;YAFI,YAAO,GAAP,OAAO,CAAqB;QAGjD,CAAC;KACF,CAAA;IAdK,cAAc;QARnB,IAAA,mBAAU,EAAC,MAAM,CAAC;QAClB,IAAA,iBAAO,EAAC,MAAM,CAAC;QACf,IAAA,iBAAQ,EACP,IAAI,uBAAc,CAAC,qBAAqB,IAAI;YAC1C,SAAS,EAAE,IAAI;YACf,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CACH;QAUI,WAAA,IAAA,eAAM,EAAC,uBAAuB,CAAC,CAAA;;OAT9B,cAAc,CAcnB;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAIC,oDAAoB"}
1
+ {"version":3,"file":"auth.helper.js","sourceRoot":"","sources":["../../../../libs/dynamic-api/src/modules/auth/auth.helper.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,13 @@
1
1
  import { BaseEntity } from '../../../models';
2
+ import { ChangePasswordDto } from '../dtos/change-password.dto';
3
+ import { ResetPasswordDto } from '../dtos/reset-password.dto';
2
4
  import { AuthService, LoginResponse } from './auth-service.interface';
3
5
  interface AuthController<Entity extends BaseEntity> {
4
6
  login<Body>(req: any, body: Body): Promise<LoginResponse>;
5
7
  register<Body>(body: Body): Promise<LoginResponse>;
6
8
  getAccount(req: any): Promise<Partial<Entity>>;
9
+ resetPassword(body: ResetPasswordDto): Promise<void>;
10
+ changePassword(body: ChangePasswordDto): Promise<void>;
7
11
  }
8
12
  type AuthControllerConstructor<Entity extends BaseEntity> = new (service: AuthService<Entity>) => AuthController<Entity>;
9
13
  export type { AuthController, AuthControllerConstructor };
package/src/version.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "2.3.6"
2
+ "version": "2.3.8"
3
3
  }