@neohm/nestend 4.0.2 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -3
- package/dist/admin/controllers/admin.tenant.user.controller.d.ts +8 -1
- package/dist/admin/controllers/admin.tenant.user.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.tenant.user.controller.js +75 -7
- package/dist/admin/controllers/admin.tenant.user.controller.js.map +1 -1
- package/dist/admin/dtos/add.client.membership.dto.d.ts +6 -0
- package/dist/admin/dtos/add.client.membership.dto.d.ts.map +1 -0
- package/dist/admin/dtos/add.client.membership.dto.js +41 -0
- package/dist/admin/dtos/add.client.membership.dto.js.map +1 -0
- package/dist/admin/es6.classes.d.ts +4 -2
- package/dist/admin/es6.classes.d.ts.map +1 -1
- package/dist/admin/es6.classes.js +4 -0
- package/dist/admin/es6.classes.js.map +1 -1
- package/dist/admin/libraries/bulk.user.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/bulk.user.data.processor.js +13 -5
- package/dist/admin/libraries/bulk.user.data.processor.js.map +1 -1
- package/dist/admin/libraries/client.membership.data.processor.d.ts +14 -0
- package/dist/admin/libraries/client.membership.data.processor.d.ts.map +1 -0
- package/dist/admin/libraries/client.membership.data.processor.js +56 -0
- package/dist/admin/libraries/client.membership.data.processor.js.map +1 -0
- package/dist/admin/libraries/client.user.data.processor.d.ts +1 -2
- package/dist/admin/libraries/client.user.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/client.user.data.processor.js +24 -31
- package/dist/admin/libraries/client.user.data.processor.js.map +1 -1
- package/dist/admin/libraries/client.user.delete.processor.d.ts.map +1 -1
- package/dist/admin/libraries/client.user.delete.processor.js +4 -0
- package/dist/admin/libraries/client.user.delete.processor.js.map +1 -1
- package/dist/admin/libraries/client.user.list.processor.d.ts.map +1 -1
- package/dist/admin/libraries/client.user.list.processor.js +14 -2
- package/dist/admin/libraries/client.user.list.processor.js.map +1 -1
- package/dist/admin/libraries/tenant.delete.processor.d.ts.map +1 -1
- package/dist/admin/libraries/tenant.delete.processor.js +22 -9
- package/dist/admin/libraries/tenant.delete.processor.js.map +1 -1
- package/dist/admin/libraries/user.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/user.data.processor.js +4 -1
- package/dist/admin/libraries/user.data.processor.js.map +1 -1
- package/dist/auth/auth.module.d.ts.map +1 -1
- package/dist/auth/auth.module.js +22 -3
- package/dist/auth/auth.module.js.map +1 -1
- package/dist/auth/controllers/auth.controller.d.ts +8 -7
- package/dist/auth/controllers/auth.controller.d.ts.map +1 -1
- package/dist/auth/controllers/auth.controller.js +36 -12
- package/dist/auth/controllers/auth.controller.js.map +1 -1
- package/dist/auth/controllers/impersonation.controller.d.ts +2 -2
- package/dist/auth/controllers/impersonation.controller.d.ts.map +1 -1
- package/dist/auth/controllers/tenant.invitation.controller.d.ts +18 -0
- package/dist/auth/controllers/tenant.invitation.controller.d.ts.map +1 -0
- package/dist/auth/controllers/tenant.invitation.controller.js +120 -0
- package/dist/auth/controllers/tenant.invitation.controller.js.map +1 -0
- package/dist/auth/controllers/tenant.member.controller.d.ts +18 -0
- package/dist/auth/controllers/tenant.member.controller.d.ts.map +1 -0
- package/dist/auth/controllers/tenant.member.controller.js +129 -0
- package/dist/auth/controllers/tenant.member.controller.js.map +1 -0
- package/dist/auth/controllers/user.invitation.controller.d.ts +12 -0
- package/dist/auth/controllers/user.invitation.controller.d.ts.map +1 -0
- package/dist/auth/controllers/user.invitation.controller.js +76 -0
- package/dist/auth/controllers/user.invitation.controller.js.map +1 -0
- package/dist/auth/controllers/user.organization.controller.d.ts +17 -0
- package/dist/auth/controllers/user.organization.controller.d.ts.map +1 -0
- package/dist/auth/controllers/user.organization.controller.js +88 -0
- package/dist/auth/controllers/user.organization.controller.js.map +1 -0
- package/dist/auth/dtos/invite.tenant.user.dto.d.ts +6 -0
- package/dist/auth/dtos/invite.tenant.user.dto.d.ts.map +1 -0
- package/dist/auth/dtos/invite.tenant.user.dto.js +45 -0
- package/dist/auth/dtos/invite.tenant.user.dto.js.map +1 -0
- package/dist/auth/dtos/member.roles.dto.d.ts +4 -0
- package/dist/auth/dtos/member.roles.dto.d.ts.map +1 -0
- package/dist/auth/dtos/member.roles.dto.js +28 -0
- package/dist/auth/dtos/member.roles.dto.js.map +1 -0
- package/dist/auth/dtos/switch.organization.dto.d.ts +5 -0
- package/dist/auth/dtos/switch.organization.dto.d.ts.map +1 -0
- package/dist/auth/dtos/switch.organization.dto.js +25 -0
- package/dist/auth/dtos/switch.organization.dto.js.map +1 -0
- package/dist/auth/dtos/tenant.invitation.list.dto.d.ts +5 -0
- package/dist/auth/dtos/tenant.invitation.list.dto.d.ts.map +1 -0
- package/dist/auth/dtos/tenant.invitation.list.dto.js +27 -0
- package/dist/auth/dtos/tenant.invitation.list.dto.js.map +1 -0
- package/dist/auth/dtos/tenant.member.list.dto.d.ts +5 -0
- package/dist/auth/dtos/tenant.member.list.dto.d.ts.map +1 -0
- package/dist/auth/dtos/tenant.member.list.dto.js +27 -0
- package/dist/auth/dtos/tenant.member.list.dto.js.map +1 -0
- package/dist/auth/entities/tenant.invitation.entity.d.ts +13 -0
- package/dist/auth/entities/tenant.invitation.entity.d.ts.map +1 -0
- package/dist/auth/entities/tenant.invitation.entity.js +52 -0
- package/dist/auth/entities/tenant.invitation.entity.js.map +1 -0
- package/dist/auth/entities/tenant.user.entity.d.ts +8 -0
- package/dist/auth/entities/tenant.user.entity.d.ts.map +1 -0
- package/dist/auth/entities/tenant.user.entity.js +35 -0
- package/dist/auth/entities/tenant.user.entity.js.map +1 -0
- package/dist/auth/entities/user.entity.d.ts +5 -0
- package/dist/auth/entities/user.entity.d.ts.map +1 -1
- package/dist/auth/entities/user.entity.js +17 -0
- package/dist/auth/entities/user.entity.js.map +1 -1
- package/dist/auth/entities/user.role.entity.d.ts +2 -2
- package/dist/auth/entities/user.role.entity.d.ts.map +1 -1
- package/dist/auth/entities/user.role.entity.js +2 -2
- package/dist/auth/entities/user.role.entity.js.map +1 -1
- package/dist/auth/enums/auth.default.enum.d.ts +3 -1
- package/dist/auth/enums/auth.default.enum.d.ts.map +1 -1
- package/dist/auth/enums/auth.default.enum.js +2 -0
- package/dist/auth/enums/auth.default.enum.js.map +1 -1
- package/dist/auth/enums/tenant.invitation.default.enum.d.ts +4 -0
- package/dist/auth/enums/tenant.invitation.default.enum.d.ts.map +1 -0
- package/dist/auth/enums/tenant.invitation.default.enum.js +8 -0
- package/dist/auth/enums/tenant.invitation.default.enum.js.map +1 -0
- package/dist/auth/enums/tenant.invitation.status.enum.d.ts +7 -0
- package/dist/auth/enums/tenant.invitation.status.enum.d.ts.map +1 -0
- package/dist/auth/enums/tenant.invitation.status.enum.js +11 -0
- package/dist/auth/enums/tenant.invitation.status.enum.js.map +1 -0
- package/dist/auth/enums/user.type.enum.d.ts.map +1 -1
- package/dist/auth/enums/user.type.enum.js.map +1 -1
- package/dist/auth/es6.classes.d.ts +15 -4
- package/dist/auth/es6.classes.d.ts.map +1 -1
- package/dist/auth/es6.classes.js +35 -2
- package/dist/auth/es6.classes.js.map +1 -1
- package/dist/auth/helpers/auth.d.ts +1 -1
- package/dist/auth/helpers/auth.d.ts.map +1 -1
- package/dist/auth/helpers/auth.js +7 -4
- package/dist/auth/helpers/auth.js.map +1 -1
- package/dist/auth/processors/change.password.data.processor.d.ts.map +1 -1
- package/dist/auth/processors/change.password.data.processor.js +1 -0
- package/dist/auth/processors/change.password.data.processor.js.map +1 -1
- package/dist/auth/processors/google.user.data.processor.js +1 -1
- package/dist/auth/processors/google.user.data.processor.js.map +1 -1
- package/dist/auth/processors/register.user.data.processor.js +1 -1
- package/dist/auth/processors/register.user.data.processor.js.map +1 -1
- package/dist/auth/processors/tenant.invitation.data.processor.d.ts +20 -0
- package/dist/auth/processors/tenant.invitation.data.processor.d.ts.map +1 -0
- package/dist/auth/processors/tenant.invitation.data.processor.js +112 -0
- package/dist/auth/processors/tenant.invitation.data.processor.js.map +1 -0
- package/dist/auth/processors/tenant.invitation.list.processor.d.ts +13 -0
- package/dist/auth/processors/tenant.invitation.list.processor.d.ts.map +1 -0
- package/dist/auth/processors/tenant.invitation.list.processor.js +67 -0
- package/dist/auth/processors/tenant.invitation.list.processor.js.map +1 -0
- package/dist/auth/processors/tenant.member.list.processor.d.ts +13 -0
- package/dist/auth/processors/tenant.member.list.processor.d.ts.map +1 -0
- package/dist/auth/processors/tenant.member.list.processor.js +66 -0
- package/dist/auth/processors/tenant.member.list.processor.js.map +1 -0
- package/dist/auth/services/admin.auth.service.d.ts.map +1 -1
- package/dist/auth/services/admin.auth.service.js +2 -2
- package/dist/auth/services/admin.auth.service.js.map +1 -1
- package/dist/auth/services/auth.service.d.ts +5 -0
- package/dist/auth/services/auth.service.d.ts.map +1 -1
- package/dist/auth/services/auth.service.js +51 -13
- package/dist/auth/services/auth.service.js.map +1 -1
- package/dist/auth/services/impersonation.service.d.ts +2 -2
- package/dist/auth/services/impersonation.service.d.ts.map +1 -1
- package/dist/auth/services/impersonation.service.js +1 -1
- package/dist/auth/services/impersonation.service.js.map +1 -1
- package/dist/auth/services/tenant.invitation.service.d.ts +26 -0
- package/dist/auth/services/tenant.invitation.service.d.ts.map +1 -0
- package/dist/auth/services/tenant.invitation.service.js +212 -0
- package/dist/auth/services/tenant.invitation.service.js.map +1 -0
- package/dist/auth/services/tenant.membership.service.d.ts +29 -0
- package/dist/auth/services/tenant.membership.service.d.ts.map +1 -0
- package/dist/auth/services/tenant.membership.service.js +178 -0
- package/dist/auth/services/tenant.membership.service.js.map +1 -0
- package/dist/auth/types/auth.types.d.ts +24 -2
- package/dist/auth/types/auth.types.d.ts.map +1 -1
- package/dist/auth/utilities/access.revocation.d.ts +2 -0
- package/dist/auth/utilities/access.revocation.d.ts.map +1 -1
- package/dist/auth/utilities/access.revocation.js +12 -0
- package/dist/auth/utilities/access.revocation.js.map +1 -1
- package/dist/auth/utilities/auth.utilities.d.ts +1 -0
- package/dist/auth/utilities/auth.utilities.d.ts.map +1 -1
- package/dist/auth/utilities/auth.utilities.js +4 -0
- package/dist/auth/utilities/auth.utilities.js.map +1 -1
- package/dist/auth/utilities/tenant.access.d.ts +8 -0
- package/dist/auth/utilities/tenant.access.d.ts.map +1 -0
- package/dist/auth/utilities/tenant.access.js +61 -0
- package/dist/auth/utilities/tenant.access.js.map +1 -0
- package/dist/common/es6.classes.d.ts +2 -2
- package/dist/constants/entity.constants.d.ts +2 -0
- package/dist/constants/entity.constants.d.ts.map +1 -1
- package/dist/constants/entity.constants.js +2 -0
- package/dist/constants/entity.constants.js.map +1 -1
- package/dist/constants/entity.maps.d.ts +4 -0
- package/dist/constants/entity.maps.d.ts.map +1 -1
- package/dist/constants/entity.maps.js +4 -0
- package/dist/constants/entity.maps.js.map +1 -1
- package/dist/constants/job.constants.d.ts +1 -0
- package/dist/constants/job.constants.d.ts.map +1 -1
- package/dist/constants/job.constants.js +1 -0
- package/dist/constants/job.constants.js.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -3
- package/dist/index.js.map +1 -1
- package/dist/migrations/1749600000003.CreateSysUsersTable.d.ts.map +1 -1
- package/dist/migrations/1749600000003.CreateSysUsersTable.js +4 -0
- package/dist/migrations/1749600000003.CreateSysUsersTable.js.map +1 -1
- package/dist/migrations/1749600000006.CreateSysUserRolesJoinTable.d.ts.map +1 -1
- package/dist/migrations/1749600000006.CreateSysUserRolesJoinTable.js +8 -1
- package/dist/migrations/1749600000006.CreateSysUserRolesJoinTable.js.map +1 -1
- package/dist/migrations/1749600000030.CreateSysTenantUsersTable.d.ts +6 -0
- package/dist/migrations/1749600000030.CreateSysTenantUsersTable.d.ts.map +1 -0
- package/dist/migrations/1749600000030.CreateSysTenantUsersTable.js +33 -0
- package/dist/migrations/1749600000030.CreateSysTenantUsersTable.js.map +1 -0
- package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.d.ts +6 -0
- package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.d.ts.map +1 -0
- package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.js +43 -0
- package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.js.map +1 -0
- package/dist/notification/enums/email.notification.default.enum.d.ts +1 -0
- package/dist/notification/enums/email.notification.default.enum.d.ts.map +1 -1
- package/dist/notification/enums/email.notification.default.enum.js +1 -0
- package/dist/notification/enums/email.notification.default.enum.js.map +1 -1
- package/dist/notification/enums/email.template.identifier.enum.d.ts +2 -1
- package/dist/notification/enums/email.template.identifier.enum.d.ts.map +1 -1
- package/dist/notification/enums/email.template.identifier.enum.js +1 -0
- package/dist/notification/enums/email.template.identifier.enum.js.map +1 -1
- package/dist/notification/es6.classes.d.ts +2 -1
- package/dist/notification/es6.classes.d.ts.map +1 -1
- package/dist/notification/es6.classes.js +6 -1
- package/dist/notification/es6.classes.js.map +1 -1
- package/dist/notification/jobs/tenant.user.invited.mail.job.d.ts +14 -0
- package/dist/notification/jobs/tenant.user.invited.mail.job.d.ts.map +1 -0
- package/dist/notification/jobs/tenant.user.invited.mail.job.js +57 -0
- package/dist/notification/jobs/tenant.user.invited.mail.job.js.map +1 -0
- package/dist/notification/notification.module.d.ts.map +1 -1
- package/dist/notification/notification.module.js +3 -1
- package/dist/notification/notification.module.js.map +1 -1
- package/dist/notification/types/email.notification.types.d.ts +9 -0
- package/dist/notification/types/email.notification.types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.user.data.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.data.processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,wDAAwD,CAAC;
|
|
1
|
+
{"version":3,"file":"client.user.data.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.data.processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,wDAAwD,CAAC;AAoBpG,qBAAa,uBAAwB,SAAQ,iBAAiB;IAO1D,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAP7C,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IAEnE,OAAO,CAAC,MAAM,CAA6B;gBAGxB,aAAa,EAAE,aAAa,EAC5B,0BAA0B,EAAE,0BAA0B;IAKnE,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;YAM/C,QAAQ;YAuBR,cAAc;YAQd,kBAAkB;YAYlB,YAAY;YAwBZ,IAAI;YAKJ,MAAM;YA+BN,MAAM;YAgCN,UAAU;CAiBzB"}
|
|
@@ -6,7 +6,8 @@ const user_data_processor_1 = require("./user.data.processor");
|
|
|
6
6
|
const user_entity_1 = require("../../auth/entities/user.entity");
|
|
7
7
|
const user_type_enum_1 = require("../../auth/enums/user.type.enum");
|
|
8
8
|
const auth_utilities_1 = require("../../auth/utilities/auth.utilities");
|
|
9
|
-
const
|
|
9
|
+
const tenant_user_entity_1 = require("../../auth/entities/tenant.user.entity");
|
|
10
|
+
const tenant_access_1 = require("../../auth/utilities/tenant.access");
|
|
10
11
|
const access_exception_1 = require("../../global/exceptions/access.exception");
|
|
11
12
|
const typeorm_1 = require("typeorm");
|
|
12
13
|
const system_role_entity_1 = require("../../auth/entities/system.role.entity");
|
|
@@ -28,6 +29,8 @@ class ClientUserDataProcessor extends user_data_processor_1.UserDataProcessor {
|
|
|
28
29
|
if (editId && !(await user_entity_1.UserEntity.existsBy({ id: editId })))
|
|
29
30
|
this.setColumnError('id', 'No client user exists for this id');
|
|
30
31
|
await this.validateTenant();
|
|
32
|
+
if (editId)
|
|
33
|
+
await this.validateMembership(editId);
|
|
31
34
|
await this.validateEmail(this.payload.email, 'email', editId);
|
|
32
35
|
await this.validateContact(this.payload.contact, this.payload.contact_code, 'contact', editId);
|
|
33
36
|
this.validatePassword(this.payload.password, !!editId);
|
|
@@ -40,6 +43,14 @@ class ClientUserDataProcessor extends user_data_processor_1.UserDataProcessor {
|
|
|
40
43
|
this.setColumnError('tenant_id', 'Tenant not found or inactive');
|
|
41
44
|
this.tenant = tenant;
|
|
42
45
|
}
|
|
46
|
+
async validateMembership(userId) {
|
|
47
|
+
const isMember = await tenant_user_entity_1.TenantUserEntity.existsBy({
|
|
48
|
+
user_id: userId,
|
|
49
|
+
tenant_id: this.payload.tenant_id,
|
|
50
|
+
});
|
|
51
|
+
if (!isMember)
|
|
52
|
+
this.setColumnError('tenant_id', 'This user is not a member of this tenant');
|
|
53
|
+
}
|
|
43
54
|
async resolveRoles(roleIds, field) {
|
|
44
55
|
if (!roleIds?.length) {
|
|
45
56
|
return [];
|
|
@@ -48,12 +59,13 @@ class ClientUserDataProcessor extends user_data_processor_1.UserDataProcessor {
|
|
|
48
59
|
const roles = await system_role_entity_1.SystemRoleEntity.find({
|
|
49
60
|
where: {
|
|
50
61
|
id: (0, typeorm_1.In)(uniqueRoleIds),
|
|
62
|
+
is_active: true,
|
|
51
63
|
},
|
|
52
64
|
});
|
|
53
65
|
const foundRoleIds = new Set(roles.map((role) => role.id));
|
|
54
66
|
for (const roleId of uniqueRoleIds) {
|
|
55
67
|
if (!foundRoleIds.has(roleId)) {
|
|
56
|
-
this.setColumnError(field, `Role '${roleId}' not found`);
|
|
68
|
+
this.setColumnError(field, `Role '${roleId}' not found or inactive`);
|
|
57
69
|
}
|
|
58
70
|
}
|
|
59
71
|
return roles;
|
|
@@ -65,19 +77,22 @@ class ClientUserDataProcessor extends user_data_processor_1.UserDataProcessor {
|
|
|
65
77
|
}
|
|
66
78
|
async create() {
|
|
67
79
|
const body = this.payload;
|
|
80
|
+
const password = await auth_utilities_1.AuthUtility.hashPassword(body.password);
|
|
68
81
|
const user = user_entity_1.UserEntity.create({
|
|
69
82
|
user_type: user_type_enum_1.UserType.TENANT_USER,
|
|
70
83
|
organization_id: body.tenant_id,
|
|
71
84
|
full_name: body.full_name,
|
|
72
85
|
email: body.email,
|
|
73
|
-
password
|
|
86
|
+
password,
|
|
74
87
|
country: body.country,
|
|
75
88
|
contact_code: body.contact_code,
|
|
76
89
|
contact: body.contact,
|
|
77
90
|
active: body.active ?? true,
|
|
78
91
|
});
|
|
79
|
-
await
|
|
80
|
-
|
|
92
|
+
await user_entity_1.UserEntity.getRepository().manager.transaction(async (trx) => {
|
|
93
|
+
await trx.save(user);
|
|
94
|
+
await tenant_access_1.TenantAccess.join(trx, user.id, body.tenant_id, body.role_ids ?? []);
|
|
95
|
+
});
|
|
81
96
|
await this.notifyUser(user);
|
|
82
97
|
return this.stripSecrets(user);
|
|
83
98
|
}
|
|
@@ -92,33 +107,11 @@ class ClientUserDataProcessor extends user_data_processor_1.UserDataProcessor {
|
|
|
92
107
|
user.contact_code = body.contact_code;
|
|
93
108
|
user.contact = body.contact;
|
|
94
109
|
user.active = body.active ?? true;
|
|
95
|
-
await
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
}
|
|
99
|
-
async grantRoles(user) {
|
|
100
|
-
if (!this.payload?.role_ids?.length)
|
|
101
|
-
return;
|
|
102
|
-
const userRoles = [...new Set(this.payload.role_ids)].map((role_id) => user_role_entity_1.UserRoleEntity.create({ user_id: user.id, role_id }));
|
|
103
|
-
await user_role_entity_1.UserRoleEntity.save(userRoles);
|
|
104
|
-
}
|
|
105
|
-
async updateRoles(user) {
|
|
106
|
-
const existingRoles = await user_role_entity_1.UserRoleEntity.find({
|
|
107
|
-
where: {
|
|
108
|
-
user_id: user.id,
|
|
109
|
-
},
|
|
110
|
+
await user_entity_1.UserEntity.getRepository().manager.transaction(async (trx) => {
|
|
111
|
+
await trx.save(user);
|
|
112
|
+
await tenant_access_1.TenantAccess.reconcileRoles(trx, user.id, body.tenant_id, body.role_ids ?? []);
|
|
110
113
|
});
|
|
111
|
-
|
|
112
|
-
const roleIds = new Set((this.payload?.role_ids ?? []).map((role_id) => role_id));
|
|
113
|
-
for (const existingRole of existingRoles)
|
|
114
|
-
if (!roleIds.has(existingRole.role_id))
|
|
115
|
-
await existingRole.softDelete();
|
|
116
|
-
for (const roleId of roleIds)
|
|
117
|
-
if (!existingRoleIds.has(roleId))
|
|
118
|
-
await user_role_entity_1.UserRoleEntity.create({
|
|
119
|
-
user_id: user.id,
|
|
120
|
-
role_id: roleId,
|
|
121
|
-
}).save();
|
|
114
|
+
return this.stripSecrets(user);
|
|
122
115
|
}
|
|
123
116
|
async notifyUser(user) {
|
|
124
117
|
const data = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.user.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.data.processor.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AACxC,+DAA0D;AAC1D,iEAA6D;AAC7D,oEAA2D;AAI3D,wEAAkE;AAGlE,
|
|
1
|
+
{"version":3,"file":"client.user.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.data.processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.user.delete.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.delete.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"client.user.delete.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.delete.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAMxE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AASpD,qBAAa,yBAA0B,SAAQ,mBAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,eAAe;IAI7C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAgBjD"}
|
|
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ClientUserDeleteProcessor = void 0;
|
|
4
4
|
const common_data_processor_1 = require("../../common/libraries/common.data.processor");
|
|
5
5
|
const user_entity_1 = require("../../auth/entities/user.entity");
|
|
6
|
+
const tenant_user_entity_1 = require("../../auth/entities/tenant.user.entity");
|
|
7
|
+
const user_role_entity_1 = require("../../auth/entities/user.role.entity");
|
|
6
8
|
const user_type_enum_1 = require("../../auth/enums/user.type.enum");
|
|
7
9
|
const access_revocation_1 = require("../../auth/utilities/access.revocation");
|
|
8
10
|
class ClientUserDeleteProcessor extends common_data_processor_1.CommonDataProcessor {
|
|
@@ -19,6 +21,8 @@ class ClientUserDeleteProcessor extends common_data_processor_1.CommonDataProces
|
|
|
19
21
|
this.raiseExceptionOnValidationFailure();
|
|
20
22
|
await user_entity_1.UserEntity.getRepository().manager.transaction(async (trx) => {
|
|
21
23
|
await access_revocation_1.AccessRevocation.revokeAll(trx, id, false);
|
|
24
|
+
await trx.softDelete(user_role_entity_1.UserRoleEntity, { user_id: id });
|
|
25
|
+
await trx.softDelete(tenant_user_entity_1.TenantUserEntity, { user_id: id });
|
|
22
26
|
await trx.softDelete(user_entity_1.UserEntity, { id });
|
|
23
27
|
});
|
|
24
28
|
return { id, deleted: true, deleted_by: this.actor.id };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.user.delete.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.delete.processor.ts"],"names":[],"mappings":";;;AAAA,wFAAmF;AAEnF,iEAA6D;AAC7D,oEAA2D;AAC3D,8EAA0E;
|
|
1
|
+
{"version":3,"file":"client.user.delete.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.delete.processor.ts"],"names":[],"mappings":";;;AAAA,wFAAmF;AAEnF,iEAA6D;AAC7D,+EAA0E;AAC1E,2EAAsE;AACtE,oEAA2D;AAC3D,8EAA0E;AAU1E,MAAa,yBAA0B,SAAQ,2CAAmB;IAChE,YAA6B,KAAsB;QACjD,KAAK,EAAE,CAAC;QADmB,UAAK,GAAL,KAAK,CAAiB;IAEnD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,IAAI,GAAG,MAAM,wBAAU,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;aAC9D,IAAI,IAAI,CAAC,SAAS,KAAK,yBAAQ,CAAC,WAAW;YAC9C,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;QAC9D,IAAI,CAAC,iCAAiC,EAAE,CAAC;QAEzC,MAAM,wBAAU,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACjE,MAAM,oCAAgB,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACjD,MAAM,GAAG,CAAC,UAAU,CAAC,iCAAc,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACtD,MAAM,GAAG,CAAC,UAAU,CAAC,qCAAgB,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACxD,MAAM,GAAG,CAAC,UAAU,CAAC,wBAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;IAC1D,CAAC;CACF;AArBD,8DAqBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.user.list.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.list.processor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAE9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"client.user.list.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.list.processor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAE9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAYjE,qBAAa,uBAAwB,SAAQ,mBAAmB;IAqDlD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IApDnE,SAAS,CAAC,MAAM,EAAE,sBAAsB,CAkDtC;gBAE6B,iBAAiB,EAAE,iBAAiB;IAI7D,OAAO,CAAC,OAAO,EAAE,iBAAiB;IAMxC,SAAS,CAAC,qBAAqB;CAGhC"}
|
|
@@ -10,9 +10,16 @@ class ClientUserListProcessor extends common_list_processor_1.CommonListProcesso
|
|
|
10
10
|
super();
|
|
11
11
|
this.listFilterService = listFilterService;
|
|
12
12
|
this.config = {
|
|
13
|
-
query:
|
|
13
|
+
query: `sys_users u
|
|
14
|
+
left join sys_tenant_users tu on tu.user_id = u.id and tu.deleted_at is null
|
|
15
|
+
left join sys_tenants t on t.id = tu.tenant_id`,
|
|
14
16
|
columns: [
|
|
15
17
|
{ key: 'u.id', identifier: 'id', type: filter_value_type_enum_1.FilterValueTypeEnum.UUID },
|
|
18
|
+
{
|
|
19
|
+
key: 'tu.id',
|
|
20
|
+
identifier: 'membership_id',
|
|
21
|
+
type: filter_value_type_enum_1.FilterValueTypeEnum.UUID,
|
|
22
|
+
},
|
|
16
23
|
{ key: 'u.full_name', identifier: 'full_name', searchable: true },
|
|
17
24
|
{ key: 'u.email', identifier: 'email', searchable: true },
|
|
18
25
|
{
|
|
@@ -21,7 +28,12 @@ class ClientUserListProcessor extends common_list_processor_1.CommonListProcesso
|
|
|
21
28
|
type: filter_value_type_enum_1.FilterValueTypeEnum.BOOLEAN,
|
|
22
29
|
},
|
|
23
30
|
{
|
|
24
|
-
key: '
|
|
31
|
+
key: 'tu.is_active',
|
|
32
|
+
identifier: 'membership_active',
|
|
33
|
+
type: filter_value_type_enum_1.FilterValueTypeEnum.BOOLEAN,
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
key: 'tu.tenant_id',
|
|
25
37
|
identifier: 'tenant_id',
|
|
26
38
|
type: filter_value_type_enum_1.FilterValueTypeEnum.UUID,
|
|
27
39
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.user.list.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.list.processor.ts"],"names":[],"mappings":";;;AAAA,gFAAuE;AACvE,sFAAgF;AAChF,wFAAmF;AAGnF,oEAA2D;
|
|
1
|
+
{"version":3,"file":"client.user.list.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.list.processor.ts"],"names":[],"mappings":";;;AAAA,gFAAuE;AACvE,sFAAgF;AAChF,wFAAmF;AAGnF,oEAA2D;AAa3D,MAAa,uBAAwB,SAAQ,2CAAmB;IAqD9D,YAA+B,iBAAoC;QACjE,KAAK,EAAE,CAAC;QADqB,sBAAiB,GAAjB,iBAAiB,CAAmB;QApDzD,WAAM,GAA2B;YACzC,KAAK,EAAE;;qDAE0C;YACjD,OAAO,EAAE;gBACP,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,4CAAmB,CAAC,IAAI,EAAE;gBACjE;oBACE,GAAG,EAAE,OAAO;oBACZ,UAAU,EAAE,eAAe;oBAC3B,IAAI,EAAE,4CAAmB,CAAC,IAAI;iBAC/B;gBACD,EAAE,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE;gBACjE,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;gBACzD;oBACE,GAAG,EAAE,UAAU;oBACf,UAAU,EAAE,QAAQ;oBACpB,IAAI,EAAE,4CAAmB,CAAC,OAAO;iBAClC;gBACD;oBACE,GAAG,EAAE,cAAc;oBACnB,UAAU,EAAE,mBAAmB;oBAC/B,IAAI,EAAE,4CAAmB,CAAC,OAAO;iBAClC;gBACD;oBACE,GAAG,EAAE,cAAc;oBACnB,UAAU,EAAE,WAAW;oBACvB,IAAI,EAAE,4CAAmB,CAAC,IAAI;iBAC/B;gBACD,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC9D,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE;gBAC3C,EAAE,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE;gBACrD,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC7D;oBACE,GAAG,EAAE,iBAAiB;oBACtB,UAAU,EAAE,eAAe;oBAC3B,IAAI,EAAE,4CAAmB,CAAC,QAAQ;iBACnC;gBACD;oBACE,GAAG,EAAE,qBAAqB;oBAC1B,UAAU,EAAE,mBAAmB;oBAC/B,IAAI,EAAE,4CAAmB,CAAC,QAAQ;iBACnC;gBACD;oBACE,GAAG,EAAE,cAAc;oBACnB,UAAU,EAAE,YAAY;oBACxB,IAAI,EAAE,4CAAmB,CAAC,QAAQ;iBACnC;aACF;YACD,UAAU,EAAE,CAAC,sBAAsB,CAAC;YACpC,WAAW,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,mCAAa,CAAC,IAAI,EAAE;SACpE,CAAC;IAIF,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAA0B;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAES,qBAAqB;QAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,sBAAsB,EAAE,yBAAQ,CAAC,WAAW,CAAC,CAAC;IACpE,CAAC;CACF;AAlED,0DAkEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant.delete.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/tenant.delete.processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"tenant.delete.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/tenant.delete.processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAUxE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAepD,qBAAa,qBAAsB,SAAQ,mBAAmB;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,eAAe;IAI7C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAoDjD"}
|
|
@@ -7,6 +7,9 @@ const api_key_entity_1 = require("../../auth/entities/api.key.entity");
|
|
|
7
7
|
const api_scope_entity_1 = require("../../auth/entities/api.scope.entity");
|
|
8
8
|
const tenant_scope_entity_1 = require("../../auth/entities/tenant.scope.entity");
|
|
9
9
|
const user_entity_1 = require("../../auth/entities/user.entity");
|
|
10
|
+
const tenant_user_entity_1 = require("../../auth/entities/tenant.user.entity");
|
|
11
|
+
const user_role_entity_1 = require("../../auth/entities/user.role.entity");
|
|
12
|
+
const tenant_invitation_entity_1 = require("../../auth/entities/tenant.invitation.entity");
|
|
10
13
|
const tenant_entity_1 = require("../../tenant/entities/tenant.entity");
|
|
11
14
|
const access_revocation_1 = require("../../auth/utilities/access.revocation");
|
|
12
15
|
class TenantDeleteProcessor extends common_data_processor_1.CommonDataProcessor {
|
|
@@ -18,20 +21,30 @@ class TenantDeleteProcessor extends common_data_processor_1.CommonDataProcessor
|
|
|
18
21
|
if (!(await tenant_entity_1.TenantEntity.existsBy({ id })))
|
|
19
22
|
this.setColumnError('id', 'No tenant exists for this id');
|
|
20
23
|
this.raiseExceptionOnValidationFailure();
|
|
21
|
-
const
|
|
22
|
-
where: {
|
|
23
|
-
select: {
|
|
24
|
-
});
|
|
24
|
+
const memberIds = (await tenant_user_entity_1.TenantUserEntity.find({
|
|
25
|
+
where: { tenant_id: id },
|
|
26
|
+
select: { user_id: true },
|
|
27
|
+
})).map((membership) => membership.user_id);
|
|
28
|
+
const staying = new Set(memberIds.length
|
|
29
|
+
? (await tenant_user_entity_1.TenantUserEntity.find({
|
|
30
|
+
where: { user_id: (0, typeorm_1.In)(memberIds), tenant_id: (0, typeorm_1.Not)(id) },
|
|
31
|
+
select: { user_id: true },
|
|
32
|
+
})).map((membership) => membership.user_id)
|
|
33
|
+
: []);
|
|
34
|
+
const leaving = memberIds.filter((userId) => !staying.has(userId));
|
|
25
35
|
const apiKeys = await api_key_entity_1.ApiKeyEntity.find({
|
|
26
36
|
where: { tenant_id: id, deleted_at: (0, typeorm_1.IsNull)() },
|
|
27
37
|
select: { id: true },
|
|
28
38
|
});
|
|
29
39
|
await tenant_entity_1.TenantEntity.getRepository().manager.transaction(async (trx) => {
|
|
30
|
-
for (const
|
|
31
|
-
await access_revocation_1.AccessRevocation.revokeAll(trx,
|
|
32
|
-
|
|
33
|
-
if (
|
|
34
|
-
await trx.softDelete(user_entity_1.UserEntity,
|
|
40
|
+
for (const userId of leaving)
|
|
41
|
+
await access_revocation_1.AccessRevocation.revokeAll(trx, userId, false);
|
|
42
|
+
await access_revocation_1.AccessRevocation.revokeOrganization(trx, id);
|
|
43
|
+
if (leaving.length)
|
|
44
|
+
await trx.softDelete(user_entity_1.UserEntity, leaving);
|
|
45
|
+
await trx.softDelete(user_role_entity_1.UserRoleEntity, { tenant_id: id });
|
|
46
|
+
await trx.softDelete(tenant_user_entity_1.TenantUserEntity, { tenant_id: id });
|
|
47
|
+
await trx.softDelete(tenant_invitation_entity_1.TenantInvitationEntity, { tenant_id: id });
|
|
35
48
|
if (apiKeys.length) {
|
|
36
49
|
const apiKeyIds = apiKeys.map((apiKey) => apiKey.id);
|
|
37
50
|
await trx.update(api_key_entity_1.ApiKeyEntity, { id: (0, typeorm_1.In)(apiKeyIds) }, { is_active: false, revoked_at: new Date() });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant.delete.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/tenant.delete.processor.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"tenant.delete.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/tenant.delete.processor.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAC1C,wFAAmF;AAEnF,uEAAkE;AAClE,2EAAsE;AACtE,iFAA4E;AAC5E,iEAA6D;AAC7D,+EAA0E;AAC1E,2EAAsE;AACtE,2FAAsF;AACtF,uEAAmE;AACnE,8EAA0E;AAgB1E,MAAa,qBAAsB,SAAQ,2CAAmB;IAC5D,YAA6B,KAAsB;QACjD,KAAK,EAAE,CAAC;QADmB,UAAK,GAAL,KAAK,CAAiB;IAEnD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,IAAI,CAAC,CAAC,MAAM,4BAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,8BAA8B,CAAC,CAAC;QAC5D,IAAI,CAAC,iCAAiC,EAAE,CAAC;QAEzC,MAAM,SAAS,GAAG,CAChB,MAAM,qCAAgB,CAAC,IAAI,CAAC;YAC1B,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;YACxB,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;SAC1B,CAAC,CACH,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,SAAS,CAAC,MAAM;YACd,CAAC,CAAC,CACE,MAAM,qCAAgB,CAAC,IAAI,CAAC;gBAC1B,KAAK,EAAE,EAAE,OAAO,EAAE,IAAA,YAAE,EAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAA,aAAG,EAAC,EAAE,CAAC,EAAE;gBACrD,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;aAC1B,CAAC,CACH,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;YAC3C,CAAC,CAAC,EAAE,CACP,CAAC;QACF,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,MAAM,6BAAY,CAAC,IAAI,CAAC;YACtC,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,IAAA,gBAAM,GAAE,EAAE;YAC9C,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;SACrB,CAAC,CAAC;QAEH,MAAM,4BAAY,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACnE,KAAK,MAAM,MAAM,IAAI,OAAO;gBAC1B,MAAM,oCAAgB,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAEvD,MAAM,oCAAgB,CAAC,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI,OAAO,CAAC,MAAM;gBAAE,MAAM,GAAG,CAAC,UAAU,CAAC,wBAAU,EAAE,OAAO,CAAC,CAAC;YAC9D,MAAM,GAAG,CAAC,UAAU,CAAC,iCAAc,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YACxD,MAAM,GAAG,CAAC,UAAU,CAAC,qCAAgB,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1D,MAAM,GAAG,CAAC,UAAU,CAAC,iDAAsB,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YAChE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACrD,MAAM,GAAG,CAAC,MAAM,CACd,6BAAY,EACZ,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,SAAS,CAAC,EAAE,EACrB,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,CAC7C,CAAC;gBACF,MAAM,GAAG,CAAC,UAAU,CAAC,iCAAc,EAAE,EAAE,UAAU,EAAE,IAAA,YAAE,EAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACpE,MAAM,GAAG,CAAC,UAAU,CAAC,6BAAY,EAAE,SAAS,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,GAAG,CAAC,UAAU,CAAC,uCAAiB,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3D,MAAM,GAAG,CAAC,UAAU,CAAC,4BAAY,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;IAC1D,CAAC;CACF;AAzDD,sDAyDC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.data.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/user.data.processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAO7D,8BAAsB,iBAAkB,SAAQ,mBAAmB;
|
|
1
|
+
{"version":3,"file":"user.data.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/user.data.processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAO7D,8BAAsB,iBAAkB,SAAQ,mBAAmB;cASjD,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,KAAK,SAAU,EACf,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC;cAUA,eAAe,CAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,KAAK,SAAY,EACjB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC;IAiBhB,SAAS,CAAC,gBAAgB,CACxB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,MAAM,EAAE,OAAO,EACf,KAAK,SAAa,GACjB,IAAI;IAMP,SAAS,CAAC,YAAY,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC;CAIzD"}
|
|
@@ -6,8 +6,11 @@ const common_data_processor_1 = require("../../common/libraries/common.data.proc
|
|
|
6
6
|
const user_entity_1 = require("../../auth/entities/user.entity");
|
|
7
7
|
class UserDataProcessor extends common_data_processor_1.CommonDataProcessor {
|
|
8
8
|
async validateEmail(email, field = 'email', excludeUserId) {
|
|
9
|
+
const match = user_entity_1.UserEntity.emailMatching(email);
|
|
9
10
|
const existing = await user_entity_1.UserEntity.findOne({
|
|
10
|
-
where: excludeUserId
|
|
11
|
+
where: excludeUserId
|
|
12
|
+
? { email: match, id: (0, typeorm_1.Not)(excludeUserId) }
|
|
13
|
+
: { email: match },
|
|
11
14
|
});
|
|
12
15
|
if (existing)
|
|
13
16
|
this.setColumnError(field, 'Email is already registered');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/user.data.processor.ts"],"names":[],"mappings":";;;AAAA,qCAAgD;AAChD,wFAAmF;AACnF,iEAA6D;AAO7D,MAAsB,iBAAkB,SAAQ,2CAAmB;
|
|
1
|
+
{"version":3,"file":"user.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/user.data.processor.ts"],"names":[],"mappings":";;;AAAA,qCAAgD;AAChD,wFAAmF;AACnF,iEAA6D;AAO7D,MAAsB,iBAAkB,SAAQ,2CAAmB;IASvD,KAAK,CAAC,aAAa,CAC3B,KAAa,EACb,KAAK,GAAG,OAAO,EACf,aAAsB;QAEtB,MAAM,KAAK,GAAG,wBAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,MAAM,wBAAU,CAAC,OAAO,CAAC;YACxC,KAAK,EAAE,aAAa;gBAClB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,IAAA,aAAG,EAAC,aAAa,CAAC,EAAE;gBAC1C,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;SACrB,CAAC,CAAC;QACH,IAAI,QAAQ;YAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC;IAC1E,CAAC;IAES,KAAK,CAAC,eAAe,CAC7B,OAA2B,EAC3B,WAA+B,EAC/B,KAAK,GAAG,SAAS,EACjB,aAAsB;QAEtB,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,KAAK,GAAiC,EAAE,OAAO,EAAE,CAAC;QACxD,IAAI,WAAW;YAAE,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;QAClD,IAAI,aAAa;YAAE,KAAK,CAAC,EAAE,GAAG,IAAA,aAAG,EAAC,aAAa,CAAC,CAAC;QAEjD,MAAM,QAAQ,GAAG,MAAM,wBAAU,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACrD,IAAI,QAAQ;YACV,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,sCAAsC,CAAC,CAAC;IACvE,CAAC;IAOS,gBAAgB,CACxB,QAA4B,EAC5B,MAAe,EACf,KAAK,GAAG,UAAU;QAElB,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ;YACtB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;IACvD,CAAC;IAGS,YAAY,CAAuB,IAAO;QAClD,OAAQ,IAA8B,CAAC,QAAQ,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA3DD,8CA2DC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.module.d.ts","sourceRoot":"","sources":["../../src/auth/auth.module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAId,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.module.d.ts","sourceRoot":"","sources":["../../src/auth/auth.module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAId,MAAM,gBAAgB,CAAC;AAoBxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAwJ5D,qBAMa,UAAU;IACrB,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAE,iBAAsB,GAAG,aAAa;CAShE"}
|
package/dist/auth/auth.module.js
CHANGED
|
@@ -13,6 +13,8 @@ const jwt_1 = require("@nestjs/jwt");
|
|
|
13
13
|
const passport_1 = require("@nestjs/passport");
|
|
14
14
|
const typeorm_1 = require("@nestjs/typeorm");
|
|
15
15
|
const common_module_1 = require("../common/common.module");
|
|
16
|
+
const notification_module_1 = require("../notification/notification.module");
|
|
17
|
+
const tenant_user_invited_mail_job_1 = require("../notification/jobs/tenant.user.invited.mail.job");
|
|
16
18
|
const audit_service_1 = require("../common/services/audit.service");
|
|
17
19
|
const cache_service_1 = require("../common/services/cache.service");
|
|
18
20
|
const encryption_service_1 = require("../common/services/encryption.service");
|
|
@@ -25,10 +27,11 @@ const jwt_middleware_1 = require("./middlewares/jwt.middleware");
|
|
|
25
27
|
const admin_jwt_middleware_1 = require("./middlewares/admin.jwt.middleware");
|
|
26
28
|
const api_key_middleware_1 = require("./middlewares/api.key.middleware");
|
|
27
29
|
const es6_classes_1 = require("./es6.classes");
|
|
28
|
-
const [ApiKeyService, ScopeService, AuthService, AdminAuthService, GoogleAuthService, RoleService, ImpersonationService,] = es6_classes_1.es6Classes.services;
|
|
29
|
-
function createAuthImports() {
|
|
30
|
+
const [ApiKeyService, ScopeService, AuthService, AdminAuthService, GoogleAuthService, RoleService, ImpersonationService, TenantMembershipService, TenantInvitationService,] = es6_classes_1.es6Classes.services;
|
|
31
|
+
function createAuthImports(options) {
|
|
30
32
|
return [
|
|
31
33
|
common_module_1.CommonModule,
|
|
34
|
+
options ? notification_module_1.NotificationModule.register(options) : notification_module_1.NotificationModule,
|
|
32
35
|
passport_1.PassportModule.register({ defaultStrategy: 'jwt' }),
|
|
33
36
|
jwt_1.JwtModule.registerAsync({
|
|
34
37
|
useFactory: () => ({
|
|
@@ -86,6 +89,20 @@ function createAuthProviders(options = {}) {
|
|
|
86
89
|
(0, typeorm_1.getDataSourceToken)(options.dataSourceName),
|
|
87
90
|
],
|
|
88
91
|
},
|
|
92
|
+
{
|
|
93
|
+
provide: TenantMembershipService,
|
|
94
|
+
useFactory: (authService, dataSource) => new TenantMembershipService(authService, dataSource),
|
|
95
|
+
inject: [AuthService, (0, typeorm_1.getDataSourceToken)(options.dataSourceName)],
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
provide: TenantInvitationService,
|
|
99
|
+
useFactory: (authService, dataSource, invitedMailJob) => new TenantInvitationService(authService, dataSource, invitedMailJob),
|
|
100
|
+
inject: [
|
|
101
|
+
AuthService,
|
|
102
|
+
(0, typeorm_1.getDataSourceToken)(options.dataSourceName),
|
|
103
|
+
tenant_user_invited_mail_job_1.TenantUserInvitedMailJob,
|
|
104
|
+
],
|
|
105
|
+
},
|
|
89
106
|
GoogleAuthService,
|
|
90
107
|
jwt_strategy_1.JwtStrategy,
|
|
91
108
|
jwt_refresh_strategy_1.JwtRefreshStrategy,
|
|
@@ -101,6 +118,8 @@ const authExports = [
|
|
|
101
118
|
AuthService,
|
|
102
119
|
AdminAuthService,
|
|
103
120
|
ImpersonationService,
|
|
121
|
+
TenantMembershipService,
|
|
122
|
+
TenantInvitationService,
|
|
104
123
|
ApiKeyService,
|
|
105
124
|
ScopeService,
|
|
106
125
|
RoleService,
|
|
@@ -118,7 +137,7 @@ let AuthModule = AuthModule_1 = class AuthModule {
|
|
|
118
137
|
static register(options = {}) {
|
|
119
138
|
return {
|
|
120
139
|
module: AuthModule_1,
|
|
121
|
-
imports: createAuthImports(),
|
|
140
|
+
imports: createAuthImports(options),
|
|
122
141
|
controllers: [...es6_classes_1.es6Classes.controllers],
|
|
123
142
|
providers: createAuthProviders(options),
|
|
124
143
|
exports: authExports,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../../src/auth/auth.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAKwB;AACxB,qCAAoE;AACpE,+CAAkD;AAClD,6CAAqD;AAErD,2DAAuD;AACvD,oEAAgE;AAChE,oEAAgE;AAChE,8EAA0E;AAC1E,0DAAqD;AACrD,4DAAuD;AACvD,kEAA6D;AAC7D,0EAAqE;AACrE,0DAAsD;AACtD,iEAA6D;AAC7D,6EAAwE;AACxE,yEAAoE;AACpE,+CAA2C;AAI3C,MAAM,CACJ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,oBAAoB,
|
|
1
|
+
{"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../../src/auth/auth.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { Request } from 'express';
|
|
2
2
|
import { AuthService } from '../services/auth.service';
|
|
3
3
|
import { GoogleAuthService } from '../services/google.auth.service';
|
|
4
|
-
import {
|
|
4
|
+
import { TenantMembershipService } from '../services/tenant.membership.service';
|
|
5
|
+
import { TenantInvitationService } from '../services/tenant.invitation.service';
|
|
6
|
+
import { AuthTokenPair, CurrentUserProfile } from '../types/auth.types';
|
|
5
7
|
import { LoginDto } from '../dtos/login.dto';
|
|
6
8
|
import { GoogleLoginDto } from '../dtos/google.login.dto';
|
|
7
9
|
import { RegisterDto } from '../dtos/register.dto';
|
|
@@ -10,12 +12,10 @@ import { ChangePasswordDto } from '../dtos/change.password.dto';
|
|
|
10
12
|
export declare class AuthController {
|
|
11
13
|
private readonly authService;
|
|
12
14
|
private readonly googleAuthService;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
organization: AuthenticatedAccess['organization'];
|
|
18
|
-
}>;
|
|
15
|
+
private readonly tenantMembershipService;
|
|
16
|
+
private readonly tenantInvitationService;
|
|
17
|
+
constructor(authService: AuthService, googleAuthService: GoogleAuthService, tenantMembershipService: TenantMembershipService, tenantInvitationService: TenantInvitationService);
|
|
18
|
+
me(): Promise<CurrentUserProfile>;
|
|
19
19
|
login(dto: LoginDto, request: Request): Promise<AuthTokenPair>;
|
|
20
20
|
googleLogin(dto: GoogleLoginDto, request: Request): Promise<AuthTokenPair>;
|
|
21
21
|
register(dto: RegisterDto, request: Request): Promise<AuthTokenPair>;
|
|
@@ -26,6 +26,7 @@ export declare class AuthController {
|
|
|
26
26
|
changePassword(dto: ChangePasswordDto): Promise<{
|
|
27
27
|
success: true;
|
|
28
28
|
}>;
|
|
29
|
+
private signIn;
|
|
29
30
|
private contextOf;
|
|
30
31
|
}
|
|
31
32
|
//# sourceMappingURL=auth.controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.controller.d.ts","sourceRoot":"","sources":["../../../src/auth/controllers/auth.controller.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,
|
|
1
|
+
{"version":3,"file":"auth.controller.d.ts","sourceRoot":"","sources":["../../../src/auth/controllers/auth.controller.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAEhF,OAAO,EACL,aAAa,EACb,kBAAkB,EAEnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAKhE,qBAEa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;gBAHvB,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,iBAAiB,EACpC,uBAAuB,EAAE,uBAAuB,EAChD,uBAAuB,EAAE,uBAAuB;IAU7D,EAAE,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAuBjC,KAAK,CACD,GAAG,EAAE,QAAQ,EACd,OAAO,EAAE,OAAO,GACtB,OAAO,CAAC,aAAa,CAAC;IAanB,WAAW,CACP,GAAG,EAAE,cAAc,EACpB,OAAO,EAAE,OAAO,GACtB,OAAO,CAAC,aAAa,CAAC;IAWnB,QAAQ,CACJ,GAAG,EAAE,WAAW,EACjB,OAAO,EAAE,OAAO,GACtB,OAAO,CAAC,aAAa,CAAC;IAOnB,OAAO,CACH,GAAG,EAAE,eAAe,EACrB,OAAO,EAAE,OAAO,GACtB,OAAO,CAAC,aAAa,CAAC;IAWnB,MAAM,CAAS,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;IAahE,cAAc,CACV,GAAG,EAAE,iBAAiB,GAC7B,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;YAMf,MAAM;IAUpB,OAAO,CAAC,SAAS;CAMlB"}
|
|
@@ -17,6 +17,8 @@ const common_1 = require("@nestjs/common");
|
|
|
17
17
|
const swagger_1 = require("@nestjs/swagger");
|
|
18
18
|
const auth_service_1 = require("../services/auth.service");
|
|
19
19
|
const google_auth_service_1 = require("../services/google.auth.service");
|
|
20
|
+
const tenant_membership_service_1 = require("../services/tenant.membership.service");
|
|
21
|
+
const tenant_invitation_service_1 = require("../services/tenant.invitation.service");
|
|
20
22
|
const login_dto_1 = require("../dtos/login.dto");
|
|
21
23
|
const google_login_dto_1 = require("../dtos/google.login.dto");
|
|
22
24
|
const register_dto_1 = require("../dtos/register.dto");
|
|
@@ -25,29 +27,38 @@ const change_password_dto_1 = require("../dtos/change.password.dto");
|
|
|
25
27
|
const register_user_data_processor_1 = require("../processors/register.user.data.processor");
|
|
26
28
|
const google_user_data_processor_1 = require("../processors/google.user.data.processor");
|
|
27
29
|
const change_password_data_processor_1 = require("../processors/change.password.data.processor");
|
|
28
|
-
const tenant_entity_1 = require("../../tenant/entities/tenant.entity");
|
|
29
30
|
let AuthController = class AuthController {
|
|
30
|
-
constructor(authService, googleAuthService) {
|
|
31
|
+
constructor(authService, googleAuthService, tenantMembershipService, tenantInvitationService) {
|
|
31
32
|
this.authService = authService;
|
|
32
33
|
this.googleAuthService = googleAuthService;
|
|
34
|
+
this.tenantMembershipService = tenantMembershipService;
|
|
35
|
+
this.tenantInvitationService = tenantInvitationService;
|
|
33
36
|
}
|
|
34
37
|
async me() {
|
|
35
|
-
const { user, roles } = await this.authService.
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
const { user, roles } = await this.authService.validateIdentity();
|
|
39
|
+
const [current, organizations, invitations] = await Promise.all([
|
|
40
|
+
this.tenantMembershipService.sessionOrganization(user),
|
|
41
|
+
this.tenantMembershipService.organizationsOf(user.id),
|
|
42
|
+
this.tenantInvitationService.pendingFor(user),
|
|
43
|
+
]);
|
|
44
|
+
return {
|
|
45
|
+
user,
|
|
46
|
+
roles,
|
|
47
|
+
organization: current?.name ?? null,
|
|
48
|
+
organizations,
|
|
49
|
+
invitations,
|
|
50
|
+
};
|
|
40
51
|
}
|
|
41
52
|
async login(dto, request) {
|
|
42
53
|
const user = await this.authService.validateCredentials(dto.email, dto.password);
|
|
43
54
|
this.authService.assertTenantLogin(user);
|
|
44
|
-
return this.
|
|
55
|
+
return this.signIn(user, request);
|
|
45
56
|
}
|
|
46
57
|
async googleLogin(dto, request) {
|
|
47
58
|
const tokenInfo = await this.googleAuthService.verifyIdToken(dto.id_token);
|
|
48
59
|
const user = await new google_user_data_processor_1.GoogleUserDataProcessor().process(tokenInfo);
|
|
49
60
|
this.authService.assertTenantLogin(user);
|
|
50
|
-
return this.
|
|
61
|
+
return this.signIn(user, request);
|
|
51
62
|
}
|
|
52
63
|
async register(dto, request) {
|
|
53
64
|
const user = await new register_user_data_processor_1.RegisterUserDataProcessor().process(dto);
|
|
@@ -61,10 +72,16 @@ let AuthController = class AuthController {
|
|
|
61
72
|
return { success: true };
|
|
62
73
|
}
|
|
63
74
|
async changePassword(dto) {
|
|
64
|
-
const { user } = await this.authService.
|
|
75
|
+
const { user } = await this.authService.validateIdentity();
|
|
65
76
|
await new change_password_data_processor_1.ChangePasswordDataProcessor(user.id).process(dto);
|
|
66
77
|
return { success: true };
|
|
67
78
|
}
|
|
79
|
+
async signIn(user, request) {
|
|
80
|
+
return this.authService.issueTokens(user, {
|
|
81
|
+
...this.contextOf(request),
|
|
82
|
+
tenant_id: await this.tenantMembershipService.landingTenant(user),
|
|
83
|
+
});
|
|
84
|
+
}
|
|
68
85
|
contextOf(request) {
|
|
69
86
|
return {
|
|
70
87
|
ip_address: request.ip,
|
|
@@ -78,6 +95,7 @@ __decorate([
|
|
|
78
95
|
(0, swagger_1.ApiBearerAuth)(),
|
|
79
96
|
(0, swagger_1.ApiOperation)({
|
|
80
97
|
summary: 'Resolve the current authenticated user and roles.',
|
|
98
|
+
description: "`roles` and `organization` belong to the session's organization. `organizations` lists every one the user may switch to, and `invitations` the pending ones addressed to them. Reachable while `user.password_change_required` is set — every other endpoint refuses until the one-time password is changed.",
|
|
81
99
|
}),
|
|
82
100
|
__metadata("design:type", Function),
|
|
83
101
|
__metadata("design:paramtypes", []),
|
|
@@ -87,6 +105,7 @@ __decorate([
|
|
|
87
105
|
(0, common_1.Post)('login'),
|
|
88
106
|
(0, swagger_1.ApiOperation)({
|
|
89
107
|
summary: 'Authenticate and receive an access/refresh token pair.',
|
|
108
|
+
description: 'The session works in the organization last switched to, or the first the user belongs to; it has none when they belong to none.',
|
|
90
109
|
}),
|
|
91
110
|
__param(0, (0, common_1.Body)()),
|
|
92
111
|
__param(1, (0, common_1.Req)()),
|
|
@@ -141,7 +160,10 @@ __decorate([
|
|
|
141
160
|
(0, common_1.Post)('change-password'),
|
|
142
161
|
(0, common_1.HttpCode)(common_1.HttpStatus.OK),
|
|
143
162
|
(0, swagger_1.ApiBearerAuth)(),
|
|
144
|
-
(0, swagger_1.ApiOperation)({
|
|
163
|
+
(0, swagger_1.ApiOperation)({
|
|
164
|
+
summary: `Change the authenticated user's password.`,
|
|
165
|
+
description: 'Also how a one-time password is replaced: send it as `current_password`. Clears `password_change_required`.',
|
|
166
|
+
}),
|
|
145
167
|
__param(0, (0, common_1.Body)()),
|
|
146
168
|
__metadata("design:type", Function),
|
|
147
169
|
__metadata("design:paramtypes", [change_password_dto_1.ChangePasswordDto]),
|
|
@@ -151,6 +173,8 @@ exports.AuthController = AuthController = __decorate([
|
|
|
151
173
|
(0, swagger_1.ApiTags)('Auth'),
|
|
152
174
|
(0, common_1.Controller)('api/auth'),
|
|
153
175
|
__metadata("design:paramtypes", [auth_service_1.AuthService,
|
|
154
|
-
google_auth_service_1.GoogleAuthService
|
|
176
|
+
google_auth_service_1.GoogleAuthService,
|
|
177
|
+
tenant_membership_service_1.TenantMembershipService,
|
|
178
|
+
tenant_invitation_service_1.TenantInvitationService])
|
|
155
179
|
], AuthController);
|
|
156
180
|
//# sourceMappingURL=auth.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../../src/auth/controllers/auth.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAQwB;AACxB,6CAAuE;AAEvE,2DAAuD;AACvD,yEAAoE;
|
|
1
|
+
{"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../../src/auth/controllers/auth.controller.ts"],"names":[],"mappings":"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"}
|