@lenne.tech/nest-server 11.2.0 → 11.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.
Files changed (34) hide show
  1. package/dist/core/common/decorators/unified-field.decorator.d.ts +2 -0
  2. package/dist/core/common/decorators/unified-field.decorator.js +26 -9
  3. package/dist/core/common/decorators/unified-field.decorator.js.map +1 -1
  4. package/dist/core/common/models/core-persistence.model.js +2 -2
  5. package/dist/core/common/models/core-persistence.model.js.map +1 -1
  6. package/dist/core/modules/file/core-file-info.model.js +41 -23
  7. package/dist/core/modules/file/core-file-info.model.js.map +1 -1
  8. package/dist/core/modules/user/core-user.model.js +95 -54
  9. package/dist/core/modules/user/core-user.model.js.map +1 -1
  10. package/dist/main.js +22 -0
  11. package/dist/main.js.map +1 -1
  12. package/dist/server/common/models/persistence.model.js +13 -11
  13. package/dist/server/common/models/persistence.model.js.map +1 -1
  14. package/dist/server/modules/auth/auth.model.js +6 -2
  15. package/dist/server/modules/auth/auth.model.js.map +1 -1
  16. package/dist/server/modules/user/user.controller.d.ts +19 -0
  17. package/dist/server/modules/user/user.controller.js +256 -0
  18. package/dist/server/modules/user/user.controller.js.map +1 -0
  19. package/dist/server/modules/user/user.model.js +37 -24
  20. package/dist/server/modules/user/user.model.js.map +1 -1
  21. package/dist/server/modules/user/user.module.js +2 -1
  22. package/dist/server/modules/user/user.module.js.map +1 -1
  23. package/dist/tsconfig.build.tsbuildinfo +1 -1
  24. package/package.json +27 -28
  25. package/src/core/common/decorators/unified-field.decorator.ts +49 -10
  26. package/src/core/common/models/core-persistence.model.ts +3 -3
  27. package/src/core/modules/file/core-file-info.model.ts +40 -22
  28. package/src/core/modules/user/core-user.model.ts +120 -78
  29. package/src/main.ts +25 -0
  30. package/src/server/common/models/persistence.model.ts +15 -13
  31. package/src/server/modules/auth/auth.model.ts +7 -3
  32. package/src/server/modules/user/user.controller.ts +242 -0
  33. package/src/server/modules/user/user.model.ts +39 -26
  34. package/src/server/modules/user/user.module.ts +2 -1
@@ -11,10 +11,10 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.PersistenceModel = void 0;
13
13
  const graphql_1 = require("@nestjs/graphql");
14
- const mongoose_1 = require("@nestjs/mongoose");
15
14
  const swagger_1 = require("@nestjs/swagger");
16
15
  const mongoose = require("mongoose");
17
16
  const restricted_decorator_1 = require("../../../core/common/decorators/restricted.decorator");
17
+ const unified_field_decorator_1 = require("../../../core/common/decorators/unified-field.decorator");
18
18
  const role_enum_1 = require("../../../core/common/enums/role.enum");
19
19
  const core_persistence_model_1 = require("../../../core/common/models/core-persistence.model");
20
20
  const user_model_1 = require("../../modules/user/user.model");
@@ -35,23 +35,25 @@ let PersistenceModel = class PersistenceModel extends core_persistence_model_1.C
35
35
  };
36
36
  exports.PersistenceModel = PersistenceModel;
