@lenne.tech/nest-server 8.0.2 → 8.3.0
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/dist/config.env.js +3 -2
- package/dist/config.env.js.map +1 -1
- package/dist/core/common/args/pagination.args.js +1 -1
- package/dist/core/common/args/pagination.args.js.map +1 -1
- package/dist/core/common/decorators/restricted.decorator.d.ts +3 -0
- package/dist/core/common/decorators/restricted.decorator.js +14 -8
- package/dist/core/common/decorators/restricted.decorator.js.map +1 -1
- package/dist/core/common/enums/role.enum.d.ts +3 -2
- package/dist/core/common/enums/role.enum.js +3 -2
- package/dist/core/common/enums/role.enum.js.map +1 -1
- package/dist/core/common/helpers/config.helper.d.ts +2 -1
- package/dist/core/common/helpers/config.helper.js +11 -7
- package/dist/core/common/helpers/config.helper.js.map +1 -1
- package/dist/core/common/helpers/context.helper.d.ts +7 -1
- package/dist/core/common/helpers/context.helper.js +33 -29
- package/dist/core/common/helpers/context.helper.js.map +1 -1
- package/dist/core/common/helpers/db.helper.d.ts +37 -0
- package/dist/core/common/helpers/db.helper.js +356 -0
- package/dist/core/common/helpers/db.helper.js.map +1 -0
- package/dist/core/common/helpers/file.helper.d.ts +8 -1
- package/dist/core/common/helpers/file.helper.js +43 -31
- package/dist/core/common/helpers/file.helper.js.map +1 -1
- package/dist/core/common/helpers/filter.helper.d.ts +3 -0
- package/dist/core/common/helpers/filter.helper.js +93 -81
- package/dist/core/common/helpers/filter.helper.js.map +1 -1
- package/dist/core/common/helpers/graphql.helper.d.ts +24 -1
- package/dist/core/common/helpers/graphql.helper.js +144 -96
- package/dist/core/common/helpers/graphql.helper.js.map +1 -1
- package/dist/core/common/helpers/input.helper.d.ts +42 -4
- package/dist/core/common/helpers/input.helper.js +256 -97
- package/dist/core/common/helpers/input.helper.js.map +1 -1
- package/dist/core/common/helpers/model.helper.d.ts +11 -0
- package/dist/core/common/helpers/model.helper.js +41 -29
- package/dist/core/common/helpers/model.helper.js.map +1 -1
- package/dist/core/common/helpers/service.helper.d.ts +21 -1
- package/dist/core/common/helpers/service.helper.js +80 -72
- package/dist/core/common/helpers/service.helper.js.map +1 -1
- package/dist/core/common/inputs/combined-filter.input.js +1 -1
- package/dist/core/common/inputs/combined-filter.input.js.map +1 -1
- package/dist/core/common/inputs/core-input.input.js +1 -1
- package/dist/core/common/inputs/core-input.input.js.map +1 -1
- package/dist/core/common/interceptors/check-response.interceptor.js +1 -1
- package/dist/core/common/interceptors/check-response.interceptor.js.map +1 -1
- package/dist/core/common/interfaces/resolve-selector.interface.d.ts +5 -0
- package/dist/core/common/interfaces/resolve-selector.interface.js +3 -0
- package/dist/core/common/interfaces/resolve-selector.interface.js.map +1 -0
- package/dist/core/common/interfaces/service-options.interface.d.ts +36 -0
- package/dist/core/common/interfaces/service-options.interface.js +3 -0
- package/dist/core/common/interfaces/service-options.interface.js.map +1 -0
- package/dist/core/common/models/core-model.model.d.ts +5 -1
- package/dist/core/common/models/core-model.model.js +1 -1
- package/dist/core/common/models/core-model.model.js.map +1 -1
- package/dist/core/common/pipes/check-input.pipe.js +2 -2
- package/dist/core/common/pipes/check-input.pipe.js.map +1 -1
- package/dist/core/common/pipes/map-and-validate.pipe.js +1 -1
- package/dist/core/common/pipes/map-and-validate.pipe.js.map +1 -1
- package/dist/core/common/services/crud.service.d.ts +13 -0
- package/dist/core/common/services/crud.service.js +57 -0
- package/dist/core/common/services/crud.service.js.map +1 -0
- package/dist/core/common/services/email.service.js +8 -8
- package/dist/core/common/services/email.service.js.map +1 -1
- package/dist/core/common/services/module.service.d.ts +40 -0
- package/dist/core/common/services/module.service.js +80 -0
- package/dist/core/common/services/module.service.js.map +1 -0
- package/dist/core/common/types/core-model-constructor.type.d.ts +21 -0
- package/dist/core/common/types/core-model-constructor.type.js +3 -0
- package/dist/core/common/types/core-model-constructor.type.js.map +1 -0
- package/dist/core/common/types/field-selection.type.d.ts +4 -0
- package/dist/core/common/types/field-selection.type.js +3 -0
- package/dist/core/common/types/field-selection.type.js.map +1 -0
- package/dist/core/common/types/ids.type.d.ts +8 -0
- package/dist/core/common/types/ids.type.js +3 -0
- package/dist/core/common/types/ids.type.js.map +1 -0
- package/dist/core/common/types/string-or-object-id.type.d.ts +2 -0
- package/dist/core/common/types/string-or-object-id.type.js +3 -0
- package/dist/core/common/types/string-or-object-id.type.js.map +1 -0
- package/dist/core/modules/auth/core-auth.resolver.d.ts +2 -1
- package/dist/core/modules/auth/core-auth.resolver.js +4 -3
- package/dist/core/modules/auth/core-auth.resolver.js.map +1 -1
- package/dist/core/modules/auth/guards/roles.guard.js +1 -2
- package/dist/core/modules/auth/guards/roles.guard.js.map +1 -1
- package/dist/core/modules/auth/services/core-auth-user.service.d.ts +3 -1
- package/dist/core/modules/auth/services/core-auth-user.service.js.map +1 -1
- package/dist/core/modules/auth/services/core-auth.service.d.ts +2 -1
- package/dist/core/modules/auth/services/core-auth.service.js +6 -4
- package/dist/core/modules/auth/services/core-auth.service.js.map +1 -1
- package/dist/core/modules/user/core-user.model.js +1 -1
- package/dist/core/modules/user/core-user.model.js.map +1 -1
- package/dist/core/modules/user/core-user.service.d.ts +16 -25
- package/dist/core/modules/user/core-user.service.js +69 -90
- package/dist/core/modules/user/core-user.service.js.map +1 -1
- package/dist/core.module.js +1 -1
- package/dist/core.module.js.map +1 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/server/modules/auth/auth.resolver.d.ts +2 -1
- package/dist/server/modules/auth/auth.resolver.js +4 -3
- package/dist/server/modules/auth/auth.resolver.js.map +1 -1
- package/dist/server/modules/file/file.controller.js +1 -1
- package/dist/server/modules/file/file.controller.js.map +1 -1
- package/dist/server/modules/user/avatar.controller.js +2 -2
- package/dist/server/modules/user/avatar.controller.js.map +1 -1
- package/dist/server/modules/user/user.model.d.ts +2 -1
- package/dist/server/modules/user/user.module.js +7 -3
- package/dist/server/modules/user/user.module.js.map +1 -1
- package/dist/server/modules/user/user.resolver.d.ts +8 -7
- package/dist/server/modules/user/user.resolver.js +85 -49
- package/dist/server/modules/user/user.resolver.js.map +1 -1
- package/dist/server/modules/user/user.service.d.ts +9 -18
- package/dist/server/modules/user/user.service.js +23 -30
- package/dist/server/modules/user/user.service.js.map +1 -1
- package/dist/test/test.helper.d.ts +1 -2
- package/dist/test/test.helper.js +1 -16
- package/dist/test/test.helper.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +58 -59
- package/src/config.env.ts +3 -2
- package/src/core/common/args/pagination.args.ts +2 -2
- package/src/core/common/decorators/restricted.decorator.ts +24 -12
- package/src/core/common/enums/role.enum.ts +23 -5
- package/src/core/common/helpers/config.helper.ts +26 -6
- package/src/core/common/helpers/context.helper.ts +42 -33
- package/src/core/common/helpers/db.helper.ts +595 -0
- package/src/core/common/helpers/file.helper.ts +76 -49
- package/src/core/common/helpers/filter.helper.ts +119 -96
- package/src/core/common/helpers/graphql.helper.ts +219 -117
- package/src/core/common/helpers/input.helper.ts +349 -108
- package/src/core/common/helpers/model.helper.ts +102 -57
- package/src/core/common/helpers/service.helper.ts +149 -117
- package/src/core/common/inputs/combined-filter.input.ts +2 -2
- package/src/core/common/inputs/core-input.input.ts +2 -2
- package/src/core/common/interceptors/check-response.interceptor.ts +2 -2
- package/src/core/common/interfaces/resolve-selector.interface.ts +9 -0
- package/src/core/common/interfaces/service-options.interface.ts +71 -0
- package/src/core/common/models/core-model.model.ts +7 -3
- package/src/core/common/pipes/check-input.pipe.ts +4 -4
- package/src/core/common/pipes/map-and-validate.pipe.ts +2 -2
- package/src/core/common/services/crud.service.ts +100 -0
- package/src/core/common/services/email.service.ts +9 -9
- package/src/core/common/services/module.service.ts +188 -0
- package/src/core/common/types/core-model-constructor.type.ts +30 -0
- package/src/core/common/types/field-selection.type.ts +8 -0
- package/src/core/common/types/ids.type.ts +7 -0
- package/src/core/common/types/string-or-object-id.type.ts +3 -0
- package/src/core/modules/auth/core-auth.module.ts +1 -1
- package/src/core/modules/auth/core-auth.resolver.ts +8 -3
- package/src/core/modules/auth/guards/roles.guard.ts +5 -7
- package/src/core/modules/auth/services/core-auth-user.service.ts +7 -1
- package/src/core/modules/auth/services/core-auth.service.ts +14 -4
- package/src/core/modules/user/core-user.model.ts +2 -1
- package/src/core/modules/user/core-user.service.ts +115 -185
- package/src/core.module.ts +2 -2
- package/src/index.ts +9 -1
- package/src/main.ts +1 -1
- package/src/server/modules/auth/auth.resolver.ts +8 -3
- package/src/server/modules/file/file.controller.ts +2 -2
- package/src/server/modules/user/avatar.controller.ts +3 -3
- package/src/server/modules/user/user.module.ts +7 -3
- package/src/server/modules/user/user.resolver.ts +74 -43
- package/src/server/modules/user/user.service.ts +30 -53
- package/src/test/test.helper.ts +31 -30
- package/dist/core/modules/user/core-basic-user.service.d.ts +0 -17
- package/dist/core/modules/user/core-basic-user.service.js +0 -73
- package/dist/core/modules/user/core-basic-user.service.js.map +0 -1
- package/src/core/modules/user/core-basic-user.service.ts +0 -138
package/dist/config.env.js
CHANGED
|
@@ -93,7 +93,8 @@ const config = {
|
|
|
93
93
|
},
|
|
94
94
|
},
|
|
95
95
|
};
|
|
96
|
-
const
|
|
97
|
-
|
|
96
|
+
const env = process.env['NODE' + '_ENV'] || 'development';
|
|
97
|
+
const envConfig = config[env] || config.development;
|
|
98
|
+
console.log('Configured for: ' + envConfig.env + (env !== envConfig.env ? ' (requested: ' + env + ')' : ''));
|
|
98
99
|
exports.default = envConfig;
|
|
99
100
|
//# sourceMappingURL=config.env.js.map
|
package/dist/config.env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.env.js","sourceRoot":"","sources":["../src/config.env.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAM5B,MAAM,MAAM,GAAsC;IAIhD,WAAW,EAAE;QACX,KAAK,EAAE;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE;oBACJ,IAAI,EAAE,yBAAyB;oBAC/B,IAAI,EAAE,oBAAoB;iBAC3B;gBACD,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,GAAG;gBACT,MAAM,EAAE,KAAK;aACd;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,wBAAwB;gBACxC,eAAe,EAAE,yBAAyB;aAC3C;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,yBAAyB;gBAChC,IAAI,EAAE,mBAAmB;aAC1B;YACD,gBAAgB,EAAE,yCAAyC;YAC3D,iBAAiB,EAAE,2CAA2C;SAC/D;QACD,GAAG,EAAE,aAAa;QAClB,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,KAAK,EAAE,IAAI;gBACX,aAAa,EAAE,IAAI;aACpB;SACF;QACD,GAAG,EAAE;YACH,MAAM,EAAE,2BAA2B;SACpC;QACD,QAAQ,EAAE;YACR,GAAG,EAAE,qCAAqC;SAC3C;QACD,IAAI,EAAE,IAAI;QACV,YAAY,EAAE;YACZ,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC;YACrC,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;SAChC;QACD,SAAS,EAAE;YACT,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,WAAW,CAAC;YAClC,MAAM,EAAE,KAAK;SACd;KACF;IAKD,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE;oBACJ,IAAI,EAAE,yBAAyB;oBAC/B,IAAI,EAAE,oBAAoB;iBAC3B;gBACD,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,GAAG;gBACT,MAAM,EAAE,KAAK;aACd;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,wBAAwB;gBACxC,eAAe,EAAE,yBAAyB;aAC3C;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,yBAAyB;gBAChC,IAAI,EAAE,mBAAmB;aAC1B;YACD,gBAAgB,EAAE,yCAAyC;YAC3D,iBAAiB,EAAE,2CAA2C;SAC/D;QACD,GAAG,EAAE,YAAY;QACjB,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,KAAK,EAAE,KAAK;gBACZ,aAAa,EAAE,IAAI;aACpB;SACF;QACD,GAAG,EAAE;YACH,MAAM,EAAE,4BAA4B;SACrC;QACD,QAAQ,EAAE;YACR,GAAG,EAAE,sCAAsC;SAC5C;QACD,IAAI,EAAE,IAAI;QACV,YAAY,EAAE;YACZ,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC;YACrC,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;SAChC;QACD,SAAS,EAAE;YACT,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,WAAW,CAAC;YAClC,MAAM,EAAE,KAAK;SACd;KACF;CACF,CAAC;AAOF,MAAM,
|
|
1
|
+
{"version":3,"file":"config.env.js","sourceRoot":"","sources":["../src/config.env.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAM5B,MAAM,MAAM,GAAsC;IAIhD,WAAW,EAAE;QACX,KAAK,EAAE;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE;oBACJ,IAAI,EAAE,yBAAyB;oBAC/B,IAAI,EAAE,oBAAoB;iBAC3B;gBACD,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,GAAG;gBACT,MAAM,EAAE,KAAK;aACd;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,wBAAwB;gBACxC,eAAe,EAAE,yBAAyB;aAC3C;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,yBAAyB;gBAChC,IAAI,EAAE,mBAAmB;aAC1B;YACD,gBAAgB,EAAE,yCAAyC;YAC3D,iBAAiB,EAAE,2CAA2C;SAC/D;QACD,GAAG,EAAE,aAAa;QAClB,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,KAAK,EAAE,IAAI;gBACX,aAAa,EAAE,IAAI;aACpB;SACF;QACD,GAAG,EAAE;YACH,MAAM,EAAE,2BAA2B;SACpC;QACD,QAAQ,EAAE;YACR,GAAG,EAAE,qCAAqC;SAC3C;QACD,IAAI,EAAE,IAAI;QACV,YAAY,EAAE;YACZ,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC;YACrC,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;SAChC;QACD,SAAS,EAAE;YACT,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,WAAW,CAAC;YAClC,MAAM,EAAE,KAAK;SACd;KACF;IAKD,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE;oBACJ,IAAI,EAAE,yBAAyB;oBAC/B,IAAI,EAAE,oBAAoB;iBAC3B;gBACD,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,GAAG;gBACT,MAAM,EAAE,KAAK;aACd;YACD,OAAO,EAAE;gBACP,cAAc,EAAE,wBAAwB;gBACxC,eAAe,EAAE,yBAAyB;aAC3C;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,yBAAyB;gBAChC,IAAI,EAAE,mBAAmB;aAC1B;YACD,gBAAgB,EAAE,yCAAyC;YAC3D,iBAAiB,EAAE,2CAA2C;SAC/D;QACD,GAAG,EAAE,YAAY;QACjB,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,KAAK,EAAE,KAAK;gBACZ,aAAa,EAAE,IAAI;aACpB;SACF;QACD,GAAG,EAAE;YACH,MAAM,EAAE,4BAA4B;SACrC;QACD,QAAQ,EAAE;YACR,GAAG,EAAE,sCAAsC;SAC5C;QACD,IAAI,EAAE,IAAI;QACV,YAAY,EAAE;YACZ,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC;YACrC,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;SAChC;QACD,SAAS,EAAE;YACT,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,WAAW,CAAC;YAClC,MAAM,EAAE,KAAK;SACd;KACF;CACF,CAAC;AAOF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,aAAa,CAAC;AAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC;AACpD,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAK7G,kBAAe,SAAS,CAAC"}
|
|
@@ -34,7 +34,7 @@ let PaginationArgs = class PaginationArgs extends core_input_input_1.CoreInput {
|
|
|
34
34
|
}
|
|
35
35
|
map(data, options = {}) {
|
|
36
36
|
super.map(data, options);
|
|
37
|
-
this.sort = model_helper_1.
|
|
37
|
+
this.sort = (0, model_helper_1.maps)(data.sort, sort_input_1.SortInput, options.cloneDeep);
|
|
38
38
|
Object.keys(this).forEach((key) => this[key] === undefined && delete this[key]);
|
|
39
39
|
return this;
|
|
40
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.args.js","sourceRoot":"","sources":["../../../../src/core/common/args/pagination.args.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAkD;AAClD,6CAAuD;AACvD,
|
|
1
|
+
{"version":3,"file":"pagination.args.js","sourceRoot":"","sources":["../../../../src/core/common/args/pagination.args.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
|
+
import { IdsType } from '../types/ids.type';
|
|
2
3
|
export declare const Restricted: (...roles: string[]) => PropertyDecorator;
|
|
3
4
|
export declare const getRestricted: (object: unknown, propertyKey: string) => any;
|
|
4
5
|
export declare const checkRestricted: (data: any, user: {
|
|
5
6
|
id: any;
|
|
6
7
|
hasRole: (roles: string[]) => boolean;
|
|
7
8
|
}, options?: {
|
|
9
|
+
creator?: IdsType;
|
|
8
10
|
ignoreUndefined?: boolean;
|
|
11
|
+
ownerIds?: IdsType;
|
|
9
12
|
throwError?: boolean;
|
|
10
13
|
}, processedObjects?: any[]) => any;
|
|
@@ -4,6 +4,7 @@ exports.checkRestricted = exports.getRestricted = exports.Restricted = void 0;
|
|
|
4
4
|
require("reflect-metadata");
|
|
5
5
|
const common_1 = require("@nestjs/common");
|
|
6
6
|
const role_enum_1 = require("../enums/role.enum");
|
|
7
|
+
const db_helper_1 = require("../helpers/db.helper");
|
|
7
8
|
const restrictedMetaKey = Symbol('restricted');
|
|
8
9
|
const Restricted = (...roles) => {
|
|
9
10
|
return Reflect.metadata(restrictedMetaKey, roles);
|
|
@@ -23,7 +24,7 @@ const checkRestricted = (data, user, options = {}, processedObjects = []) => {
|
|
|
23
24
|
}
|
|
24
25
|
processedObjects.push(data);
|
|
25
26
|
if (Array.isArray(data)) {
|
|
26
|
-
return data.map((item) => (0, exports.checkRestricted)(item, user,
|
|
27
|
+
return data.map((item) => (0, exports.checkRestricted)(item, user, config, processedObjects));
|
|
27
28
|
}
|
|
28
29
|
for (const propertyKey of Object.keys(data)) {
|
|
29
30
|
if (data[propertyKey] === undefined && config.ignoreUndefined) {
|
|
@@ -32,13 +33,18 @@ const checkRestricted = (data, user, options = {}, processedObjects = []) => {
|
|
|
32
33
|
const roles = (0, exports.getRestricted)(data, propertyKey);
|
|
33
34
|
if (roles && roles.some((value) => !!value)) {
|
|
34
35
|
if (!user || !user.hasRole(roles)) {
|
|
35
|
-
if (user && roles.includes(role_enum_1.RoleEnum.
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
36
|
+
if ((user === null || user === void 0 ? void 0 : user.id) && roles.includes(role_enum_1.RoleEnum.S_CREATOR) && (0, db_helper_1.equalIds)(user.id, config.creator)) {
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
else if (user && roles.includes(role_enum_1.RoleEnum.S_OWNER)) {
|
|
40
|
+
const userId = (0, db_helper_1.getStringIds)(user);
|
|
41
|
+
const ownerIds = config.ownerIds ? (0, db_helper_1.getStringIds)(config.ownerIds) : null;
|
|
42
|
+
if (!ownerIds ||
|
|
43
|
+
!(ownerIds === userId || (Array.isArray(ownerIds) && ownerIds.includes(userId)))) {
|
|
41
44
|
if (config.throwError) {
|
|
45
|
+
if (!config.ownerIds) {
|
|
46
|
+
throw new common_1.UnauthorizedException('Lack of ownerIds to verify ownership of ' + propertyKey);
|
|
47
|
+
}
|
|
42
48
|
throw new common_1.UnauthorizedException('Current user is not allowed to set ' + propertyKey);
|
|
43
49
|
}
|
|
44
50
|
continue;
|
|
@@ -52,7 +58,7 @@ const checkRestricted = (data, user, options = {}, processedObjects = []) => {
|
|
|
52
58
|
}
|
|
53
59
|
}
|
|
54
60
|
}
|
|
55
|
-
data[propertyKey] = (0, exports.checkRestricted)(data[propertyKey], user,
|
|
61
|
+
data[propertyKey] = (0, exports.checkRestricted)(data[propertyKey], user, config, processedObjects);
|
|
56
62
|
}
|
|
57
63
|
return data;
|
|
58
64
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restricted.decorator.js","sourceRoot":"","sources":["../../../../src/core/common/decorators/restricted.decorator.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;AAC1B,2CAAuD;AACvD,kDAA8C;
|
|
1
|
+
{"version":3,"file":"restricted.decorator.js","sourceRoot":"","sources":["../../../../src/core/common/decorators/restricted.decorator.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,8 @@ exports.RoleEnum = void 0;
|
|
|
4
4
|
var RoleEnum;
|
|
5
5
|
(function (RoleEnum) {
|
|
6
6
|
RoleEnum["ADMIN"] = "admin";
|
|
7
|
-
RoleEnum["
|
|
8
|
-
RoleEnum["
|
|
7
|
+
RoleEnum["S_USER"] = "s_user";
|
|
8
|
+
RoleEnum["S_CREATOR"] = "s_creator";
|
|
9
|
+
RoleEnum["S_OWNER"] = "s_owner";
|
|
9
10
|
})(RoleEnum = exports.RoleEnum || (exports.RoleEnum = {}));
|
|
10
11
|
//# sourceMappingURL=role.enum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"role.enum.js","sourceRoot":"","sources":["../../../../src/core/common/enums/role.enum.ts"],"names":[],"mappings":";;;AAGA,IAAY,
|
|
1
|
+
{"version":3,"file":"role.enum.js","sourceRoot":"","sources":["../../../../src/core/common/enums/role.enum.ts"],"names":[],"mappings":";;;AAGA,IAAY,QA2BX;AA3BD,WAAY,QAAQ;IAOlB,2BAAe,CAAA;IAQf,6BAAiB,CAAA;IAQjB,mCAAuB,CAAA;IAGvB,+BAAmB,CAAA;AACrB,CAAC,EA3BW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QA2BnB"}
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.merge = void 0;
|
|
4
4
|
const _ = require("lodash");
|
|
5
5
|
class Config {
|
|
6
6
|
static merge(obj, ...sources) {
|
|
7
|
-
return
|
|
8
|
-
if (Array.isArray(srcValue)) {
|
|
9
|
-
return srcValue;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
7
|
+
return merge(obj, sources);
|
|
12
8
|
}
|
|
13
9
|
}
|
|
14
|
-
exports.
|
|
10
|
+
exports.default = Config;
|
|
11
|
+
function merge(obj, ...sources) {
|
|
12
|
+
return _.mergeWith(obj, ...sources, (objValue, srcValue) => {
|
|
13
|
+
if (Array.isArray(srcValue)) {
|
|
14
|
+
return srcValue;
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
exports.merge = merge;
|
|
15
19
|
//# sourceMappingURL=config.helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/config.helper.ts"],"names":[],"mappings":";;;AAAA,4BAA4B;
|
|
1
|
+
{"version":3,"file":"config.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/config.helper.ts"],"names":[],"mappings":";;;AAAA,4BAA4B;AAM5B,MAAqB,MAAM;IAelB,MAAM,CAAC,KAAK,CAAC,GAAwB,EAAE,GAAG,OAAc;QAC7D,OAAO,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;CACF;AAlBD,yBAkBC;AAiBD,SAAgB,KAAK,CAAC,GAAwB,EAAE,GAAG,OAAc;IAC/D,OAAO,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,QAAa,EAAE,QAAa,EAAE,EAAE;QACnE,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC3B,OAAO,QAAQ,CAAC;SACjB;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAND,sBAMC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ExecutionContext } from '@nestjs/common';
|
|
2
|
-
export
|
|
2
|
+
export default class Context {
|
|
3
3
|
static getData(context: ExecutionContext): {
|
|
4
4
|
currentUser: {
|
|
5
5
|
[key: string]: any;
|
|
@@ -7,3 +7,9 @@ export declare class Context {
|
|
|
7
7
|
args: any;
|
|
8
8
|
};
|
|
9
9
|
}
|
|
10
|
+
export declare function getContextData(context: ExecutionContext): {
|
|
11
|
+
currentUser: {
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
};
|
|
14
|
+
args: any;
|
|
15
|
+
};
|
|
@@ -1,38 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getContextData = void 0;
|
|
4
4
|
const graphql_1 = require("@nestjs/graphql");
|
|
5
5
|
class Context {
|
|
6
6
|
static getData(context) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
7
|
+
return getContextData(context);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.default = Context;
|
|
11
|
+
function getContextData(context) {
|
|
12
|
+
var _a, _b, _c, _d;
|
|
13
|
+
if (!context) {
|
|
14
|
+
return { currentUser: null, args: null };
|
|
15
|
+
}
|
|
16
|
+
let user;
|
|
17
|
+
let ctx = null;
|
|
18
|
+
try {
|
|
19
|
+
ctx = (_a = graphql_1.GqlExecutionContext.create(context)) === null || _a === void 0 ? void 0 : _a.getContext();
|
|
20
|
+
}
|
|
21
|
+
catch (e) {
|
|
22
|
+
}
|
|
23
|
+
let args;
|
|
24
|
+
try {
|
|
25
|
+
args = (_b = graphql_1.GqlExecutionContext.create(context)) === null || _b === void 0 ? void 0 : _b.getArgs();
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
}
|
|
29
|
+
if (ctx) {
|
|
30
|
+
user = (ctx === null || ctx === void 0 ? void 0 : ctx.user) || ((_c = ctx === null || ctx === void 0 ? void 0 : ctx.req) === null || _c === void 0 ? void 0 : _c.user);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
const request = (context === null || context === void 0 ? void 0 : context.switchToHttp) ? (_d = context.switchToHttp()) === null || _d === void 0 ? void 0 : _d.getRequest() : null;
|
|
34
|
+
if (request) {
|
|
35
|
+
args = request.body;
|
|
36
|
+
user = request.user;
|
|
33
37
|
}
|
|
34
|
-
return { currentUser: user, args };
|
|
35
38
|
}
|
|
39
|
+
return { currentUser: user, args };
|
|
36
40
|
}
|
|
37
|
-
exports.
|
|
41
|
+
exports.getContextData = getContextData;
|
|
38
42
|
//# sourceMappingURL=context.helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/context.helper.ts"],"names":[],"mappings":";;;AACA,6CAAsD;
|
|
1
|
+
{"version":3,"file":"context.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/context.helper.ts"],"names":[],"mappings":";;;AACA,6CAAsD;AAMtD,MAAqB,OAAO;IAKnB,MAAM,CAAC,OAAO,CAAC,OAAyB;QAC7C,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;CACF;AARD,0BAQC;AAKD,SAAgB,cAAc,CAAC,OAAyB;;IAEtD,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;KAC1C;IAGD,IAAI,IAA4B,CAAC;IACjC,IAAI,GAAG,GAAQ,IAAI,CAAC;IACpB,IAAI;QACF,GAAG,GAAG,MAAA,6BAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,0CAAE,UAAU,EAAE,CAAC;KACzD;IAAC,OAAO,CAAC,EAAE;KAEX;IAED,IAAI,IAAS,CAAC;IACd,IAAI;QACF,IAAI,GAAG,MAAA,6BAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,0CAAE,OAAO,EAAE,CAAC;KACvD;IAAC,OAAO,CAAC,EAAE;KAEX;IAGD,IAAI,GAAG,EAAE;QAEP,IAAI,GAAG,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,MAAI,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,GAAG,0CAAE,IAAI,CAAA,CAAC;KACpC;SAAM;QACL,MAAM,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,EAAC,CAAC,CAAC,MAAA,OAAO,CAAC,YAAY,EAAE,0CAAE,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,IAAI,OAAO,EAAE;YACX,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAGpB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;SACrB;KACF;IAGD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACrC,CAAC;AAtCD,wCAsCC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { GraphQLResolveInfo, SelectionNode } from 'graphql';
|
|
2
|
+
import { Document, Model, PopulateOptions, Query, SchemaType, Types } from 'mongoose';
|
|
3
|
+
import { CoreModel } from '../models/core-model.model';
|
|
4
|
+
import { FieldSelection } from '../types/field-selection.type';
|
|
5
|
+
import { IdsType } from '../types/ids.type';
|
|
6
|
+
import { StringOrObjectId } from '../types/string-or-object-id.type';
|
|
7
|
+
export declare function addIds(target: any, ids: StringOrObjectId | StringOrObjectId[], convert?: 'string' | 'object' | 'auto' | false, options?: {
|
|
8
|
+
unique?: boolean;
|
|
9
|
+
}): any[];
|
|
10
|
+
export declare function equalIds(...ids: IdsType[]): boolean;
|
|
11
|
+
export declare function getIndexesViaIds(ids: any | any[], array: any[]): number[];
|
|
12
|
+
export declare function getStringIds(elements: any[], options?: {
|
|
13
|
+
deep?: boolean;
|
|
14
|
+
unique?: boolean;
|
|
15
|
+
}): string[];
|
|
16
|
+
export declare function getStringIds(elements: any, options?: {
|
|
17
|
+
deep?: boolean;
|
|
18
|
+
unique?: boolean;
|
|
19
|
+
}): string;
|
|
20
|
+
export declare function getObjectIds(ids: any[]): Types.ObjectId[];
|
|
21
|
+
export declare function getObjectIds(ids: any): Types.ObjectId;
|
|
22
|
+
export declare function getElementsViaIds<T = any>(ids: any | any[], array: T[], options?: {
|
|
23
|
+
splice?: boolean;
|
|
24
|
+
unique?: boolean;
|
|
25
|
+
}): T[];
|
|
26
|
+
export declare function getPopulateOptions(info: GraphQLResolveInfo, select?: string): PopulateOptions[];
|
|
27
|
+
export declare function getPopulatOptionsFromSelections(selectionNodes: readonly SelectionNode[]): PopulateOptions[];
|
|
28
|
+
export declare function getJSONClone<T = any>(obj: T): Partial<T>;
|
|
29
|
+
export declare function includesIds(includes: StringOrObjectId | StringOrObjectId[], ids: StringOrObjectId | StringOrObjectId[], convert?: 'string'): string[];
|
|
30
|
+
export declare function includesIds(includes: StringOrObjectId | StringOrObjectId[], ids: StringOrObjectId | StringOrObjectId[], convert?: 'object'): Types.ObjectId[];
|
|
31
|
+
export declare function objectIdsToStrings(element: any, prepared?: WeakMap<any, any>): any;
|
|
32
|
+
export declare function removeUnresolvedReferences<T = any>(populated: T, populatedOptions: string | PopulateOptions | PopulateOptions[] | (string | PopulateOptions)[], ignoreFirst?: boolean): T;
|
|
33
|
+
export declare function popAndMap<T extends CoreModel>(queryOrDocument: Query<any, any> | Document | Document[], populate: FieldSelection, modelClass: new (...args: any[]) => T, mongooseModel?: Model<any>): Promise<T | T[]>;
|
|
34
|
+
export declare function removeIds(source: any[], ids: StringOrObjectId | StringOrObjectId[]): any[];
|
|
35
|
+
export declare function setPopulates<T = Query<any, any> | Document>(queryOrDocument: T, populateOptions: PopulateOptions[], modelSchemaPaths?: {
|
|
36
|
+
[key: string]: SchemaType;
|
|
37
|
+
}): Promise<T>;
|