@evara-group/guard 1.0.30

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 (84) hide show
  1. package/README.md +46 -0
  2. package/dist/core/enums/locale.d.ts +4 -0
  3. package/dist/core/enums/locale.js +9 -0
  4. package/dist/core/enums/locale.js.map +1 -0
  5. package/dist/core/enums/user-role.d.ts +4 -0
  6. package/dist/core/enums/user-role.js +9 -0
  7. package/dist/core/enums/user-role.js.map +1 -0
  8. package/dist/core/utils/base.dto.d.ts +9 -0
  9. package/dist/core/utils/base.dto.js +7 -0
  10. package/dist/core/utils/base.dto.js.map +1 -0
  11. package/dist/core/utils/base.entity.d.ts +9 -0
  12. package/dist/core/utils/base.entity.js +45 -0
  13. package/dist/core/utils/base.entity.js.map +1 -0
  14. package/dist/core/utils/header-util.d.ts +4 -0
  15. package/dist/core/utils/header-util.js +12 -0
  16. package/dist/core/utils/header-util.js.map +1 -0
  17. package/dist/core/utils/paginate.dto.d.ts +6 -0
  18. package/dist/core/utils/paginate.dto.js +64 -0
  19. package/dist/core/utils/paginate.dto.js.map +1 -0
  20. package/dist/core/utils/pagination.entity.d.ts +19 -0
  21. package/dist/core/utils/pagination.entity.js +63 -0
  22. package/dist/core/utils/pagination.entity.js.map +1 -0
  23. package/dist/core/utils/password-util.d.ts +3 -0
  24. package/dist/core/utils/password-util.js +44 -0
  25. package/dist/core/utils/password-util.js.map +1 -0
  26. package/dist/core/utils/request.d.ts +7 -0
  27. package/dist/core/utils/request.js +3 -0
  28. package/dist/core/utils/request.js.map +1 -0
  29. package/dist/core/utils/response-message.dto.d.ts +3 -0
  30. package/dist/core/utils/response-message.dto.js +7 -0
  31. package/dist/core/utils/response-message.dto.js.map +1 -0
  32. package/dist/index.d.ts +9 -0
  33. package/dist/index.js +26 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/security/decorators/auth-user.decorator.d.ts +1 -0
  36. package/dist/security/decorators/auth-user.decorator.js +9 -0
  37. package/dist/security/decorators/auth-user.decorator.js.map +1 -0
  38. package/dist/security/decorators/roles.decorator.d.ts +1 -0
  39. package/dist/security/decorators/roles.decorator.js +7 -0
  40. package/dist/security/decorators/roles.decorator.js.map +1 -0
  41. package/dist/security/guards/jwt-auth.guard.d.ts +4 -0
  42. package/dist/security/guards/jwt-auth.guard.js +18 -0
  43. package/dist/security/guards/jwt-auth.guard.js.map +1 -0
  44. package/dist/security/guards/roles.guard.d.ts +7 -0
  45. package/dist/security/guards/roles.guard.js +35 -0
  46. package/dist/security/guards/roles.guard.js.map +1 -0
  47. package/dist/security/security.module.d.ts +7 -0
  48. package/dist/security/security.module.js +43 -0
  49. package/dist/security/security.module.js.map +1 -0
  50. package/dist/security/security.service.d.ts +7 -0
  51. package/dist/security/security.service.js +31 -0
  52. package/dist/security/security.service.js.map +1 -0
  53. package/dist/security/strategies/jwt.strategy.d.ts +9 -0
  54. package/dist/security/strategies/jwt.strategy.js +38 -0
  55. package/dist/security/strategies/jwt.strategy.js.map +1 -0
  56. package/dist/tsconfig.tsbuildinfo +1 -0
  57. package/dist/user/dtos/create-user.dto.d.ts +5 -0
  58. package/dist/user/dtos/create-user.dto.js +7 -0
  59. package/dist/user/dtos/create-user.dto.js.map +1 -0
  60. package/dist/user/dtos/update-user.dto.d.ts +5 -0
  61. package/dist/user/dtos/update-user.dto.js +9 -0
  62. package/dist/user/dtos/update-user.dto.js.map +1 -0
  63. package/dist/user/dtos/user-query.dto.d.ts +3 -0
  64. package/dist/user/dtos/user-query.dto.js +8 -0
  65. package/dist/user/dtos/user-query.dto.js.map +1 -0
  66. package/dist/user/dtos/user.dto.d.ts +11 -0
  67. package/dist/user/dtos/user.dto.js +81 -0
  68. package/dist/user/dtos/user.dto.js.map +1 -0
  69. package/dist/user/user.controller.d.ts +16 -0
  70. package/dist/user/user.controller.js +161 -0
  71. package/dist/user/user.controller.js.map +1 -0
  72. package/dist/user/user.entity.d.ts +11 -0
  73. package/dist/user/user.entity.js +52 -0
  74. package/dist/user/user.entity.js.map +1 -0
  75. package/dist/user/user.mapper.d.ts +6 -0
  76. package/dist/user/user.mapper.js +32 -0
  77. package/dist/user/user.mapper.js.map +1 -0
  78. package/dist/user/user.module.d.ts +4 -0
  79. package/dist/user/user.module.js +31 -0
  80. package/dist/user/user.module.js.map +1 -0
  81. package/dist/user/user.service.d.ts +15 -0
  82. package/dist/user/user.service.js +79 -0
  83. package/dist/user/user.service.js.map +1 -0
  84. package/package.json +43 -0