37
37
  __decorate([
38
- (0, swagger_1.ApiProperty)({ type: String }),
39
- (0, graphql_1.Field)(() => user_model_1.User, {
38
+ (0, unified_field_decorator_1.UnifiedField)({
40
39
  description: 'ID of the user who created the object',
41
- nullable: true,
40
+ isOptional: true,
41
+ mongoose: { ref: 'User', type: mongoose.Schema.Types.ObjectId },
42
+ roles: role_enum_1.RoleEnum.ADMIN,
43
+ swaggerApiOptions: { type: String },
44
+ type: () => user_model_1.User,
42
45
  }),
43
- (0, mongoose_1.Prop)({ ref: 'User', type: mongoose.Schema.Types.ObjectId }),
44
- (0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.ADMIN),
45
46
  __metadata("design:type", Object)
46
47
  ], PersistenceModel.prototype, "createdBy", void 0);
47
48
  __decorate([
48
- (0, swagger_1.ApiProperty)({ type: user_model_1.User }),
49
- (0, graphql_1.Field)(() => user_model_1.User, {
49
+ (0, unified_field_decorator_1.UnifiedField)({
50
50
  description: 'ID of the user who updated the object',
51
- nullable: true,
51
+ isOptional: true,
52
+ mongoose: { ref: 'User', type: mongoose.Schema.Types.ObjectId },
53
+ roles: role_enum_1.RoleEnum.ADMIN,
54
+ swaggerApiOptions: { type: user_model_1.User },
55
+ type: () => user_model_1.User,
52
56
  }),
53
- (0, mongoose_1.Prop)({ ref: 'User', type: mongoose.Schema.Types.ObjectId }),
54
- (0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.ADMIN),
55
57
  __metadata("design:type", Object)
56
58
  ], PersistenceModel.prototype, "updatedBy", void 0);
57
59
  exports.PersistenceModel = PersistenceModel = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.model.js","sourceRoot":"","sources":["../../../../src/server/common/models/persistence.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAoD;AACpD,+CAAwC;AACxC,6CAA8D;AAE9D,qCAAsC;AAEtC,+FAAkF;AAClF,oEAAgE;AAChE,+FAA0F;AAC1F,8DAAqD;AAa9C,IAAe,gBAAgB,GAA/B,MAAe,gBAAiB,SAAQ,6CAAoB;IAA5D;;QAiBL,cAAS,GAA6B,SAAS,CAAC;QAchD,cAAS,GAA6B,SAAS,CAAC;IAwBlD,CAAC;IAfU,IAAI;QACX,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,OAAO,IAAI,CAAC;IACd,CAAC;IAKQ,GAAG,CAAC,KAAK;QAChB,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAGjB,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAvDqB,4CAAgB;AAiBpC;IAPC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC7B,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,iBAAI,EAAE;QACjB,WAAW,EAAE,uCAAuC;QACpD,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,eAAI,EAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC3D,IAAA,iCAAU,EAAC,oBAAQ,CAAC,KAAK,CAAC;;mDACqB;AAchD;IAPC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,iBAAI,EAAE,CAAC;IAC3B,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,iBAAI,EAAE;QACjB,WAAW,EAAE,uCAAuC;QACpD,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,eAAI,EAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC3D,IAAA,iCAAU,EAAC,oBAAQ,CAAC,KAAK,CAAC;;mDACqB;2BA/B5B,gBAAgB;IANrC,IAAA,wBAAc,EAAC,6CAAoB,CAAC;IACpC,IAAA,oBAAU,EAAC;QACV,WAAW,EAAE,6CAA6C;QAC1D,UAAU,EAAE,IAAI;KACjB,CAAC;IACD,IAAA,iCAAU,EAAC,oBAAQ,CAAC,KAAK,CAAC;GACL,gBAAgB,CAuDrC"}
1
+ {"version":3,"file":"persistence.model.js","sourceRoot":"","sources":["../../../../src/server/common/models/persistence.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA6C;AAC7C,6CAAiD;AAEjD,qCAAsC;AAEtC,+FAAkF;AAClF,qGAAuF;AACvF,oEAAgE;AAChE,+FAA0F;AAC1F,8DAAqD;AAa9C,IAAe,gBAAgB,GAA/B,MAAe,gBAAiB,SAAQ,6CAAoB;IAA5D;;QAkBL,cAAS,GAA6B,SAAS,CAAC;QAehD,cAAS,GAA6B,SAAS,CAAC;IAwBlD,CAAC;IAfU,IAAI;QACX,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,OAAO,IAAI,CAAC;IACd,CAAC;IAKQ,GAAG,CAAC,KAAK;QAChB,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAGjB,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAzDqB,4CAAgB;AAkBpC;IARC,IAAA,sCAAY,EAAC;QACZ,WAAW,EAAE,uCAAuC;QACpD,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE;QAC/D,KAAK,EAAE,oBAAQ,CAAC,KAAK;QACrB,iBAAiB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QACnC,IAAI,EAAE,GAAG,EAAE,CAAC,iBAAI;KACjB,CAAC;;mDAC8C;AAehD;IARC,IAAA,sCAAY,EAAC;QACZ,WAAW,EAAE,uCAAuC;QACpD,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE;QAC/D,KAAK,EAAE,oBAAQ,CAAC,KAAK;QACrB,iBAAiB,EAAE,EAAE,IAAI,EAAE,iBAAI,EAAE;QACjC,IAAI,EAAE,GAAG,EAAE,CAAC,iBAAI;KACjB,CAAC;;mDAC8C;2BAjC5B,gBAAgB;IANrC,IAAA,wBAAc,EAAC,6CAAoB,CAAC;IACpC,IAAA,oBAAU,EAAC;QACV,WAAW,EAAE,6CAA6C;QAC1D,UAAU,EAAE,IAAI;KACjB,CAAC;IACD,IAAA,iCAAU,EAAC,oBAAQ,CAAC,KAAK,CAAC;GACL,gBAAgB,CAyDrC"}
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Auth = void 0;
13
13
  const graphql_1 = require("@nestjs/graphql");
14
14
  const restricted_decorator_1 = require("../../../core/common/decorators/restricted.decorator");
15
+ const unified_field_decorator_1 = require("../../../core/common/decorators/unified-field.decorator");
15
16
  const role_enum_1 = require("../../../core/common/enums/role.enum");
16
17
  const model_helper_1 = require("../../../core/common/helpers/model.helper");
17
18
  const core_auth_model_1 = require("../../../core/modules/auth/core-auth.model");
@@ -32,8 +33,11 @@ let Auth = class Auth extends core_auth_model_1.CoreAuthModel {
32
33
  };
33
34
  exports.Auth = Auth;
34
35
  __decorate([
35
- (0, graphql_1.Field)(() => user_model_1.User, { description: 'User who signed in' }),
36
- (0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.S_EVERYONE),
36
+ (0, unified_field_decorator_1.UnifiedField)({
37
+ description: 'User who signed in',
38
+ roles: role_enum_1.RoleEnum.S_EVERYONE,
39
+ type: () => user_model_1.User,
40
+ }),
37
41
  __metadata("design:type", user_model_1.User)
38
42
  ], Auth.prototype, "user", void 0);
39
43
  exports.Auth = Auth = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"auth.model.js","sourceRoot":"","sources":["../../../../src/server/modules/auth/auth.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAoD;AAEpD,+FAAkF;AAClF,oEAAgE;AAChE,4EAAuE;AACvE,gFAA2E;AAC3E,mDAA0C;AAOnC,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,+BAAa;IAAhC;;QAUI,SAAI,GAAS,SAAS,CAAC;IAsBlC,CAAC;IAbU,IAAI;QACX,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,OAAO,IAAI,CAAC;IACd,CAAC;IAKQ,GAAG,CAAC,KAAK;QAChB,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjB,OAAO,IAAA,yBAAU,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;CACF,CAAA;AAhCY,oBAAI;AAUN;IAFR,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,iBAAI,EAAE,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACxD,IAAA,iCAAU,EAAC,oBAAQ,CAAC,UAAU,CAAC;8BACjB,iBAAI;kCAAa;eAVrB,IAAI;IAFhB,IAAA,oBAAU,EAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;IAClD,IAAA,iCAAU,EAAC,oBAAQ,CAAC,KAAK,CAAC;GACd,IAAI,CAgChB"}
1
+ {"version":3,"file":"auth.model.js","sourceRoot":"","sources":["../../../../src/server/modules/auth/auth.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA6C;AAE7C,+FAAkF;AAClF,qGAAuF;AACvF,oEAAgE;AAChE,4EAAuE;AACvE,gFAA2E;AAC3E,mDAA0C;AAOnC,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,+BAAa;IAAhC;;QAaI,SAAI,GAAS,SAAS,CAAC;IAsBlC,CAAC;IAbU,IAAI;QACX,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,OAAO,IAAI,CAAC;IACd,CAAC;IAKQ,GAAG,CAAC,KAAK;QAChB,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjB,OAAO,IAAA,yBAAU,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;CACF,CAAA;AAnCY,oBAAI;AAaN;IALR,IAAA,sCAAY,EAAC;QACZ,WAAW,EAAE,oBAAoB;QACjC,KAAK,EAAE,oBAAQ,CAAC,UAAU;QAC1B,IAAI,EAAE,GAAG,EAAE,CAAC,iBAAI;KACjB,CAAC;8BACa,iBAAI;kCAAa;eAbrB,IAAI;IAFhB,IAAA,oBAAU,EAAC,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;IAClD,IAAA,iCAAU,EAAC,oBAAQ,CAAC,KAAK,CAAC;GACd,IAAI,CAmChB"}
@@ -0,0 +1,19 @@
1
+ import { UserCreateInput } from './inputs/user-create.input';
2
+ import { UserInput } from './inputs/user.input';
3
+ import { FindAndCountUsersResult } from './outputs/find-and-count-users-result.output';
4
+ import { User } from './user.model';
5
+ import { UserService } from './user.service';
6
+ export declare class UserController {
7
+ protected readonly userService: UserService;
8
+ constructor(userService: UserService);
9
+ findUsers(currentUser: User): Promise<User[]>;
10
+ findAndCountUsers(currentUser: User): Promise<FindAndCountUsersResult>;
11
+ getVerifiedState(token: string): Promise<boolean>;
12
+ getUser(currentUser: User, id: string): Promise<User>;
13
+ createUser(currentUser: User, input: UserCreateInput): Promise<User>;
14
+ requestPasswordResetMail(email: string): Promise<boolean>;
15
+ resetPassword(token: string, password: string): Promise<boolean>;
16
+ verifyUser(token: string): Promise<boolean>;
17
+ updateUser(currentUser: User, id: string, input: UserInput): Promise<User>;
18
+ deleteUser(currentUser: User, id: string): Promise<User>;
19
+ }
@@ -0,0 +1,256 @@
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
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.UserController = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const swagger_1 = require("@nestjs/swagger");
18
+ const common_error_decorator_1 = require("../../../core/common/decorators/common-error.decorator");
19
+ const current_user_decorator_1 = require("../../../core/common/decorators/current-user.decorator");
20
+ const roles_decorator_1 = require("../../../core/common/decorators/roles.decorator");
21
+ const role_enum_1 = require("../../../core/common/enums/role.enum");
22
+ const auth_guard_strategy_enum_1 = require("../../../core/modules/auth/auth-guard-strategy.enum");
23
+ const auth_guard_1 = require("../../../core/modules/auth/guards/auth.guard");
24
+ const user_create_input_1 = require("./inputs/user-create.input");
25
+ const user_input_1 = require("./inputs/user.input");
26
+ const find_and_count_users_result_output_1 = require("./outputs/find-and-count-users-result.output");
27
+ const user_model_1 = require("./user.model");
28
+ const user_service_1 = require("./user.service");
29
+ let UserController = class UserController {
30
+ constructor(userService) {
31
+ this.userService = userService;
32
+ }
33
+ async findUsers(currentUser) {
34
+ const serviceOptions = {
35
+ currentUser,
36
+ };
37
+ return await this.userService.find({}, serviceOptions);
38
+ }
39
+ async findAndCountUsers(currentUser) {
40
+ const serviceOptions = {
41
+ currentUser,
42
+ };
43
+ return await this.userService.findAndCount({}, serviceOptions);
44
+ }
45
+ async getVerifiedState(token) {
46
+ return await this.userService.getVerifiedState(token);
47
+ }
48
+ async getUser(currentUser, id) {
49
+ const serviceOptions = {
50
+ currentUser,
51
+ roles: [role_enum_1.RoleEnum.ADMIN, role_enum_1.RoleEnum.S_CREATOR, role_enum_1.RoleEnum.S_SELF],
52
+ };
53
+ return await this.userService.get(id, serviceOptions);
54
+ }
55
+ async createUser(currentUser, input) {
56
+ const serviceOptions = {
57
+ currentUser,
58
+ inputType: user_create_input_1.UserCreateInput,
59
+ };
60
+ return await this.userService.create(input, serviceOptions);
61
+ }
62
+ async requestPasswordResetMail(email) {
63
+ return !!(await this.userService.sendPasswordResetMail(email));
64
+ }
65
+ async resetPassword(token, password) {
66
+ return !!(await this.userService.resetPassword(token, password));
67
+ }
68
+ async verifyUser(token) {
69
+ return !!(await this.userService.verify(token));
70
+ }
71
+ async updateUser(currentUser, id, input) {
72
+ const serviceOptions = {
73
+ currentUser,
74
+ inputType: user_input_1.UserInput,
75
+ roles: [role_enum_1.RoleEnum.ADMIN, role_enum_1.RoleEnum.S_CREATOR, role_enum_1.RoleEnum.S_SELF],
76
+ };
77
+ return await this.userService.update(id, input, serviceOptions);
78
+ }
79
+ async deleteUser(currentUser, id) {
80
+ const serviceOptions = {
81
+ currentUser,
82
+ roles: [role_enum_1.RoleEnum.ADMIN, role_enum_1.RoleEnum.S_CREATOR, role_enum_1.RoleEnum.S_SELF],
83
+ };
84
+ return await this.userService.delete(id, serviceOptions);
85
+ }
86
+ };
87
+ exports.UserController = UserController;
88
+ __decorate([
89
+ (0, swagger_1.ApiBearerAuth)(),
90
+ (0, swagger_1.ApiOkResponse)({ description: 'Users found successfully', type: [user_model_1.User] }),
91
+ (0, swagger_1.ApiOperation)({ description: 'Find users (via filter)', summary: 'Get all users' }),
92
+ (0, common_1.Get)(),
93
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.ADMIN),
94
+ (0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
95
+ __param(0, (0, current_user_decorator_1.CurrentUser)()),
96
+ __metadata("design:type", Function),
97
+ __metadata("design:paramtypes", [user_model_1.User]),
98
+ __metadata("design:returntype", Promise)
99
+ ], UserController.prototype, "findUsers", null);
100
+ __decorate([
101
+ (0, swagger_1.ApiBearerAuth)(),
102
+ (0, swagger_1.ApiOkResponse)({ description: 'Users and count found successfully', type: find_and_count_users_result_output_1.FindAndCountUsersResult }),
103
+ (0, swagger_1.ApiOperation)({
104
+ description: 'Find users and total count (via filter)',
105
+ summary: 'Get users with count',
106
+ }),
107
+ (0, common_1.Get)('count'),
108
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.ADMIN),
109
+ (0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
110
+ __param(0, (0, current_user_decorator_1.CurrentUser)()),
111
+ __metadata("design:type", Function),
112
+ __metadata("design:paramtypes", [user_model_1.User]),
113
+ __metadata("design:returntype", Promise)
114
+ ], UserController.prototype, "findAndCountUsers", null);
115
+ __decorate([
116
+ (0, swagger_1.ApiOkResponse)({ description: 'Verified state retrieved successfully', type: Boolean }),
117
+ (0, swagger_1.ApiOperation)({
118
+ description: 'Get verified state of user with token',
119
+ summary: 'Check if user is verified',
120
+ }),
121
+ (0, swagger_1.ApiQuery)({ description: 'Verification token', name: 'token', type: String }),
122
+ (0, common_1.Get)('verified-state'),
123
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
124
+ __param(0, (0, common_1.Query)('token')),
125
+ __metadata("design:type", Function),
126
+ __metadata("design:paramtypes", [String]),
127
+ __metadata("design:returntype", Promise)
128
+ ], UserController.prototype, "getVerifiedState", null);
129
+ __decorate([
130
+ (0, swagger_1.ApiBearerAuth)(),
131
+ (0, swagger_1.ApiOkResponse)({ description: 'User found successfully', type: user_model_1.User }),
132
+ (0, swagger_1.ApiOperation)({ description: 'Get user with specified ID', summary: 'Get user by ID' }),
133
+ (0, swagger_1.ApiParam)({ description: 'User ID', name: 'id', type: String }),
134
+ (0, common_1.Get)(':id'),
135
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
136
+ (0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
137
+ __param(0, (0, current_user_decorator_1.CurrentUser)()),
138
+ __param(1, (0, common_1.Param)('id')),
139
+ __metadata("design:type", Function),
140
+ __metadata("design:paramtypes", [user_model_1.User, String]),
141
+ __metadata("design:returntype", Promise)
142
+ ], UserController.prototype, "getUser", null);
143
+ __decorate([
144
+ (0, swagger_1.ApiBearerAuth)(),
145
+ (0, swagger_1.ApiBody)({ type: user_create_input_1.UserCreateInput }),
146
+ (0, swagger_1.ApiCreatedResponse)({ description: 'User created successfully', type: user_model_1.User }),
147
+ (0, swagger_1.ApiOperation)({ description: 'Create a new user', summary: 'Create user' }),
148
+ (0, common_1.Post)(),
149
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.ADMIN),
150
+ (0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
151
+ __param(0, (0, current_user_decorator_1.CurrentUser)()),
152
+ __param(1, (0, common_1.Body)()),
153
+ __metadata("design:type", Function),
154
+ __metadata("design:paramtypes", [user_model_1.User, user_create_input_1.UserCreateInput]),
155
+ __metadata("design:returntype", Promise)
156
+ ], UserController.prototype, "createUser", null);
157
+ __decorate([
158
+ (0, swagger_1.ApiBody)({
159
+ description: 'User email',
160
+ schema: {
161
+ properties: {
162
+ email: { type: 'string' },
163
+ },
164
+ type: 'object',
165
+ },
166
+ }),
167
+ (0, swagger_1.ApiOkResponse)({ description: 'Password reset email sent successfully', type: Boolean }),
168
+ (0, swagger_1.ApiOperation)({
169
+ description: 'Request new password for user with email',
170
+ summary: 'Request password reset',
171
+ }),
172
+ (0, common_1.Post)('password/reset-request'),
173
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
174
+ __param(0, (0, common_1.Body)('email')),
175
+ __metadata("design:type", Function),
176
+ __metadata("design:paramtypes", [String]),
177
+ __metadata("design:returntype", Promise)
178
+ ], UserController.prototype, "requestPasswordResetMail", null);
179
+ __decorate([
180
+ (0, swagger_1.ApiBody)({
181
+ description: 'Password reset data',
182
+ schema: {
183
+ properties: {
184
+ password: { type: 'string' },
185
+ token: { type: 'string' },
186
+ },
187
+ type: 'object',
188
+ },
189
+ }),
190
+ (0, swagger_1.ApiOkResponse)({ description: 'Password reset successfully', type: Boolean }),
191
+ (0, swagger_1.ApiOperation)({ description: 'Set new password for user with token', summary: 'Reset password' }),
192
+ (0, common_1.Post)('password/reset'),
193
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
194
+ __param(0, (0, common_1.Body)('token')),
195
+ __param(1, (0, common_1.Body)('password')),
196
+ __metadata("design:type", Function),
197
+ __metadata("design:paramtypes", [String, String]),
198
+ __metadata("design:returntype", Promise)
199
+ ], UserController.prototype, "resetPassword", null);
200
+ __decorate([
201
+ (0, swagger_1.ApiBody)({
202
+ description: 'Verification token',
203
+ schema: {
204
+ properties: {
205
+ token: { type: 'string' },
206
+ },
207
+ type: 'object',
208
+ },
209
+ }),
210
+ (0, swagger_1.ApiOkResponse)({ description: 'User verified successfully', type: Boolean }),
211
+ (0, swagger_1.ApiOperation)({ description: 'Verify user with email', summary: 'Verify user' }),
212
+ (0, common_1.Post)('verify'),
213
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_EVERYONE),
214
+ __param(0, (0, common_1.Body)('token')),
215
+ __metadata("design:type", Function),
216
+ __metadata("design:paramtypes", [String]),
217
+ __metadata("design:returntype", Promise)
218
+ ], UserController.prototype, "verifyUser", null);
219
+ __decorate([
220
+ (0, swagger_1.ApiBearerAuth)(),
221
+ (0, swagger_1.ApiBody)({ type: user_input_1.UserInput }),
222
+ (0, swagger_1.ApiOkResponse)({ description: 'User updated successfully', type: user_model_1.User }),
223
+ (0, swagger_1.ApiOperation)({ description: 'Update existing user', summary: 'Update user' }),
224
+ (0, swagger_1.ApiParam)({ description: 'User ID', name: 'id', type: String }),
225
+ (0, common_1.Patch)(':id'),
226
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
227
+ (0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
228
+ __param(0, (0, current_user_decorator_1.CurrentUser)()),
229
+ __param(1, (0, common_1.Param)('id')),
230
+ __param(2, (0, common_1.Body)()),
231
+ __metadata("design:type", Function),
232
+ __metadata("design:paramtypes", [user_model_1.User, String, user_input_1.UserInput]),
233
+ __metadata("design:returntype", Promise)
234
+ ], UserController.prototype, "updateUser", null);
235
+ __decorate([
236
+ (0, swagger_1.ApiBearerAuth)(),
237
+ (0, swagger_1.ApiOkResponse)({ description: 'User deleted successfully', type: user_model_1.User }),
238
+ (0, swagger_1.ApiOperation)({ description: 'Delete existing user', summary: 'Delete user' }),
239
+ (0, swagger_1.ApiParam)({ description: 'User ID', name: 'id', type: String }),
240
+ (0, common_1.Delete)(':id'),
241
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
242
+ (0, common_1.UseGuards)((0, auth_guard_1.AuthGuard)(auth_guard_strategy_enum_1.AuthGuardStrategy.JWT)),
243
+ __param(0, (0, current_user_decorator_1.CurrentUser)()),
244
+ __param(1, (0, common_1.Param)('id')),
245
+ __metadata("design:type", Function),
246
+ __metadata("design:paramtypes", [user_model_1.User, String]),
247
+ __metadata("design:returntype", Promise)
248
+ ], UserController.prototype, "deleteUser", null);
249
+ exports.UserController = UserController = __decorate([
250
+ (0, common_error_decorator_1.ApiCommonErrorResponses)(),
251
+ (0, swagger_1.ApiTags)('users'),
252
+ (0, common_1.Controller)('users'),
253
+ (0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.ADMIN),
254
+ __metadata("design:paramtypes", [user_service_1.UserService])
255
+ ], UserController);
256
+ //# sourceMappingURL=user.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.controller.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAqG;AACrG,6CASyB;AAEzB,mGAAiG;AACjG,mGAAqF;AACrF,qFAAwE;AACxE,oEAAgE;AAEhE,kGAAwF;AACxF,6EAAyE;AACzE,kEAA6D;AAC7D,oDAAgD;AAChD,qGAAuF;AACvF,6CAAoC;AACpC,iDAA6C;AAStC,IAAM,cAAc,GAApB,MAAM,cAAc;IAIzB,YAA+B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAerD,AAAN,KAAK,CAAC,SAAS,CAAgB,WAAiB;QAC9C,MAAM,cAAc,GAAmB;YACrC,WAAW;SACZ,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IACzD,CAAC;IAcK,AAAN,KAAK,CAAC,iBAAiB,CAAgB,WAAiB;QACtD,MAAM,cAAc,GAAmB;YACrC,WAAW;SACZ,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IACjE,CAAC;IAaK,AAAN,KAAK,CAAC,gBAAgB,CAAiB,KAAa;QAClD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAYK,AAAN,KAAK,CAAC,OAAO,CAAgB,WAAiB,EAAe,EAAU;QACrE,MAAM,cAAc,GAAmB;YACrC,WAAW;YACX,KAAK,EAAE,CAAC,oBAAQ,CAAC,KAAK,EAAE,oBAAQ,CAAC,SAAS,EAAE,oBAAQ,CAAC,MAAM,CAAC;SAC7D,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IACxD,CAAC;IAgBK,AAAN,KAAK,CAAC,UAAU,CAAgB,WAAiB,EAAU,KAAsB;QAC/E,MAAM,cAAc,GAAmB;YACrC,WAAW;YACX,SAAS,EAAE,mCAAe;SAC3B,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAC9D,CAAC;IAqBK,AAAN,KAAK,CAAC,wBAAwB,CAAgB,KAAa;QACzD,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,CAAC;IAmBK,AAAN,KAAK,CAAC,aAAa,CAAgB,KAAa,EAAoB,QAAgB;QAClF,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnE,CAAC;IAkBK,AAAN,KAAK,CAAC,UAAU,CAAgB,KAAa;QAC3C,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAClD,CAAC;IAiBK,AAAN,KAAK,CAAC,UAAU,CAAgB,WAAiB,EAAe,EAAU,EAAU,KAAgB;QAClG,MAAM,cAAc,GAAmB;YACrC,WAAW;YACX,SAAS,EAAE,sBAAS;YACpB,KAAK,EAAE,CAAC,oBAAQ,CAAC,KAAK,EAAE,oBAAQ,CAAC,SAAS,EAAE,oBAAQ,CAAC,MAAM,CAAC;SAC7D,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IAClE,CAAC;IAgBK,AAAN,KAAK,CAAC,UAAU,CAAgB,WAAiB,EAAe,EAAU;QACxE,MAAM,cAAc,GAAmB;YACrC,WAAW;YACX,KAAK,EAAE,CAAC,oBAAQ,CAAC,KAAK,EAAE,oBAAQ,CAAC,SAAS,EAAE,oBAAQ,CAAC,MAAM,CAAC;SAC7D,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAC3D,CAAC;CACF,CAAA;AAjNY,wCAAc;AAmBnB;IANL,IAAA,uBAAa,GAAE;IACf,IAAA,uBAAa,EAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAC,iBAAI,CAAC,EAAE,CAAC;IACxE,IAAA,sBAAY,EAAC,EAAE,WAAW,EAAE,yBAAyB,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IAClF,IAAA,YAAG,GAAE;IACL,IAAA,uBAAK,EAAC,oBAAQ,CAAC,KAAK,CAAC;IACrB,IAAA,kBAAS,EAAC,IAAA,sBAAS,EAAC,4CAAiB,CAAC,GAAG,CAAC,CAAC;IAC3B,WAAA,IAAA,oCAAW,GAAE,CAAA;;qCAAc,iBAAI;;+CAK/C;AAcK;IATL,IAAA,uBAAa,GAAE;IACf,IAAA,uBAAa,EAAC,EAAE,WAAW,EAAE,oCAAoC,EAAE,IAAI,EAAE,4DAAuB,EAAE,CAAC;IACnG,IAAA,sBAAY,EAAC;QACZ,WAAW,EAAE,yCAAyC;QACtD,OAAO,EAAE,sBAAsB;KAChC,CAAC;IACD,IAAA,YAAG,EAAC,OAAO,CAAC;IACZ,IAAA,uBAAK,EAAC,oBAAQ,CAAC,KAAK,CAAC;IACrB,IAAA,kBAAS,EAAC,IAAA,sBAAS,EAAC,4CAAiB,CAAC,GAAG,CAAC,CAAC;IACnB,WAAA,IAAA,oCAAW,GAAE,CAAA;;qCAAc,iBAAI;;uDAKvD;AAaK;IARL,IAAA,uBAAa,EAAC,EAAE,WAAW,EAAE,uCAAuC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACtF,IAAA,sBAAY,EAAC;QACZ,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,2BAA2B;KACrC,CAAC;IACD,IAAA,kBAAQ,EAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC5E,IAAA,YAAG,EAAC,gBAAgB,CAAC;IACrB,IAAA,uBAAK,EAAC,oBAAQ,CAAC,UAAU,CAAC;IACH,WAAA,IAAA,cAAK,EAAC,OAAO,CAAC,CAAA;;;;sDAErC;AAYK;IAPL,IAAA,uBAAa,GAAE;IACf,IAAA,uBAAa,EAAC,EAAE,WAAW,EAAE,yBAAyB,EAAE,IAAI,EAAE,iBAAI,EAAE,CAAC;IACrE,IAAA,sBAAY,EAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IACtF,IAAA,kBAAQ,EAAC,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC9D,IAAA,YAAG,EAAC,KAAK,CAAC;IACV,IAAA,uBAAK,EAAC,oBAAQ,CAAC,MAAM,CAAC;IACtB,IAAA,kBAAS,EAAC,IAAA,sBAAS,EAAC,4CAAiB,CAAC,GAAG,CAAC,CAAC;IAC7B,WAAA,IAAA,oCAAW,GAAE,CAAA;IAAqB,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;qCAAlB,iBAAI;;6CAM7C;AAgBK;IAPL,IAAA,uBAAa,GAAE;IACf,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,mCAAe,EAAE,CAAC;IAClC,IAAA,4BAAkB,EAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,iBAAI,EAAE,CAAC;IAC5E,IAAA,sBAAY,EAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAC1E,IAAA,aAAI,GAAE;IACN,IAAA,uBAAK,EAAC,oBAAQ,CAAC,KAAK,CAAC;IACrB,IAAA,kBAAS,EAAC,IAAA,sBAAS,EAAC,4CAAiB,CAAC,GAAG,CAAC,CAAC;IAC1B,WAAA,IAAA,oCAAW,GAAE,CAAA;IAAqB,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAb,iBAAI,EAAiB,mCAAe;;gDAMhF;AAqBK;IAhBL,IAAA,iBAAO,EAAC;QACP,WAAW,EAAE,YAAY;QACzB,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1B;YACD,IAAI,EAAE,QAAQ;SACf;KACF,CAAC;IACD,IAAA,uBAAa,EAAC,EAAE,WAAW,EAAE,wCAAwC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACvF,IAAA,sBAAY,EAAC;QACZ,WAAW,EAAE,0CAA0C;QACvD,OAAO,EAAE,wBAAwB;KAClC,CAAC;IACD,IAAA,aAAI,EAAC,wBAAwB,CAAC;IAC9B,IAAA,uBAAK,EAAC,oBAAQ,CAAC,UAAU,CAAC;IACK,WAAA,IAAA,aAAI,EAAC,OAAO,CAAC,CAAA;;;;8DAE5C;AAmBK;IAdL,IAAA,iBAAO,EAAC;QACP,WAAW,EAAE,qBAAqB;QAClC,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1B;YACD,IAAI,EAAE,QAAQ;SACf;KACF,CAAC;IACD,IAAA,uBAAa,EAAC,EAAE,WAAW,EAAE,6BAA6B,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC5E,IAAA,sBAAY,EAAC,EAAE,WAAW,EAAE,sCAAsC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAChG,IAAA,aAAI,EAAC,gBAAgB,CAAC;IACtB,IAAA,uBAAK,EAAC,oBAAQ,CAAC,UAAU,CAAC;IACN,WAAA,IAAA,aAAI,EAAC,OAAO,CAAC,CAAA;IAAiB,WAAA,IAAA,aAAI,EAAC,UAAU,CAAC,CAAA;;;;mDAElE;AAkBK;IAbL,IAAA,iBAAO,EAAC;QACP,WAAW,EAAE,oBAAoB;QACjC,MAAM,EAAE;YACN,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1B;YACD,IAAI,EAAE,QAAQ;SACf;KACF,CAAC;IACD,IAAA,uBAAa,EAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3E,IAAA,sBAAY,EAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAC/E,IAAA,aAAI,EAAC,QAAQ,CAAC;IACd,IAAA,uBAAK,EAAC,oBAAQ,CAAC,UAAU,CAAC;IACT,WAAA,IAAA,aAAI,EAAC,OAAO,CAAC,CAAA;;;;gDAE9B;AAiBK;IARL,IAAA,uBAAa,GAAE;IACf,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,sBAAS,EAAE,CAAC;IAC5B,IAAA,uBAAa,EAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,iBAAI,EAAE,CAAC;IACvE,IAAA,sBAAY,EAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAC7E,IAAA,kBAAQ,EAAC,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC9D,IAAA,cAAK,EAAC,KAAK,CAAC;IACZ,IAAA,uBAAK,EAAC,oBAAQ,CAAC,MAAM,CAAC;IACtB,IAAA,kBAAS,EAAC,IAAA,sBAAS,EAAC,4CAAiB,CAAC,GAAG,CAAC,CAAC;IAC1B,WAAA,IAAA,oCAAW,GAAE,CAAA;IAAqB,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAtC,iBAAI,UAA0C,sBAAS;;gDAOnG;AAgBK;IAPL,IAAA,uBAAa,GAAE;IACf,IAAA,uBAAa,EAAC,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,iBAAI,EAAE,CAAC;IACvE,IAAA,sBAAY,EAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAC7E,IAAA,kBAAQ,EAAC,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC9D,IAAA,eAAM,EAAC,KAAK,CAAC;IACb,IAAA,uBAAK,EAAC,oBAAQ,CAAC,MAAM,CAAC;IACtB,IAAA,kBAAS,EAAC,IAAA,sBAAS,EAAC,4CAAiB,CAAC,GAAG,CAAC,CAAC;IAC1B,WAAA,IAAA,oCAAW,GAAE,CAAA;IAAqB,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;qCAAlB,iBAAI;;gDAMhD;yBAhNU,cAAc;IAJ1B,IAAA,gDAAuB,GAAE;IACzB,IAAA,iBAAO,EAAC,OAAO,CAAC;IAChB,IAAA,mBAAU,EAAC,OAAO,CAAC;IACnB,IAAA,uBAAK,EAAC,oBAAQ,CAAC,KAAK,CAAC;qCAKwB,0BAAW;GAJ5C,cAAc,CAiN1B"}
@@ -16,6 +16,7 @@ const class_validator_1 = require("class-validator");
16
16
  const mongoose_2 = require("mongoose");
17
17
  const restricted_decorator_1 = require("../../../core/common/decorators/restricted.decorator");
18
18
  const translatable_decorator_1 = require("../../../core/common/decorators/translatable.decorator");
19
+ const unified_field_decorator_1 = require("../../../core/common/decorators/unified-field.decorator");
19
20
  const role_enum_1 = require("../../../core/common/enums/role.enum");
20
21
  const core_user_model_1 = require("../../../core/modules/user/core-user.model");
21
22
  let User = class User extends core_user_model_1.CoreUserModel {
@@ -56,51 +57,63 @@ let User = class User extends core_user_model_1.CoreUserModel {
56
57
  };
57
58
  exports.User = User;
58
59
  __decorate([
59
- (0, graphql_1.Field)({ description: 'URL to avatar file of the user', nullable: true }),
60
- (0, mongoose_1.Prop)(),
61
- (0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.S_EVERYONE),
60
+ (0, unified_field_decorator_1.UnifiedField)({
61
+ description: 'URL to avatar file of the user',
62
+ isOptional: true,
63
+ mongoose: true,
64
+ roles: role_enum_1.RoleEnum.S_EVERYONE,
65
+ }),
62
66
  __metadata("design:type", String)
63
67
  ], User.prototype, "avatar", void 0);
64
68
  __decorate([
65
- (0, graphql_1.Field)(() => String, {
69
+ (0, unified_field_decorator_1.UnifiedField)({
66
70
  description: 'ID of the user who created the object',
67
- nullable: true,
71
+ isOptional: true,
72
+ mongoose: { ref: 'User', type: mongoose_2.Schema.Types.ObjectId },
73
+ roles: role_enum_1.RoleEnum.S_EVERYONE,
74
+ type: () => String,
68
75
  }),
69
- (0, mongoose_1.Prop)({ ref: 'User', type: mongoose_2.Schema.Types.ObjectId }),
70
- (0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.S_EVERYONE),
71
76
  __metadata("design:type", String)
72
77
  ], User.prototype, "createdBy", void 0);
73
78
  __decorate([
74
- (0, graphql_1.Field)({ description: 'Email of the user', nullable: true }),
75
- (0, class_validator_1.IsEmail)(),
76
- (0, mongoose_1.Prop)({ lowercase: true, trim: true, unique: true }),
77
- (0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.S_EVERYONE),
79
+ (0, unified_field_decorator_1.UnifiedField)({
80
+ description: 'Email of the user',
81
+ isOptional: true,
82
+ mongoose: { lowercase: true, trim: true, unique: true },
83
+ roles: role_enum_1.RoleEnum.S_EVERYONE,
84
+ validator: () => [(0, class_validator_1.IsEmail)()],
85
+ }),
78
86
  __metadata("design:type", String)
79
87
  ], User.prototype, "email", void 0);
80
88
  __decorate([
81
- (0, graphql_1.Field)(() => [String], { description: 'Roles of the user', nullable: true }),
82
- (0, class_validator_1.IsOptional)(),
83
- (0, mongoose_1.Prop)([String]),
84
- (0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.S_EVERYONE),
89
+ (0, unified_field_decorator_1.UnifiedField)({
90
+ description: 'Roles of the user',
91
+ isArray: true,
92
+ isOptional: true,
93
+ mongoose: [String],
94
+ roles: role_enum_1.RoleEnum.S_EVERYONE,
95
+ type: () => String,
96
+ }),
85
97
  __metadata("design:type", Array)
86
98
  ], User.prototype, "roles", void 0);
87
99
  __decorate([
88
- (0, graphql_1.Field)(() => String, {
100
+ (0, translatable_decorator_1.Translatable)(),
101
+ (0, unified_field_decorator_1.UnifiedField)({
89
102
  description: 'Job title of user',
90
- nullable: true,
103
+ isOptional: true,
104
+ mongoose: true,
105
+ roles: role_enum_1.RoleEnum.S_EVERYONE,
91
106
  }),
92
- (0, mongoose_1.Prop)(),
93
- (0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.S_EVERYONE),
94
- (0, translatable_decorator_1.Translatable)(),
95
107
  __metadata("design:type", String)
96
108
  ], User.prototype, "jobTitle", void 0);
97
109
  __decorate([
98
- (0, graphql_1.Field)(() => String, {
110
+ (0, unified_field_decorator_1.UnifiedField)({
99
111
  description: 'ID of the user who last updated the object',
100
- nullable: true,
112
+ isOptional: true,
113
+ mongoose: { ref: 'User', type: mongoose_2.Schema.Types.ObjectId },
114
+ roles: role_enum_1.RoleEnum.S_USER,
115
+ type: () => String,
101
116
  }),
102
- (0, mongoose_1.Prop)({ ref: 'User', type: mongoose_2.Schema.Types.ObjectId }),
103
- (0, restricted_decorator_1.Restricted)(role_enum_1.RoleEnum.S_USER),
104
117
  __metadata("design:type", String)
105
118
  ], User.prototype, "updatedBy", void 0);
106
119
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"user.model.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.model.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.model.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ const mongoose_1 = require("@nestjs/mongoose");
12
12
  const graphql_subscriptions_1 = require("graphql-subscriptions");
13
13
  const config_service_1 = require("../../../core/common/services/config.service");
14
14
  const avatar_controller_1 = require("./avatar.controller");
15
+ const user_controller_1 = require("./user.controller");
15
16
  const user_model_1 = require("./user.model");
16
17
  const user_resolver_1 = require("./user.resolver");
17
18
  const user_service_1 = require("./user.service");
@@ -20,7 +21,7 @@ let UserModule = class UserModule {
20
21
  exports.UserModule = UserModule;
21
22
  exports.UserModule = UserModule = __decorate([
22
23
  (0, common_1.Module)({
23
- controllers: [avatar_controller_1.AvatarController],
24
+ controllers: [avatar_controller_1.AvatarController, user_controller_1.UserController],
24
25
  exports: [mongoose_1.MongooseModule, user_resolver_1.UserResolver, user_service_1.UserService, 'USER_CLASS'],
25
26
  imports: [mongoose_1.MongooseModule.forFeature([{ name: user_model_1.User.name, schema: user_model_1.UserSchema }])],
26
27
  providers: [
@@ -1 +1 @@
1
- {"version":3,"file":"user.module.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,+CAAkD;AAClD,iEAA+C;AAE/C,iFAA6E;AAC7E,2DAAuD;AACvD,6CAAgD;AAChD,mDAA+C;AAC/C,iDAA6C;AAuBtC,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IAlBtB,IAAA,eAAM,EAAC;QACN,WAAW,EAAE,CAAC,oCAAgB,CAAC;QAC/B,OAAO,EAAE,CAAC,yBAAc,EAAE,4BAAY,EAAE,0BAAW,EAAE,YAAY,CAAC;QAClE,OAAO,EAAE,CAAC,yBAAc,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAI,CAAC,IAAI,EAAE,MAAM,EAAE,uBAAU,EAAE,CAAC,CAAC,CAAC;QAC/E,SAAS,EAAE;YACT,4BAAY;YACZ,8BAAa;YACb,0BAAW;YACX;gBACE,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE,iBAAI;aACf;YACD;gBACE,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,IAAI,8BAAM,EAAE;aACvB;SACF;KACF,CAAC;GACW,UAAU,CAAG"}
1
+ {"version":3,"file":"user.module.js","sourceRoot":"","sources":["../../../../src/server/modules/user/user.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,+CAAkD;AAClD,iEAA+C;AAE/C,iFAA6E;AAC7E,2DAAuD;AACvD,uDAAmD;AACnD,6CAAgD;AAChD,mDAA+C;AAC/C,iDAA6C;AAuBtC,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IAlBtB,IAAA,eAAM,EAAC;QACN,WAAW,EAAE,CAAC,oCAAgB,EAAE,gCAAc,CAAC;QAC/C,OAAO,EAAE,CAAC,yBAAc,EAAE,4BAAY,EAAE,0BAAW,EAAE,YAAY,CAAC;QAClE,OAAO,EAAE,CAAC,yBAAc,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAI,CAAC,IAAI,EAAE,MAAM,EAAE,uBAAU,EAAE,CAAC,CAAC,CAAC;QAC/E,SAAS,EAAE;YACT,4BAAY;YACZ,8BAAa;YACb,0BAAW;YACX;gBACE,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE,iBAAI;aACf;YACD;gBACE,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,IAAI,8BAAM,EAAE;aACvB;SACF;KACF,CAAC;GACW,UAAU,CAAG"}