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 +4 -0
- package/package.json +1 -2
- package/src/helpers/schema.helper.js +7 -7
- package/src/helpers/schema.helper.js.map +1 -1
- package/src/modules/auth/auth.helper.js +2 -2
- package/src/modules/auth/auth.helper.js.map +1 -1
- package/src/modules/auth/interfaces/auth-controller.interface.d.ts +4 -0
- package/src/version.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
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.
|
|
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
|
|
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,
|
|
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,
|
|
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