@@ -0,0 +1,5 @@
1
+ export declare class CreateUserDto {
2
+ email: string;
3
+ password: string;
4
+ roles?: string[];
5
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateUserDto = void 0;
4
+ class CreateUserDto {
5
+ }
6
+ exports.CreateUserDto = CreateUserDto;
7
+ //# sourceMappingURL=create-user.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-user.dto.js","sourceRoot":"","sources":["../../../src/user/dtos/create-user.dto.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAa;CAIzB;AAJD,sCAIC"}
@@ -0,0 +1,5 @@
1
+ import { UserDTO } from './user.dto';
2
+ declare const UpdateUserDTO_base: import("@nestjs/common").Type<Partial<UserDTO>>;
3
+ export declare class UpdateUserDTO extends UpdateUserDTO_base {
4
+ }
5
+ export {};
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateUserDTO = void 0;
4
+ const swagger_1 = require("@nestjs/swagger");
5
+ const user_dto_1 = require("./user.dto");
6
+ class UpdateUserDTO extends (0, swagger_1.PartialType)(user_dto_1.UserDTO) {
7
+ }
8
+ exports.UpdateUserDTO = UpdateUserDTO;
9
+ //# sourceMappingURL=update-user.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-user.dto.js","sourceRoot":"","sources":["../../../src/user/dtos/update-user.dto.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAC9C,yCAAqC;AAErC,MAAa,aAAc,SAAQ,IAAA,qBAAW,EAAC,kBAAO,CAAC;CAAG;AAA1D,sCAA0D"}
@@ -0,0 +1,3 @@
1
+ import { PaginateDTO } from "../../core/utils/paginate.dto";
2
+ export declare class UserQueryDTO extends PaginateDTO {
3
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserQueryDTO = void 0;
4
+ const paginate_dto_1 = require("../../core/utils/paginate.dto");
5
+ class UserQueryDTO extends paginate_dto_1.PaginateDTO {
6
+ }
7
+ exports.UserQueryDTO = UserQueryDTO;
8
+ //# sourceMappingURL=user-query.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-query.dto.js","sourceRoot":"","sources":["../../../src/user/dtos/user-query.dto.ts"],"names":[],"mappings":";;;AAAA,gEAA4D;AAE5D,MAAa,YAAa,SAAQ,0BAAW;CAAG;AAAhD,oCAAgD"}
@@ -0,0 +1,11 @@
1
+ import { BaseDTO } from "../../core/utils/base.dto";
2
+ import { UserRole } from "../../core/enums/user-role";
3
+ export declare class UserDTO extends BaseDTO {
4
+ email?: string;
5
+ password?: string;
6
+ username?: string;
7
+ activated?: boolean;
8
+ imageUrl?: string;
9
+ role?: UserRole;
10
+ resetPasswordRequest?: boolean;
11
+ }
@@ -0,0 +1,81 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.UserDTO = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_validator_1 = require("class-validator");
15
+ const class_transformer_1 = require("class-transformer");
16
+ const base_dto_1 = require("../../core/utils/base.dto");
17
+ const user_role_1 = require("../../core/enums/user-role");
18
+ class UserDTO extends base_dto_1.BaseDTO {
19
+ }
20
+ exports.UserDTO = UserDTO;
21
+ __decorate([
22
+ (0, swagger_1.ApiProperty)({
23
+ uniqueItems: true,
24
+ required: true,
25
+ example: "email@domain.com",
26
+ description: "User Email",
27
+ }),
28
+ (0, class_validator_1.IsEmail)(),
29
+ (0, class_validator_1.IsNotEmpty)(),
30
+ __metadata("design:type", String)
31
+ ], UserDTO.prototype, "email", void 0);
32
+ __decorate([
33
+ (0, swagger_1.ApiProperty)({ example: "123456789", description: "User password" }),
34
+ (0, class_transformer_1.Exclude)(),
35
+ __metadata("design:type", String)
36
+ ], UserDTO.prototype, "password", void 0);
37
+ __decorate([
38
+ (0, swagger_1.ApiProperty)({
39
+ example: "John",
40
+ description: "Username",
41
+ required: false,
42
+ }),
43
+ (0, class_validator_1.IsString)(),
44
+ (0, class_validator_1.IsNotEmpty)(),
45
+ __metadata("design:type", String)
46
+ ], UserDTO.prototype, "username", void 0);
47
+ __decorate([
48
+ (0, swagger_1.ApiProperty)({
49
+ example: 1,
50
+ description: "User activation",
51
+ required: false,
52
+ }),
53
+ __metadata("design:type", Boolean)
54
+ ], UserDTO.prototype, "activated", void 0);
55
+ __decorate([
56
+ (0, swagger_1.ApiProperty)({
57
+ example: "http://my-image-url",
58
+ description: "Image url",
59
+ required: false,
60
+ }),
61
+ __metadata("design:type", String)
62
+ ], UserDTO.prototype, "imageUrl", void 0);
63
+ __decorate([
64
+ (0, swagger_1.ApiProperty)({
65
+ enum: user_role_1.UserRole,
66
+ description: "User Role",
67
+ required: true,
68
+ }),
69
+ (0, class_validator_1.IsEnum)(user_role_1.UserRole),
70
+ (0, class_validator_1.IsNotEmpty)(),
71
+ __metadata("design:type", String)
72
+ ], UserDTO.prototype, "role", void 0);
73
+ __decorate([
74
+ (0, swagger_1.ApiProperty)({
75
+ example: false,
76
+ description: "Whether the user has requested a password reset",
77
+ required: false,
78
+ }),
79
+ __metadata("design:type", Boolean)
80
+ ], UserDTO.prototype, "resetPasswordRequest", void 0);
81
+ //# sourceMappingURL=user.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.dto.js","sourceRoot":"","sources":["../../../src/user/dtos/user.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qDAAwE;AACxE,yDAA4C;AAC5C,wDAAoD;AACpD,0DAAsD;AAKtD,MAAa,OAAQ,SAAQ,kBAAO;CAqDnC;AArDD,0BAqDC;AA5CC;IARC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,YAAY;KAC1B,CAAC;IACD,IAAA,yBAAO,GAAE;IACT,IAAA,4BAAU,GAAE;;sCACE;AAIf;IAFC,IAAA,qBAAW,EAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IACnE,IAAA,2BAAO,GAAE;;yCACQ;AASlB;IAPC,IAAA,qBAAW,EAAC;QACX,OAAO,EAAE,MAAM;QACf,WAAW,EAAE,UAAU;QACvB,QAAQ,EAAE,KAAK;KAChB,CAAC;IACD,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;;yCACK;AAOlB;IALC,IAAA,qBAAW,EAAC;QACX,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,iBAAiB;QAC9B,QAAQ,EAAE,KAAK;KAChB,CAAC;;0CACkB;AAOpB;IALC,IAAA,qBAAW,EAAC;QACX,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,KAAK;KAChB,CAAC;;yCACgB;AASlB;IAPC,IAAA,qBAAW,EAAC;QACX,IAAI,EAAE,oBAAQ;QACd,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,IAAI;KACf,CAAC;IACD,IAAA,wBAAM,EAAC,oBAAQ,CAAC;IAChB,IAAA,4BAAU,GAAE;;qCACG;AAOhB;IALC,IAAA,qBAAW,EAAC;QACX,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,iDAAiD;QAC9D,QAAQ,EAAE,KAAK;KAChB,CAAC;;qDAC6B"}
@@ -0,0 +1,16 @@
1
+ import { Logger } from "@nestjs/common";
2
+ import { UserService } from "./user.service";
3
+ import { UserDTO } from "./dtos/user.dto";
4
+ import { User } from "./user.entity";
5
+ import { UserQueryDTO } from "./dtos/user-query.dto";
6
+ import { UpdateUserDTO } from "./dtos/update-user.dto";
7
+ import type { Request } from "../core/utils/request";
8
+ export declare class UserController {
9
+ private readonly userService;
10
+ logger: Logger;
11
+ constructor(userService: UserService);
12
+ getAllUsers(req: Request, query: UserQueryDTO): Promise<UpdateUserDTO[]>;
13
+ create(userDTO: UserDTO, user: User): Promise<UserDTO>;
14
+ update(id: number, userDTO: UpdateUserDTO, user: User): Promise<UpdateUserDTO>;
15
+ delete(id: number): Promise<void>;
16
+ }
@@ -0,0 +1,161 @@
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 user_service_1 = require("./user.service");
18
+ const swagger_1 = require("@nestjs/swagger");
19
+ const user_dto_1 = require("./dtos/user.dto");
20
+ const user_entity_1 = require("./user.entity");
21
+ const typeorm_1 = require("typeorm");
22
+ const roles_guard_1 = require("../security/guards/roles.guard");
23
+ const passport_1 = require("@nestjs/passport");
24
+ const user_role_1 = require("../core/enums/user-role");
25
+ const roles_decorator_1 = require("../security/decorators/roles.decorator");
26
+ const user_query_dto_1 = require("./dtos/user-query.dto");
27
+ const update_user_dto_1 = require("./dtos/update-user.dto");
28
+ const pagination_entity_1 = require("../core/utils/pagination.entity");
29
+ const user_mapper_1 = require("./user.mapper");
30
+ const header_util_1 = require("../core/utils/header-util");
31
+ const auth_user_decorator_1 = require("../security/decorators/auth-user.decorator");
32
+ let UserController = class UserController {
33
+ constructor(userService) {
34
+ this.userService = userService;
35
+ this.logger = new common_1.Logger("UsersController");
36
+ }
37
+ async getAllUsers(req, query) {
38
+ const pageRequest = new pagination_entity_1.PageRequest(+(query.page ?? 1), +(query.pageSize ?? 10), query.sortField ? `${query.sortField},${query.sortOrder || "ASC"}` : "");
39
+ const [results, count] = await this.userService.findAndCount({
40
+ skip: +pageRequest.page * pageRequest.size,
41
+ take: +pageRequest.size,
42
+ order: pageRequest.sort.asOrder(),
43
+ });
44
+ const userDtos = (0, user_mapper_1.mapUserToUserDtoSelective)(results);
45
+ header_util_1.HeaderUtil.addPaginationHeaders(req.res, count, pageRequest.page, count > pageRequest.page * pageRequest.size);
46
+ return userDtos;
47
+ }
48
+ async create(userDTO, user) {
49
+ if (!userDTO.email) {
50
+ throw new common_1.BadRequestException("Email is required");
51
+ }
52
+ const existing = await this.userService.findByFields({
53
+ where: { email: (0, typeorm_1.Equal)(userDTO.email) },
54
+ });
55
+ if (existing) {
56
+ throw new common_1.BadRequestException(`User with email ${userDTO.email} already exists`);
57
+ }
58
+ const created = await this.userService.save(userDTO, user?.email, true);
59
+ return created;
60
+ }
61
+ async update(id, userDTO, user) {
62
+ const existing = await this.userService.findById(id);
63
+ if (!existing) {
64
+ throw new common_1.NotFoundException(`User with id ${id} not found`);
65
+ }
66
+ let existingEmail;
67
+ if (userDTO.email) {
68
+ existingEmail = await this.userService.findByFields({
69
+ where: { email: (0, typeorm_1.Equal)(userDTO.email) },
70
+ });
71
+ }
72
+ if (existingEmail && existingEmail.id !== Number(id)) {
73
+ throw new common_1.BadRequestException(`User with email ${userDTO.email} already exists`);
74
+ }
75
+ userDTO.id = id;
76
+ const updated = await this.userService.update(userDTO, user?.email);
77
+ return updated;
78
+ }
79
+ async delete(id) {
80
+ const existing = await this.userService.findById(id);
81
+ if (!existing) {
82
+ throw new common_1.NotFoundException(`User with id ${id} not found`);
83
+ }
84
+ await this.userService.delete(existing);
85
+ }
86
+ };
87
+ exports.UserController = UserController;
88
+ __decorate([
89
+ (0, common_1.Get)("/"),
90
+ (0, roles_decorator_1.Roles)(user_role_1.UserRole.ADMIN, user_role_1.UserRole.USER),
91
+ (0, swagger_1.ApiOperation)({ summary: "Get the list of users paginated" }),
92
+ (0, swagger_1.ApiResponse)({
93
+ status: 200,
94
+ description: "List all users",
95
+ type: user_dto_1.UserDTO,
96
+ isArray: true,
97
+ }),
98
+ __param(0, (0, common_1.Req)()),
99
+ __param(1, (0, common_1.Query)()),
100
+ __metadata("design:type", Function),
101
+ __metadata("design:paramtypes", [Object, user_query_dto_1.UserQueryDTO]),
102
+ __metadata("design:returntype", Promise)
103
+ ], UserController.prototype, "getAllUsers", null);
104
+ __decorate([
105
+ (0, common_1.Post)("/"),
106
+ (0, roles_decorator_1.Roles)(user_role_1.UserRole.ADMIN),
107
+ (0, swagger_1.ApiOperation)({ summary: "Create a new user" }),
108
+ (0, swagger_1.ApiResponse)({
109
+ status: 201,
110
+ description: "The record has been successfully created.",
111
+ type: user_dto_1.UserDTO,
112
+ }),
113
+ (0, swagger_1.ApiResponse)({ status: 403, description: "Forbidden." }),
114
+ __param(0, (0, common_1.Body)()),
115
+ __param(1, (0, auth_user_decorator_1.AuthUser)()),
116
+ __metadata("design:type", Function),
117
+ __metadata("design:paramtypes", [user_dto_1.UserDTO,
118
+ user_entity_1.User]),
119
+ __metadata("design:returntype", Promise)
120
+ ], UserController.prototype, "create", null);
121
+ __decorate([
122
+ (0, common_1.Put)("/:id"),
123
+ (0, roles_decorator_1.Roles)(user_role_1.UserRole.ADMIN),
124
+ (0, swagger_1.ApiOperation)({ summary: "Update an existing user" }),
125
+ (0, swagger_1.ApiResponse)({
126
+ status: 200,
127
+ description: "The record has been successfully updated.",
128
+ type: user_dto_1.UserDTO,
129
+ }),
130
+ (0, swagger_1.ApiResponse)({ status: 403, description: "Forbidden." }),
131
+ __param(0, (0, common_1.Param)("id")),
132
+ __param(1, (0, common_1.Body)()),
133
+ __param(2, (0, auth_user_decorator_1.AuthUser)()),
134
+ __metadata("design:type", Function),
135
+ __metadata("design:paramtypes", [Number, update_user_dto_1.UpdateUserDTO,
136
+ user_entity_1.User]),
137
+ __metadata("design:returntype", Promise)
138
+ ], UserController.prototype, "update", null);
139
+ __decorate([
140
+ (0, common_1.Delete)("/:id"),
141
+ (0, roles_decorator_1.Roles)(user_role_1.UserRole.ADMIN),
142
+ (0, swagger_1.ApiOperation)({ summary: "Delete a user" }),
143
+ (0, swagger_1.ApiResponse)({
144
+ status: 200,
145
+ description: "The record has been successfully deleted.",
146
+ }),
147
+ (0, swagger_1.ApiResponse)({ status: 403, description: "Forbidden." }),
148
+ __param(0, (0, common_1.Param)("id")),
149
+ __metadata("design:type", Function),
150
+ __metadata("design:paramtypes", [Number]),
151
+ __metadata("design:returntype", Promise)
152
+ ], UserController.prototype, "delete", null);
153
+ exports.UserController = UserController = __decorate([
154
+ (0, common_1.Controller)("api/users"),
155
+ (0, swagger_1.ApiBearerAuth)(),
156
+ (0, common_1.UseGuards)(passport_1.AuthGuard, roles_guard_1.RolesGuard),
157
+ (0, roles_decorator_1.Roles)(user_role_1.UserRole.ADMIN),
158
+ (0, swagger_1.ApiTags)("users-module"),
159
+ __metadata("design:paramtypes", [user_service_1.UserService])
160
+ ], UserController);
161
+ //# sourceMappingURL=user.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.controller.js","sourceRoot":"","sources":["../../src/user/user.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { BaseEntity } from "../core/utils/base.entity";
2
+ import { UserRole } from "../core/enums/user-role";
3
+ export declare class User extends BaseEntity {
4
+ email?: string;
5
+ password?: string;
6
+ username?: string;
7
+ activated?: boolean;
8
+ imageUrl?: string;
9
+ role?: UserRole;
10
+ resetPasswordRequest?: boolean;
11
+ }
@@ -0,0 +1,52 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.User = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const base_entity_1 = require("../core/utils/base.entity");
16
+ const user_role_1 = require("../core/enums/user-role");
17
+ let User = class User extends base_entity_1.BaseEntity {
18
+ };
19
+ exports.User = User;
20
+ __decorate([
21
+ (0, typeorm_1.Column)({ unique: true, type: "varchar", nullable: false }),
22
+ __metadata("design:type", String)
23
+ ], User.prototype, "email", void 0);
24
+ __decorate([
25
+ (0, class_transformer_1.Exclude)(),
26
+ (0, typeorm_1.Column)({ type: "varchar", nullable: false }),
27
+ __metadata("design:type", String)
28
+ ], User.prototype, "password", void 0);
29
+ __decorate([
30
+ (0, typeorm_1.Column)({ type: "varchar", nullable: true }),
31
+ __metadata("design:type", String)
32
+ ], User.prototype, "username", void 0);
33
+ __decorate([
34
+ (0, typeorm_1.Column)({ type: "boolean", nullable: false, default: false }),
35
+ __metadata("design:type", Boolean)
36
+ ], User.prototype, "activated", void 0);
37
+ __decorate([
38
+ (0, typeorm_1.Column)({ name: "image_url", type: "varchar", nullable: true }),
39
+ __metadata("design:type", String)
40
+ ], User.prototype, "imageUrl", void 0);
41
+ __decorate([
42
+ (0, typeorm_1.Column)({ type: "enum", enum: user_role_1.UserRole }),
43
+ __metadata("design:type", String)
44
+ ], User.prototype, "role", void 0);
45
+ __decorate([
46
+ (0, typeorm_1.Column)({ name: "reset_password_request", type: "boolean", default: false }),
47
+ __metadata("design:type", Boolean)
48
+ ], User.prototype, "resetPasswordRequest", void 0);
49
+ exports.User = User = __decorate([
50
+ (0, typeorm_1.Entity)("users")
51
+ ], User);
52
+ //# sourceMappingURL=user.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../src/user/user.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAyC;AACzC,yDAA4C;AAC5C,2DAAuD;AACvD,uDAAmD;AAG5C,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,wBAAU;CAsBnC,CAAA;AAtBY,oBAAI;AAEf;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;mCAC5C;AAIf;IAFC,IAAA,2BAAO,GAAE;IACT,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;sCAC3B;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sCAC1B;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;uCACzC;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sCAC7C;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAQ,EAAE,CAAC;;kCACzB;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;kDAC7C;eArBpB,IAAI;IADhB,IAAA,gBAAM,EAAC,OAAO,CAAC;GACH,IAAI,CAsBhB"}
@@ -0,0 +1,6 @@
1
+ import { User } from "./user.entity";
2
+ import { UserDTO } from "./dtos/user.dto";
3
+ import { BaseDTO } from "../core/utils/base.dto";
4
+ import { UpdateUserDTO } from "./dtos/update-user.dto";
5
+ export declare function mapUserToUserDtoSelective(user: User, keys?: (keyof UserDTO | keyof BaseDTO)[]): UpdateUserDTO;
6
+ export declare function mapUserToUserDtoSelective(users: User[], keys?: (keyof UserDTO | keyof BaseDTO)[]): UpdateUserDTO[];
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapUserToUserDtoSelective = mapUserToUserDtoSelective;
4
+ const allowedUserDtoKeys = [
5
+ "id",
6
+ "createdAt",
7
+ "email",
8
+ "username",
9
+ "activated",
10
+ "imageUrl",
11
+ "role",
12
+ "resetPasswordRequest",
13
+ ];
14
+ function mapUserToUserDtoSelective(userOrUsers, keys) {
15
+ const mapSingle = (user) => {
16
+ const resultDto = {};
17
+ const keysToMap = (keys || allowedUserDtoKeys).filter((key) => allowedUserDtoKeys.includes(key));
18
+ keysToMap.forEach((key) => {
19
+ if (key in user && user[key] !== undefined) {
20
+ resultDto[key] = user[key];
21
+ }
22
+ });
23
+ return resultDto;
24
+ };
25
+ if (Array.isArray(userOrUsers)) {
26
+ return userOrUsers.map(mapSingle);
27
+ }
28
+ else {
29
+ return mapSingle(userOrUsers);
30
+ }
31
+ }
32
+ //# sourceMappingURL=user.mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.mapper.js","sourceRoot":"","sources":["../../src/user/user.mapper.ts"],"names":[],"mappings":";;AAoCA,8DAgCC;AA7DD,MAAM,kBAAkB,GAAiD;IACvE,IAAI;IACJ,WAAW;IACX,OAAO;IACP,UAAU;IACV,WAAW;IACX,UAAU;IACV,MAAM;IACN,sBAAsB;CACvB,CAAC;AAoBF,SAAgB,yBAAyB,CACvC,WAA0B,EAC1B,IAAwC;IAExC,MAAM,SAAS,GAAG,CAAC,IAAU,EAAiB,EAAE;QAC9C,MAAM,SAAS,GAAkB,EAAE,CAAC;QAGpC,MAAM,SAAS,GAAG,CAAC,IAAI,IAAI,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAC3D,kBAA2D,CAAC,QAAQ,CAAC,GAAG,CAAC,CAC3E,CAAC;QAEF,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAGxB,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,CAAC,GAAiB,CAAC,KAAK,SAAS,EAAE,CAAC;gBAKxD,SAAiB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAiB,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAC,WAAW,CAAC,CAAC;IAChC,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { DynamicModule } from "@nestjs/common";
2
+ export declare class UserModule {
3
+ static forRoot(): DynamicModule;
4
+ }
@@ -0,0 +1,31 @@
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 UserModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.UserModule = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const typeorm_1 = require("@nestjs/typeorm");
13
+ const user_service_1 = require("./user.service");
14
+ const user_controller_1 = require("./user.controller");
15
+ const user_entity_1 = require("./user.entity");
16
+ let UserModule = UserModule_1 = class UserModule {
17
+ static forRoot() {
18
+ return {
19
+ module: UserModule_1,
20
+ imports: [typeorm_1.TypeOrmModule.forFeature([user_entity_1.User])],
21
+ controllers: [user_controller_1.UserController],
22
+ providers: [user_service_1.UserService],
23
+ exports: [user_service_1.UserService],
24
+ };
25
+ }
26
+ };
27
+ exports.UserModule = UserModule;
28
+ exports.UserModule = UserModule = UserModule_1 = __decorate([
29
+ (0, common_1.Module)({})
30
+ ], UserModule);
31
+ //# sourceMappingURL=user.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.module.js","sourceRoot":"","sources":["../../src/user/user.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AACvD,6CAAgD;AAChD,iDAA6C;AAC7C,uDAAmD;AACnD,+CAAqC;AAG9B,IAAM,UAAU,kBAAhB,MAAM,UAAU;IACrB,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,MAAM,EAAE,YAAU;YAClB,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,kBAAI,CAAC,CAAC,CAAC;YAC3C,WAAW,EAAE,CAAC,gCAAc,CAAC;YAC7B,SAAS,EAAE,CAAC,0BAAW,CAAC;YACxB,OAAO,EAAE,CAAC,0BAAW,CAAC;SACvB,CAAC;IACJ,CAAC;CACF,CAAA;AAVY,gCAAU;qBAAV,UAAU;IADtB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,UAAU,CAUtB"}
@@ -0,0 +1,15 @@
1
+ import { User } from "./user.entity";
2
+ import { FindManyOptions, FindOneOptions, Repository } from "typeorm";
3
+ import { UpdateUserDTO } from "./dtos/update-user.dto";
4
+ import { UserDTO } from "./dtos/user.dto";
5
+ export declare class UserService {
6
+ private userRepository;
7
+ constructor(userRepository: Repository<User>);
8
+ findById(id: number): Promise<UserDTO | undefined>;
9
+ findByFields(options: FindOneOptions<UpdateUserDTO>): Promise<UserDTO | undefined>;
10
+ find(options: FindManyOptions<UpdateUserDTO>): Promise<UserDTO | undefined>;
11
+ findAndCount(options: FindManyOptions<UserDTO>): Promise<[UserDTO[], number]>;
12
+ save(userDTO: UpdateUserDTO, creator?: string, updatePassword?: boolean): Promise<UserDTO>;
13
+ update(userDTO: UpdateUserDTO, updater?: string): Promise<UpdateUserDTO>;
14
+ delete(userDTO: UserDTO): Promise<UserDTO | undefined>;
15
+ }
@@ -0,0 +1,79 @@
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.UserService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const typeorm_1 = require("@nestjs/typeorm");
18
+ const user_entity_1 = require("./user.entity");
19
+ const typeorm_2 = require("typeorm");
20
+ const password_util_1 = require("../core/utils/password-util");
21
+ let UserService = class UserService {
22
+ constructor(userRepository) {
23
+ this.userRepository = userRepository;
24
+ }
25
+ async findById(id) {
26
+ const result = await this.userRepository.findOne({
27
+ where: { id: (0, typeorm_2.Equal)(id) },
28
+ });
29
+ return result || undefined;
30
+ }
31
+ async findByFields(options) {
32
+ const result = await this.userRepository.findOne(options);
33
+ return result || undefined;
34
+ }
35
+ async find(options) {
36
+ const result = await this.userRepository.findOne(options);
37
+ return result || undefined;
38
+ }
39
+ async findAndCount(options) {
40
+ const resultList = await this.userRepository.findAndCount(options);
41
+ return resultList;
42
+ }
43
+ async save(userDTO, creator, updatePassword = false) {
44
+ if (updatePassword) {
45
+ await (0, password_util_1.transformPassword)(userDTO);
46
+ }
47
+ if (creator) {
48
+ if (!userDTO.createdBy) {
49
+ userDTO.createdBy = creator;
50
+ }
51
+ userDTO.updatedBy = creator;
52
+ }
53
+ const result = await this.userRepository.save(userDTO);
54
+ return result;
55
+ }
56
+ async update(userDTO, updater) {
57
+ if (updater) {
58
+ userDTO.updatedBy = updater;
59
+ }
60
+ if (userDTO.password) {
61
+ await (0, password_util_1.transformPassword)(userDTO);
62
+ }
63
+ await this.userRepository.update({
64
+ id: userDTO.id,
65
+ }, userDTO);
66
+ return userDTO;
67
+ }
68
+ async delete(userDTO) {
69
+ const result = await this.userRepository.remove(userDTO);
70
+ return result;
71
+ }
72
+ };
73
+ exports.UserService = UserService;
74
+ exports.UserService = UserService = __decorate([
75
+ (0, common_1.Injectable)(),
76
+ __param(0, (0, typeorm_1.InjectRepository)(user_entity_1.User)),
77
+ __metadata("design:paramtypes", [typeorm_2.Repository])
78
+ ], UserService);
79
+ //# sourceMappingURL=user.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/user/user.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAmD;AACnD,+CAAqC;AACrC,qCAA6E;AAG7E,+DAAgE;AAGzD,IAAM,WAAW,GAAjB,MAAM,WAAW;IACtB,YAEU,cAAgC;QAAhC,mBAAc,GAAd,cAAc,CAAkB;IACvC,CAAC;IAEJ,KAAK,CAAC,QAAQ,CAAC,EAAU;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YAC/C,KAAK,EAAE,EAAE,EAAE,EAAE,IAAA,eAAK,EAAC,EAAE,CAAC,EAAE;SACzB,CAAC,CAAC;QACH,OAAO,MAAM,IAAI,SAAS,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,OAAsC;QAEtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1D,OAAO,MAAM,IAAI,SAAS,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,IAAI,CACR,OAAuC;QAEvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1D,OAAO,MAAM,IAAI,SAAS,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,OAAiC;QAEjC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACnE,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,IAAI,CACR,OAAsB,EACtB,OAAgB,EAChB,cAAc,GAAG,KAAK;QAEtB,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,IAAA,iCAAiB,EAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBACvB,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC;YAC9B,CAAC;YACD,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC;QAC9B,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CACV,OAAsB,EACtB,OAAgB;QAEhB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC;QAC9B,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,IAAA,iCAAiB,EAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAC9B;YACE,EAAE,EAAE,OAAO,CAAC,EAAE;SACf,EACD,OAAO,CACR,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAgB;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAe,CAAC,CAAC;QACjE,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AA3EY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,0BAAgB,EAAC,kBAAI,CAAC,CAAA;qCACC,oBAAU;GAHzB,WAAW,CA2EvB"}