@venturialstd/user 0.0.1
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/README.md +1357 -0
- package/dist/constants/user.constant.d.ts +8 -0
- package/dist/constants/user.constant.d.ts.map +1 -0
- package/dist/constants/user.constant.js +12 -0
- package/dist/constants/user.constant.js.map +1 -0
- package/dist/constants/user.settings.constant.d.ts +8 -0
- package/dist/constants/user.settings.constant.d.ts.map +1 -0
- package/dist/constants/user.settings.constant.js +5 -0
- package/dist/constants/user.settings.constant.js.map +1 -0
- package/dist/decorators/acl.decorator.d.ts +5 -0
- package/dist/decorators/acl.decorator.d.ts.map +1 -0
- package/dist/decorators/acl.decorator.js +11 -0
- package/dist/decorators/acl.decorator.js.map +1 -0
- package/dist/decorators/roles.decorator.d.ts +3 -0
- package/dist/decorators/roles.decorator.d.ts.map +1 -0
- package/dist/decorators/roles.decorator.js +7 -0
- package/dist/decorators/roles.decorator.js.map +1 -0
- package/dist/decorators/user.decorator.d.ts +3 -0
- package/dist/decorators/user.decorator.d.ts.map +1 -0
- package/dist/decorators/user.decorator.js +13 -0
- package/dist/decorators/user.decorator.js.map +1 -0
- package/dist/entities/permission.entity.d.ts +12 -0
- package/dist/entities/permission.entity.d.ts.map +1 -0
- package/dist/entities/permission.entity.js +80 -0
- package/dist/entities/permission.entity.js.map +1 -0
- package/dist/entities/role-permission.entity.d.ts +13 -0
- package/dist/entities/role-permission.entity.d.ts.map +1 -0
- package/dist/entities/role-permission.entity.js +79 -0
- package/dist/entities/role-permission.entity.js.map +1 -0
- package/dist/entities/role.entity.d.ts +15 -0
- package/dist/entities/role.entity.d.ts.map +1 -0
- package/dist/entities/role.entity.js +91 -0
- package/dist/entities/role.entity.js.map +1 -0
- package/dist/entities/user-role.entity.d.ts +14 -0
- package/dist/entities/user-role.entity.d.ts.map +1 -0
- package/dist/entities/user-role.entity.js +82 -0
- package/dist/entities/user-role.entity.js.map +1 -0
- package/dist/entities/user.entity.d.ts +18 -0
- package/dist/entities/user.entity.d.ts.map +1 -0
- package/dist/entities/user.entity.js +129 -0
- package/dist/entities/user.entity.js.map +1 -0
- package/dist/guards/acl.guard.d.ts +16 -0
- package/dist/guards/acl.guard.d.ts.map +1 -0
- package/dist/guards/acl.guard.js +85 -0
- package/dist/guards/acl.guard.js.map +1 -0
- package/dist/guards/user.guard.d.ts +8 -0
- package/dist/guards/user.guard.d.ts.map +1 -0
- package/dist/guards/user.guard.js +39 -0
- package/dist/guards/user.guard.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/dist/services/acl.service.d.ts +39 -0
- package/dist/services/acl.service.d.ts.map +1 -0
- package/dist/services/acl.service.js +307 -0
- package/dist/services/acl.service.js.map +1 -0
- package/dist/services/user.service.d.ts +28 -0
- package/dist/services/user.service.d.ts.map +1 -0
- package/dist/services/user.service.js +173 -0
- package/dist/services/user.service.js.map +1 -0
- package/dist/settings/user.settings.d.ts +8 -0
- package/dist/settings/user.settings.d.ts.map +1 -0
- package/dist/settings/user.settings.js +3 -0
- package/dist/settings/user.settings.js.map +1 -0
- package/dist/user.module.d.ts +12 -0
- package/dist/user.module.d.ts.map +1 -0
- package/dist/user.module.js +48 -0
- package/dist/user.module.js.map +1 -0
- package/package.json +42 -0
|
@@ -0,0 +1,307 @@
|
|
|
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
|
+
var AclService_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.AclService = void 0;
|
|
17
|
+
const common_1 = require("@nestjs/common");
|
|
18
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
19
|
+
const core_1 = require("@venturialstd/core");
|
|
20
|
+
const typeorm_2 = require("typeorm");
|
|
21
|
+
const permission_entity_1 = require("../entities/permission.entity");
|
|
22
|
+
const role_entity_1 = require("../entities/role.entity");
|
|
23
|
+
const role_permission_entity_1 = require("../entities/role-permission.entity");
|
|
24
|
+
const user_role_entity_1 = require("../entities/user-role.entity");
|
|
25
|
+
let AclService = AclService_1 = class AclService {
|
|
26
|
+
roleRepo;
|
|
27
|
+
permissionRepo;
|
|
28
|
+
rolePermissionRepo;
|
|
29
|
+
userRoleRepo;
|
|
30
|
+
logger;
|
|
31
|
+
constructor(roleRepo, permissionRepo, rolePermissionRepo, userRoleRepo, logger) {
|
|
32
|
+
this.roleRepo = roleRepo;
|
|
33
|
+
this.permissionRepo = permissionRepo;
|
|
34
|
+
this.rolePermissionRepo = rolePermissionRepo;
|
|
35
|
+
this.userRoleRepo = userRoleRepo;
|
|
36
|
+
this.logger = logger;
|
|
37
|
+
this.logger.setContext(AclService_1.name);
|
|
38
|
+
}
|
|
39
|
+
async createRole(name, description, priority = 0, isSystem = false) {
|
|
40
|
+
const existing = await this.roleRepo.findOne({ where: { name } });
|
|
41
|
+
if (existing) {
|
|
42
|
+
throw new common_1.BadRequestException(`Role "${name}" already exists`);
|
|
43
|
+
}
|
|
44
|
+
const role = this.roleRepo.create({
|
|
45
|
+
name,
|
|
46
|
+
description,
|
|
47
|
+
priority,
|
|
48
|
+
isSystem,
|
|
49
|
+
isActive: true,
|
|
50
|
+
});
|
|
51
|
+
const saved = await this.roleRepo.save(role);
|
|
52
|
+
this.logger.log(`Role created: ${name}`);
|
|
53
|
+
return saved;
|
|
54
|
+
}
|
|
55
|
+
async getRole(roleId) {
|
|
56
|
+
const role = await this.roleRepo.findOne({
|
|
57
|
+
where: { id: roleId },
|
|
58
|
+
relations: ['permissions', 'permissions.permission'],
|
|
59
|
+
});
|
|
60
|
+
if (!role) {
|
|
61
|
+
throw new common_1.NotFoundException(`Role with ID "${roleId}" not found`);
|
|
62
|
+
}
|
|
63
|
+
return role;
|
|
64
|
+
}
|
|
65
|
+
async getRoleByName(name) {
|
|
66
|
+
const role = await this.roleRepo.findOne({
|
|
67
|
+
where: { name },
|
|
68
|
+
relations: ['permissions', 'permissions.permission'],
|
|
69
|
+
});
|
|
70
|
+
if (!role) {
|
|
71
|
+
throw new common_1.NotFoundException(`Role "${name}" not found`);
|
|
72
|
+
}
|
|
73
|
+
return role;
|
|
74
|
+
}
|
|
75
|
+
async getRoles(activeOnly = false) {
|
|
76
|
+
const where = activeOnly ? { isActive: true } : {};
|
|
77
|
+
return this.roleRepo.find({
|
|
78
|
+
where,
|
|
79
|
+
order: { priority: 'DESC', name: 'ASC' },
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
async updateRole(roleId, updates) {
|
|
83
|
+
const role = await this.roleRepo.findOne({ where: { id: roleId } });
|
|
84
|
+
if (!role) {
|
|
85
|
+
throw new common_1.NotFoundException(`Role with ID "${roleId}" not found`);
|
|
86
|
+
}
|
|
87
|
+
if (role.isSystem && updates.name && updates.name !== role.name) {
|
|
88
|
+
throw new common_1.BadRequestException('Cannot rename system roles');
|
|
89
|
+
}
|
|
90
|
+
Object.assign(role, updates);
|
|
91
|
+
return this.roleRepo.save(role);
|
|
92
|
+
}
|
|
93
|
+
async deleteRole(roleId, force = false) {
|
|
94
|
+
const role = await this.roleRepo.findOne({ where: { id: roleId } });
|
|
95
|
+
if (!role) {
|
|
96
|
+
throw new common_1.NotFoundException(`Role with ID "${roleId}" not found`);
|
|
97
|
+
}
|
|
98
|
+
if (role.isSystem && !force) {
|
|
99
|
+
throw new common_1.BadRequestException('Cannot delete system roles');
|
|
100
|
+
}
|
|
101
|
+
if (force) {
|
|
102
|
+
await this.roleRepo.remove(role);
|
|
103
|
+
this.logger.log(`Role hard deleted: ${role.name}`);
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
role.isActive = false;
|
|
107
|
+
await this.roleRepo.save(role);
|
|
108
|
+
this.logger.log(`Role soft deleted: ${role.name}`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
async createPermission(resource, action, description) {
|
|
112
|
+
const slug = `${resource}.${action}`;
|
|
113
|
+
const existing = await this.permissionRepo.findOne({ where: { slug } });
|
|
114
|
+
if (existing) {
|
|
115
|
+
throw new common_1.BadRequestException(`Permission "${slug}" already exists`);
|
|
116
|
+
}
|
|
117
|
+
const permission = this.permissionRepo.create({
|
|
118
|
+
resource,
|
|
119
|
+
action,
|
|
120
|
+
slug,
|
|
121
|
+
description,
|
|
122
|
+
});
|
|
123
|
+
const saved = await this.permissionRepo.save(permission);
|
|
124
|
+
this.logger.log(`Permission created: ${slug}`);
|
|
125
|
+
return saved;
|
|
126
|
+
}
|
|
127
|
+
async getPermission(permissionId) {
|
|
128
|
+
const permission = await this.permissionRepo.findOne({
|
|
129
|
+
where: { id: permissionId },
|
|
130
|
+
});
|
|
131
|
+
if (!permission) {
|
|
132
|
+
throw new common_1.NotFoundException(`Permission with ID "${permissionId}" not found`);
|
|
133
|
+
}
|
|
134
|
+
return permission;
|
|
135
|
+
}
|
|
136
|
+
async getPermissionBySlug(slug) {
|
|
137
|
+
const permission = await this.permissionRepo.findOne({ where: { slug } });
|
|
138
|
+
if (!permission) {
|
|
139
|
+
throw new common_1.NotFoundException(`Permission "${slug}" not found`);
|
|
140
|
+
}
|
|
141
|
+
return permission;
|
|
142
|
+
}
|
|
143
|
+
async getPermissions() {
|
|
144
|
+
return this.permissionRepo.find({
|
|
145
|
+
order: { resource: 'ASC', action: 'ASC' },
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
async getPermissionsByResource(resource) {
|
|
149
|
+
return this.permissionRepo.find({
|
|
150
|
+
where: { resource },
|
|
151
|
+
order: { action: 'ASC' },
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
async deletePermission(permissionId) {
|
|
155
|
+
const permission = await this.permissionRepo.findOne({ where: { id: permissionId } });
|
|
156
|
+
if (!permission) {
|
|
157
|
+
throw new common_1.NotFoundException(`Permission with ID "${permissionId}" not found`);
|
|
158
|
+
}
|
|
159
|
+
await this.permissionRepo.remove(permission);
|
|
160
|
+
this.logger.log(`Permission deleted: ${permission.slug}`);
|
|
161
|
+
}
|
|
162
|
+
async assignPermissionToRole(roleId, permissionId, conditions) {
|
|
163
|
+
await this.getRole(roleId);
|
|
164
|
+
await this.getPermission(permissionId);
|
|
165
|
+
const existing = await this.rolePermissionRepo.findOne({
|
|
166
|
+
where: { roleId, permissionId },
|
|
167
|
+
});
|
|
168
|
+
if (existing) {
|
|
169
|
+
if (conditions) {
|
|
170
|
+
existing.conditions = conditions;
|
|
171
|
+
return this.rolePermissionRepo.save(existing);
|
|
172
|
+
}
|
|
173
|
+
return existing;
|
|
174
|
+
}
|
|
175
|
+
const rolePermission = this.rolePermissionRepo.create({
|
|
176
|
+
roleId,
|
|
177
|
+
permissionId,
|
|
178
|
+
conditions,
|
|
179
|
+
});
|
|
180
|
+
const saved = await this.rolePermissionRepo.save(rolePermission);
|
|
181
|
+
this.logger.log(`Permission assigned to role: ${roleId} -> ${permissionId}`);
|
|
182
|
+
return saved;
|
|
183
|
+
}
|
|
184
|
+
async removePermissionFromRole(roleId, permissionId) {
|
|
185
|
+
const rolePermission = await this.rolePermissionRepo.findOne({
|
|
186
|
+
where: { roleId, permissionId },
|
|
187
|
+
});
|
|
188
|
+
if (!rolePermission) {
|
|
189
|
+
throw new common_1.NotFoundException('Role-Permission assignment not found');
|
|
190
|
+
}
|
|
191
|
+
await this.rolePermissionRepo.remove(rolePermission);
|
|
192
|
+
this.logger.log(`Permission removed from role: ${roleId} -> ${permissionId}`);
|
|
193
|
+
}
|
|
194
|
+
async getRolePermissions(roleId) {
|
|
195
|
+
const rolePermissions = await this.rolePermissionRepo.find({
|
|
196
|
+
where: { roleId },
|
|
197
|
+
relations: ['permission'],
|
|
198
|
+
});
|
|
199
|
+
return rolePermissions.map((rp) => rp.permission);
|
|
200
|
+
}
|
|
201
|
+
async syncRolePermissions(roleId, permissionIds) {
|
|
202
|
+
await this.getRole(roleId);
|
|
203
|
+
await this.rolePermissionRepo.delete({ roleId });
|
|
204
|
+
if (permissionIds.length > 0) {
|
|
205
|
+
const rolePermissions = permissionIds.map((permissionId) => this.rolePermissionRepo.create({ roleId, permissionId }));
|
|
206
|
+
await this.rolePermissionRepo.save(rolePermissions);
|
|
207
|
+
}
|
|
208
|
+
this.logger.log(`Role permissions synced: ${roleId} (${permissionIds.length} permissions)`);
|
|
209
|
+
}
|
|
210
|
+
async assignRoleToUser(userId, roleId, expiresAt, scope) {
|
|
211
|
+
await this.getRole(roleId);
|
|
212
|
+
const existing = await this.userRoleRepo.findOne({
|
|
213
|
+
where: { userId, roleId },
|
|
214
|
+
});
|
|
215
|
+
if (existing) {
|
|
216
|
+
if (expiresAt !== undefined)
|
|
217
|
+
existing.expiresAt = expiresAt;
|
|
218
|
+
if (scope !== undefined)
|
|
219
|
+
existing.scope = scope;
|
|
220
|
+
return this.userRoleRepo.save(existing);
|
|
221
|
+
}
|
|
222
|
+
const userRole = this.userRoleRepo.create({
|
|
223
|
+
userId,
|
|
224
|
+
roleId,
|
|
225
|
+
expiresAt,
|
|
226
|
+
scope,
|
|
227
|
+
});
|
|
228
|
+
const saved = await this.userRoleRepo.save(userRole);
|
|
229
|
+
this.logger.log(`Role assigned to user: ${userId} -> ${roleId}`);
|
|
230
|
+
return saved;
|
|
231
|
+
}
|
|
232
|
+
async removeRoleFromUser(userId, roleId) {
|
|
233
|
+
const userRole = await this.userRoleRepo.findOne({
|
|
234
|
+
where: { userId, roleId },
|
|
235
|
+
});
|
|
236
|
+
if (!userRole) {
|
|
237
|
+
throw new common_1.NotFoundException('User-Role assignment not found');
|
|
238
|
+
}
|
|
239
|
+
await this.userRoleRepo.remove(userRole);
|
|
240
|
+
this.logger.log(`Role removed from user: ${userId} -> ${roleId}`);
|
|
241
|
+
}
|
|
242
|
+
async getUserRoles(userId, includeExpired = false) {
|
|
243
|
+
const query = this.userRoleRepo
|
|
244
|
+
.createQueryBuilder('ur')
|
|
245
|
+
.leftJoinAndSelect('ur.role', 'role')
|
|
246
|
+
.where('ur.userId = :userId', { userId })
|
|
247
|
+
.andWhere('role.isActive = :isActive', { isActive: true });
|
|
248
|
+
if (!includeExpired) {
|
|
249
|
+
query.andWhere('(ur.expiresAt IS NULL OR ur.expiresAt > :now)', { now: new Date() });
|
|
250
|
+
}
|
|
251
|
+
const userRoles = await query.getMany();
|
|
252
|
+
return userRoles.map((ur) => ur.role).filter((role) => role !== null);
|
|
253
|
+
}
|
|
254
|
+
async getUserPermissions(userId) {
|
|
255
|
+
const roles = await this.getUserRoles(userId);
|
|
256
|
+
const roleIds = roles.map((role) => role.id);
|
|
257
|
+
if (roleIds.length === 0) {
|
|
258
|
+
return [];
|
|
259
|
+
}
|
|
260
|
+
const rolePermissions = await this.rolePermissionRepo.find({
|
|
261
|
+
where: { roleId: (0, typeorm_2.In)(roleIds) },
|
|
262
|
+
relations: ['permission'],
|
|
263
|
+
});
|
|
264
|
+
const permissionMap = new Map();
|
|
265
|
+
rolePermissions.forEach((rp) => {
|
|
266
|
+
if (rp.permission) {
|
|
267
|
+
permissionMap.set(rp.permission.id, rp.permission);
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
return Array.from(permissionMap.values());
|
|
271
|
+
}
|
|
272
|
+
async userHasPermission(userId, permissionSlug) {
|
|
273
|
+
const permissions = await this.getUserPermissions(userId);
|
|
274
|
+
return permissions.some((p) => p.slug === permissionSlug);
|
|
275
|
+
}
|
|
276
|
+
async userHasRole(userId, roleName) {
|
|
277
|
+
const roles = await this.getUserRoles(userId);
|
|
278
|
+
return roles.some((r) => r.name === roleName);
|
|
279
|
+
}
|
|
280
|
+
async userHasAnyRole(userId, roleNames) {
|
|
281
|
+
const roles = await this.getUserRoles(userId);
|
|
282
|
+
const userRoleNames = roles.map((r) => r.name);
|
|
283
|
+
return roleNames.some((roleName) => userRoleNames.includes(roleName));
|
|
284
|
+
}
|
|
285
|
+
async syncUserRoles(userId, roleIds) {
|
|
286
|
+
await this.userRoleRepo.delete({ userId });
|
|
287
|
+
if (roleIds.length > 0) {
|
|
288
|
+
const userRoles = roleIds.map((roleId) => this.userRoleRepo.create({ userId, roleId }));
|
|
289
|
+
await this.userRoleRepo.save(userRoles);
|
|
290
|
+
}
|
|
291
|
+
this.logger.log(`User roles synced: ${userId} (${roleIds.length} roles)`);
|
|
292
|
+
}
|
|
293
|
+
};
|
|
294
|
+
exports.AclService = AclService;
|
|
295
|
+
exports.AclService = AclService = AclService_1 = __decorate([
|
|
296
|
+
(0, common_1.Injectable)(),
|
|
297
|
+
__param(0, (0, typeorm_1.InjectRepository)(role_entity_1.Role)),
|
|
298
|
+
__param(1, (0, typeorm_1.InjectRepository)(permission_entity_1.Permission)),
|
|
299
|
+
__param(2, (0, typeorm_1.InjectRepository)(role_permission_entity_1.RolePermission)),
|
|
300
|
+
__param(3, (0, typeorm_1.InjectRepository)(user_role_entity_1.UserRole)),
|
|
301
|
+
__metadata("design:paramtypes", [typeorm_2.Repository,
|
|
302
|
+
typeorm_2.Repository,
|
|
303
|
+
typeorm_2.Repository,
|
|
304
|
+
typeorm_2.Repository,
|
|
305
|
+
core_1.AppLogger])
|
|
306
|
+
], AclService);
|
|
307
|
+
//# sourceMappingURL=acl.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acl.service.js","sourceRoot":"","sources":["../../src/services/acl.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { TypeOrmCrudService } from '@dataui/crud-typeorm';
|
|
2
|
+
import { AppLogger, SettingsService } from '@venturialstd/core';
|
|
3
|
+
import { Repository } from 'typeorm';
|
|
4
|
+
import { User } from '../entities/user.entity';
|
|
5
|
+
import { UserModuleOptions } from '../user.module';
|
|
6
|
+
export declare class UserService extends TypeOrmCrudService<User> {
|
|
7
|
+
readonly repo: Repository<User>;
|
|
8
|
+
private readonly settingsService;
|
|
9
|
+
private readonly logger;
|
|
10
|
+
private readonly moduleOptions;
|
|
11
|
+
private readonly allowedStatuses;
|
|
12
|
+
constructor(repo: Repository<User>, settingsService: SettingsService, logger: AppLogger, moduleOptions: UserModuleOptions);
|
|
13
|
+
getAllowedStatuses(): string[];
|
|
14
|
+
isValidStatus(status: string): boolean;
|
|
15
|
+
createUser(firstname: string, lastname: string, email: string, phone?: string, avatar?: string, timezone?: string, locale?: string): Promise<User>;
|
|
16
|
+
getUserByEmail(email: string): Promise<User>;
|
|
17
|
+
getUserById(id: string): Promise<User>;
|
|
18
|
+
updateUserSettings(userId: string, settings: Record<string, unknown>): Promise<User>;
|
|
19
|
+
updateUserMetadata(userId: string, metadata: Record<string, unknown>): Promise<User>;
|
|
20
|
+
setUserStatus(userId: string, isActive: boolean): Promise<User>;
|
|
21
|
+
verifyEmail(userId: string): Promise<User>;
|
|
22
|
+
getActiveUsers(): Promise<User[]>;
|
|
23
|
+
getVerifiedUsers(): Promise<User[]>;
|
|
24
|
+
updateUserProfile(userId: string, updates: Partial<Pick<User, 'firstname' | 'lastname' | 'phone' | 'avatar' | 'timezone' | 'locale'>>): Promise<User>;
|
|
25
|
+
setStatus(userId: string, status: string): Promise<User>;
|
|
26
|
+
getUsersByStatus(status: string): Promise<User[]>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=user.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.service.d.ts","sourceRoot":"","sources":["../../src/services/user.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,qBACa,WAAY,SAAQ,kBAAkB,CAAC,IAAI,CAAC;aAKrC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IARhC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAW;gBAIzB,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,EACrB,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,SAAS,EAEjB,aAAa,EAAE,iBAAiB;IAcnD,kBAAkB,IAAI,MAAM,EAAE;IAO9B,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAOhC,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IAoCV,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW5C,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBpF,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBpF,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB/D,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB1C,cAAc,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAOjC,gBAAgB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAOnC,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,CACd,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC,CAClF,GACA,OAAO,CAAC,IAAI,CAAC;IAgBV,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBxD,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;CASxD"}
|
|
@@ -0,0 +1,173 @@
|
|
|
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
|
+
var UserService_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.UserService = void 0;
|
|
17
|
+
const crud_typeorm_1 = require("@dataui/crud-typeorm");
|
|
18
|
+
const common_1 = require("@nestjs/common");
|
|
19
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
20
|
+
const core_1 = require("@venturialstd/core");
|
|
21
|
+
const typeorm_2 = require("typeorm");
|
|
22
|
+
const user_constant_1 = require("../constants/user.constant");
|
|
23
|
+
const user_entity_1 = require("../entities/user.entity");
|
|
24
|
+
let UserService = UserService_1 = class UserService extends crud_typeorm_1.TypeOrmCrudService {
|
|
25
|
+
repo;
|
|
26
|
+
settingsService;
|
|
27
|
+
logger;
|
|
28
|
+
moduleOptions;
|
|
29
|
+
allowedStatuses;
|
|
30
|
+
constructor(repo, settingsService, logger, moduleOptions) {
|
|
31
|
+
super(repo);
|
|
32
|
+
this.repo = repo;
|
|
33
|
+
this.settingsService = settingsService;
|
|
34
|
+
this.logger = logger;
|
|
35
|
+
this.moduleOptions = moduleOptions;
|
|
36
|
+
this.logger.setContext(UserService_1.name);
|
|
37
|
+
this.allowedStatuses = moduleOptions.allowedStatuses || user_constant_1.DEFAULT_USER_STATUSES;
|
|
38
|
+
this.logger.log(`Allowed statuses: ${this.allowedStatuses.join(', ')}`);
|
|
39
|
+
}
|
|
40
|
+
getAllowedStatuses() {
|
|
41
|
+
return [...this.allowedStatuses];
|
|
42
|
+
}
|
|
43
|
+
isValidStatus(status) {
|
|
44
|
+
return this.allowedStatuses.includes(status);
|
|
45
|
+
}
|
|
46
|
+
async createUser(firstname, lastname, email, phone, avatar, timezone, locale) {
|
|
47
|
+
try {
|
|
48
|
+
const existingUser = await this.repo.findOne({ where: { email } });
|
|
49
|
+
if (existingUser) {
|
|
50
|
+
throw new common_1.BadRequestException(`User with email "${email}" already exists`);
|
|
51
|
+
}
|
|
52
|
+
const user = this.repo.create({
|
|
53
|
+
firstname,
|
|
54
|
+
lastname,
|
|
55
|
+
email,
|
|
56
|
+
phone,
|
|
57
|
+
avatar,
|
|
58
|
+
timezone,
|
|
59
|
+
locale,
|
|
60
|
+
isActive: true,
|
|
61
|
+
isEmailVerified: false,
|
|
62
|
+
settings: {},
|
|
63
|
+
metadata: {},
|
|
64
|
+
});
|
|
65
|
+
const savedUser = await this.repo.save(user);
|
|
66
|
+
this.logger.log(`User created: ${savedUser.id} - ${savedUser.email}`);
|
|
67
|
+
return savedUser;
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
this.logger.error('Error creating user:', error);
|
|
71
|
+
throw error;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
async getUserByEmail(email) {
|
|
75
|
+
const user = await this.repo.findOne({ where: { email } });
|
|
76
|
+
if (!user) {
|
|
77
|
+
throw new common_1.NotFoundException(`User with email "${email}" not found`);
|
|
78
|
+
}
|
|
79
|
+
return user;
|
|
80
|
+
}
|
|
81
|
+
async getUserById(id) {
|
|
82
|
+
const user = await this.repo.findOne({ where: { id } });
|
|
83
|
+
if (!user) {
|
|
84
|
+
throw new common_1.NotFoundException(`User with id "${id}" not found`);
|
|
85
|
+
}
|
|
86
|
+
return user;
|
|
87
|
+
}
|
|
88
|
+
async updateUserSettings(userId, settings) {
|
|
89
|
+
const user = await this.repo.findOne({ where: { id: userId } });
|
|
90
|
+
if (!user) {
|
|
91
|
+
throw new common_1.NotFoundException(`User with id "${userId}" not found`);
|
|
92
|
+
}
|
|
93
|
+
user.settings = { ...user.settings, ...settings };
|
|
94
|
+
const updatedUser = await this.repo.save(user);
|
|
95
|
+
this.logger.log(`User settings updated: ${userId}`);
|
|
96
|
+
return updatedUser;
|
|
97
|
+
}
|
|
98
|
+
async updateUserMetadata(userId, metadata) {
|
|
99
|
+
const user = await this.repo.findOne({ where: { id: userId } });
|
|
100
|
+
if (!user) {
|
|
101
|
+
throw new common_1.NotFoundException(`User with id "${userId}" not found`);
|
|
102
|
+
}
|
|
103
|
+
user.metadata = { ...user.metadata, ...metadata };
|
|
104
|
+
const updatedUser = await this.repo.save(user);
|
|
105
|
+
this.logger.log(`User metadata updated: ${userId}`);
|
|
106
|
+
return updatedUser;
|
|
107
|
+
}
|
|
108
|
+
async setUserStatus(userId, isActive) {
|
|
109
|
+
const user = await this.repo.findOne({ where: { id: userId } });
|
|
110
|
+
if (!user) {
|
|
111
|
+
throw new common_1.NotFoundException(`User with id "${userId}" not found`);
|
|
112
|
+
}
|
|
113
|
+
user.isActive = isActive;
|
|
114
|
+
const updatedUser = await this.repo.save(user);
|
|
115
|
+
this.logger.log(`User ${isActive ? 'activated' : 'deactivated'}: ${userId}`);
|
|
116
|
+
return updatedUser;
|
|
117
|
+
}
|
|
118
|
+
async verifyEmail(userId) {
|
|
119
|
+
const user = await this.repo.findOne({ where: { id: userId } });
|
|
120
|
+
if (!user) {
|
|
121
|
+
throw new common_1.NotFoundException(`User with id "${userId}" not found`);
|
|
122
|
+
}
|
|
123
|
+
user.isEmailVerified = true;
|
|
124
|
+
const updatedUser = await this.repo.save(user);
|
|
125
|
+
this.logger.log(`User email verified: ${userId}`);
|
|
126
|
+
return updatedUser;
|
|
127
|
+
}
|
|
128
|
+
async getActiveUsers() {
|
|
129
|
+
return this.repo.find({ where: { isActive: true } });
|
|
130
|
+
}
|
|
131
|
+
async getVerifiedUsers() {
|
|
132
|
+
return this.repo.find({ where: { isEmailVerified: true } });
|
|
133
|
+
}
|
|
134
|
+
async updateUserProfile(userId, updates) {
|
|
135
|
+
const user = await this.repo.findOne({ where: { id: userId } });
|
|
136
|
+
if (!user) {
|
|
137
|
+
throw new common_1.NotFoundException(`User with id "${userId}" not found`);
|
|
138
|
+
}
|
|
139
|
+
Object.assign(user, updates);
|
|
140
|
+
const updatedUser = await this.repo.save(user);
|
|
141
|
+
this.logger.log(`User profile updated: ${userId}`);
|
|
142
|
+
return updatedUser;
|
|
143
|
+
}
|
|
144
|
+
async setStatus(userId, status) {
|
|
145
|
+
if (!this.isValidStatus(status)) {
|
|
146
|
+
throw new common_1.BadRequestException(`Invalid status "${status}". Allowed statuses: ${this.allowedStatuses.join(', ')}`);
|
|
147
|
+
}
|
|
148
|
+
const user = await this.repo.findOne({ where: { id: userId } });
|
|
149
|
+
if (!user) {
|
|
150
|
+
throw new common_1.NotFoundException(`User with id "${userId}" not found`);
|
|
151
|
+
}
|
|
152
|
+
user.status = status;
|
|
153
|
+
const updatedUser = await this.repo.save(user);
|
|
154
|
+
this.logger.log(`User status updated: ${userId} -> ${status}`);
|
|
155
|
+
return updatedUser;
|
|
156
|
+
}
|
|
157
|
+
async getUsersByStatus(status) {
|
|
158
|
+
if (!this.isValidStatus(status)) {
|
|
159
|
+
throw new common_1.BadRequestException(`Invalid status "${status}". Allowed statuses: ${this.allowedStatuses.join(', ')}`);
|
|
160
|
+
}
|
|
161
|
+
return this.repo.find({ where: { status } });
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
exports.UserService = UserService;
|
|
165
|
+
exports.UserService = UserService = UserService_1 = __decorate([
|
|
166
|
+
(0, common_1.Injectable)(),
|
|
167
|
+
__param(0, (0, typeorm_1.InjectRepository)(user_entity_1.User)),
|
|
168
|
+
__param(3, (0, common_1.Inject)('USER_MODULE_OPTIONS')),
|
|
169
|
+
__metadata("design:paramtypes", [typeorm_2.Repository,
|
|
170
|
+
core_1.SettingsService,
|
|
171
|
+
core_1.AppLogger, Object])
|
|
172
|
+
], UserService);
|
|
173
|
+
//# sourceMappingURL=user.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/services/user.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.settings.d.ts","sourceRoot":"","sources":["../../src/settings/user.settings.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.settings.js","sourceRoot":"","sources":["../../src/settings/user.settings.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DynamicModule, Type } from '@nestjs/common';
|
|
2
|
+
export interface UserModuleOptions {
|
|
3
|
+
additionalEntities?: Type[];
|
|
4
|
+
metadataDefaults?: Record<string, unknown>;
|
|
5
|
+
settingsDefaults?: Record<string, unknown>;
|
|
6
|
+
allowedStatuses?: string[];
|
|
7
|
+
}
|
|
8
|
+
export declare class UserModule {
|
|
9
|
+
static forRoot(options?: UserModuleOptions): DynamicModule;
|
|
10
|
+
static forFeature(): DynamicModule;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=user.module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.module.d.ts","sourceRoot":"","sources":["../src/user.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAU,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAY7D,MAAM,WAAW,iBAAiB;IAKhC,kBAAkB,CAAC,EAAE,IAAI,EAAE,CAAC;IAM5B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAM3C,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAS3C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,qBACa,UAAU;IAKrB,MAAM,CAAC,OAAO,CAAC,OAAO,GAAE,iBAAsB,GAAG,aAAa;IAwB9D,MAAM,CAAC,UAAU,IAAI,aAAa;CAGnC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
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 core_1 = require("@venturialstd/core");
|
|
14
|
+
const permission_entity_1 = require("./entities/permission.entity");
|
|
15
|
+
const role_entity_1 = require("./entities/role.entity");
|
|
16
|
+
const role_permission_entity_1 = require("./entities/role-permission.entity");
|
|
17
|
+
const user_entity_1 = require("./entities/user.entity");
|
|
18
|
+
const user_role_entity_1 = require("./entities/user-role.entity");
|
|
19
|
+
const acl_service_1 = require("./services/acl.service");
|
|
20
|
+
const user_service_1 = require("./services/user.service");
|
|
21
|
+
let UserModule = UserModule_1 = class UserModule {
|
|
22
|
+
static forRoot(options = {}) {
|
|
23
|
+
const aclEntities = [role_entity_1.Role, permission_entity_1.Permission, role_permission_entity_1.RolePermission, user_role_entity_1.UserRole];
|
|
24
|
+
const entities = [user_entity_1.User, ...aclEntities, ...(options.additionalEntities || [])];
|
|
25
|
+
return {
|
|
26
|
+
module: UserModule_1,
|
|
27
|
+
imports: [core_1.SharedModule.forRoot({}), typeorm_1.TypeOrmModule.forFeature(entities)],
|
|
28
|
+
providers: [
|
|
29
|
+
user_service_1.UserService,
|
|
30
|
+
acl_service_1.AclService,
|
|
31
|
+
{
|
|
32
|
+
provide: 'USER_MODULE_OPTIONS',
|
|
33
|
+
useValue: options,
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
controllers: [],
|
|
37
|
+
exports: [user_service_1.UserService, acl_service_1.AclService, 'USER_MODULE_OPTIONS'],
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
static forFeature() {
|
|
41
|
+
return UserModule_1.forRoot({});
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
exports.UserModule = UserModule;
|
|
45
|
+
exports.UserModule = UserModule = UserModule_1 = __decorate([
|
|
46
|
+
(0, common_1.Module)({})
|
|
47
|
+
], UserModule);
|
|
48
|
+
//# sourceMappingURL=user.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.module.js","sourceRoot":"","sources":["../src/user.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA6D;AAC7D,6CAAgD;AAChD,6CAAkD;AAElD,oEAA0D;AAC1D,wDAA8C;AAC9C,8EAAmE;AACnE,wDAA8C;AAC9C,kEAAuD;AACvD,wDAAoD;AACpD,0DAAsD;AAgC/C,IAAM,UAAU,kBAAhB,MAAM,UAAU;IAKrB,MAAM,CAAC,OAAO,CAAC,UAA6B,EAAE;QAC5C,MAAM,WAAW,GAAG,CAAC,kBAAI,EAAE,8BAAU,EAAE,uCAAc,EAAE,2BAAQ,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,CAAC,kBAAI,EAAE,GAAG,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAC;QAE/E,OAAO;YACL,MAAM,EAAE,YAAU;YAClB,OAAO,EAAE,CAAC,mBAAY,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,uBAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACvE,SAAS,EAAE;gBACT,0BAAW;gBACX,wBAAU;gBACV;oBACE,OAAO,EAAE,qBAAqB;oBAC9B,QAAQ,EAAE,OAAO;iBAClB;aACF;YACD,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,CAAC,0BAAW,EAAE,wBAAU,EAAE,qBAAqB,CAAC;SAC1D,CAAC;IACJ,CAAC;IAMD,MAAM,CAAC,UAAU;QACf,OAAO,YAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;CACF,CAAA;AAhCY,gCAAU;qBAAV,UAAU;IADtB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,UAAU,CAgCtB"}
|