@neohm/nestend 4.0.1 → 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 +61 -12
- package/dist/admin/controllers/admin.api.key.controller.d.ts +3 -1
- package/dist/admin/controllers/admin.api.key.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.api.key.controller.js +6 -3
- package/dist/admin/controllers/admin.api.key.controller.js.map +1 -1
- package/dist/admin/controllers/admin.scope.controller.d.ts +2 -0
- package/dist/admin/controllers/admin.scope.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.scope.controller.js +45 -5
- package/dist/admin/controllers/admin.scope.controller.js.map +1 -1
- 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/dtos/add.scope.dto.d.ts +1 -0
- package/dist/admin/dtos/add.scope.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.scope.dto.js +9 -0
- package/dist/admin/dtos/add.scope.dto.js.map +1 -1
- package/dist/admin/dtos/scope.list.dto.d.ts +1 -0
- package/dist/admin/dtos/scope.list.dto.d.ts.map +1 -1
- package/dist/admin/dtos/scope.list.dto.js +22 -0
- package/dist/admin/dtos/scope.list.dto.js.map +1 -1
- package/dist/admin/es6.classes.d.ts +5 -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/api.key.data.processor.d.ts +3 -1
- package/dist/admin/libraries/api.key.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/api.key.data.processor.js +3 -6
- package/dist/admin/libraries/api.key.data.processor.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/scope.data.processor.d.ts +1 -0
- package/dist/admin/libraries/scope.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/scope.data.processor.js +20 -0
- package/dist/admin/libraries/scope.data.processor.js.map +1 -1
- package/dist/admin/libraries/scope.list.processor.d.ts +2 -0
- package/dist/admin/libraries/scope.list.processor.d.ts.map +1 -1
- package/dist/admin/libraries/scope.list.processor.js +23 -1
- package/dist/admin/libraries/scope.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 +28 -5
- 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/scope.entity.d.ts +2 -0
- package/dist/auth/entities/scope.entity.d.ts.map +1 -1
- package/dist/auth/entities/scope.entity.js +9 -0
- package/dist/auth/entities/scope.entity.js.map +1 -1
- 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/api.key.service.d.ts +3 -1
- package/dist/auth/services/api.key.service.d.ts.map +1 -1
- package/dist/auth/services/api.key.service.js +6 -3
- package/dist/auth/services/api.key.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/scope.service.d.ts +6 -0
- package/dist/auth/services/scope.service.d.ts.map +1 -1
- package/dist/auth/services/scope.service.js +40 -9
- package/dist/auth/services/scope.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/1749600000025.CreateSysScopesTable.d.ts.map +1 -1
- package/dist/migrations/1749600000025.CreateSysScopesTable.js +7 -0
- package/dist/migrations/1749600000025.CreateSysScopesTable.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.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"}
|
|
@@ -8,6 +8,7 @@ export declare class ScopeDataProcessor extends CommonDataProcessor {
|
|
|
8
8
|
constructor(actor: AdminUserEntity);
|
|
9
9
|
process(payload: AddScopeDto): Promise<ScopeEntity>;
|
|
10
10
|
private validate;
|
|
11
|
+
private validateParent;
|
|
11
12
|
private set;
|
|
12
13
|
}
|
|
13
14
|
//# sourceMappingURL=scope.data.processor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.data.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/scope.data.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"scope.data.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/scope.data.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAUpD,qBAAa,kBAAmB,SAAQ,mBAAmB;IAG7C,OAAO,CAAC,QAAQ,CAAC,KAAK;IAFlC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC;gBAEF,KAAK,EAAE,eAAe;IAI7C,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YAM3C,QAAQ;YAsBR,cAAc;YA6Bd,GAAG;CAsBlB"}
|
|
@@ -22,8 +22,27 @@ class ScopeDataProcessor extends common_data_processor_1.CommonDataProcessor {
|
|
|
22
22
|
});
|
|
23
23
|
if (owner && owner.id !== body.id)
|
|
24
24
|
this.setColumnError('identifier', 'A scope with this identifier already exists');
|
|
25
|
+
await this.validateParent();
|
|
25
26
|
this.raiseExceptionOnValidationFailure();
|
|
26
27
|
}
|
|
28
|
+
async validateParent() {
|
|
29
|
+
const body = this.payload;
|
|
30
|
+
if (!body.parent_id)
|
|
31
|
+
return;
|
|
32
|
+
if (body.parent_id === body.id) {
|
|
33
|
+
this.setColumnError('parent_id', 'A scope cannot be its own parent');
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const parent = await scope_entity_1.ScopeEntity.findOne({ where: { id: body.parent_id } });
|
|
37
|
+
if (!parent) {
|
|
38
|
+
this.setColumnError('parent_id', 'No scope exists for this parent id');
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (parent.parent_id)
|
|
42
|
+
this.setColumnError('parent_id', 'That scope is itself a child — a child scope cannot hold children');
|
|
43
|
+
if (body.id && (await scope_entity_1.ScopeEntity.existsBy({ parent_id: body.id })))
|
|
44
|
+
this.setColumnError('parent_id', 'This scope has children of its own and cannot become a child');
|
|
45
|
+
}
|
|
27
46
|
async set() {
|
|
28
47
|
const body = this.payload;
|
|
29
48
|
let scope = scope_entity_1.ScopeEntity.create({ created_by: this.actor.id });
|
|
@@ -37,6 +56,7 @@ class ScopeDataProcessor extends common_data_processor_1.CommonDataProcessor {
|
|
|
37
56
|
scope.identifier = body.identifier;
|
|
38
57
|
scope.name = body.name;
|
|
39
58
|
scope.description = body.description;
|
|
59
|
+
scope.parent_id = body.parent_id ?? null;
|
|
40
60
|
await scope.save();
|
|
41
61
|
return scope;
|
|
42
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/scope.data.processor.ts"],"names":[],"mappings":";;;AAAA,wFAAmF;AAEnF,mEAA+D;
|
|
1
|
+
{"version":3,"file":"scope.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/scope.data.processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,10 @@ import { ListFilterService } from '../../common/services/list.filter.service';
|
|
|
4
4
|
import { ScopeListDto } from '../dtos/scope.list.dto';
|
|
5
5
|
export declare class ScopeListProcessor extends CommonListProcessor {
|
|
6
6
|
protected readonly listFilterService: ListFilterService;
|
|
7
|
+
protected payload: ScopeListDto;
|
|
7
8
|
protected config: CommonListFilterConfig;
|
|
8
9
|
constructor(listFilterService: ListFilterService);
|
|
9
10
|
process(payload: ScopeListDto): Promise<import("../../common/types/list.types").CommonListResult>;
|
|
11
|
+
protected applyCustomPredicates(): void;
|
|
10
12
|
}
|
|
11
13
|
//# sourceMappingURL=scope.list.processor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.list.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/scope.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;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"scope.list.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/scope.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;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAWtD,qBAAa,kBAAmB,SAAQ,mBAAmB;IAsC7C,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IArCnE,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC;IAEhC,SAAS,CAAC,MAAM,EAAE,sBAAsB,CAiCtC;gBAE6B,iBAAiB,EAAE,iBAAiB;IAI7D,OAAO,CAAC,OAAO,EAAE,YAAY;IAKnC,SAAS,CAAC,qBAAqB;CAIhC"}
|
|
@@ -9,12 +9,30 @@ class ScopeListProcessor extends common_list_processor_1.CommonListProcessor {
|
|
|
9
9
|
super();
|
|
10
10
|
this.listFilterService = listFilterService;
|
|
11
11
|
this.config = {
|
|
12
|
-
query:
|
|
12
|
+
query: `sys_scopes s
|
|
13
|
+
left join sys_scopes p on p.id = s.parent_id and p.deleted_at is null
|
|
14
|
+
left join lateral (
|
|
15
|
+
select count(*) total
|
|
16
|
+
from sys_scopes c
|
|
17
|
+
where c.parent_id = s.id and c.deleted_at is null
|
|
18
|
+
) ch on true`,
|
|
13
19
|
columns: [
|
|
14
20
|
{ key: 's.id', identifier: 'id', type: filter_value_type_enum_1.FilterValueTypeEnum.UUID },
|
|
15
21
|
{ key: 's.identifier', identifier: 'identifier', searchable: true },
|
|
16
22
|
{ key: 's.name', identifier: 'name', searchable: true },
|
|
17
23
|
{ key: 's.description', identifier: 'description', searchable: true },
|
|
24
|
+
{
|
|
25
|
+
key: 's.parent_id',
|
|
26
|
+
identifier: 'parent_id',
|
|
27
|
+
type: filter_value_type_enum_1.FilterValueTypeEnum.UUID,
|
|
28
|
+
},
|
|
29
|
+
{ key: 'p.identifier', identifier: 'parent_identifier' },
|
|
30
|
+
{ key: 'p.name', identifier: 'parent_name' },
|
|
31
|
+
{
|
|
32
|
+
key: 'ch.total',
|
|
33
|
+
identifier: 'child_count',
|
|
34
|
+
type: filter_value_type_enum_1.FilterValueTypeEnum.NUMBER,
|
|
35
|
+
},
|
|
18
36
|
{
|
|
19
37
|
key: 's.created_at',
|
|
20
38
|
identifier: 'created_at',
|
|
@@ -29,6 +47,10 @@ class ScopeListProcessor extends common_list_processor_1.CommonListProcessor {
|
|
|
29
47
|
this.payload = payload;
|
|
30
48
|
return this.handle();
|
|
31
49
|
}
|
|
50
|
+
applyCustomPredicates() {
|
|
51
|
+
if (this.payload.parent_id)
|
|
52
|
+
this.predicates.add('s.parent_id = :value', this.payload.parent_id);
|
|
53
|
+
}
|
|
32
54
|
}
|
|
33
55
|
exports.ScopeListProcessor = ScopeListProcessor;
|
|
34
56
|
//# sourceMappingURL=scope.list.processor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.list.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/scope.list.processor.ts"],"names":[],"mappings":";;;AAAA,gFAAuE;AACvE,sFAAgF;AAChF,wFAAmF;
|
|
1
|
+
{"version":3,"file":"scope.list.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/scope.list.processor.ts"],"names":[],"mappings":";;;AAAA,gFAAuE;AACvE,sFAAgF;AAChF,wFAAmF;AAcnF,MAAa,kBAAmB,SAAQ,2CAAmB;IAsCzD,YAA+B,iBAAoC;QACjE,KAAK,EAAE,CAAC;QADqB,sBAAiB,GAAjB,iBAAiB,CAAmB;QAnCzD,WAAM,GAA2B;YACzC,KAAK,EAAE;;;;;;mBAMQ;YACf,OAAO,EAAE;gBACP,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,4CAAmB,CAAC,IAAI,EAAE;gBACjE,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE;gBACnE,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE;gBACvD,EAAE,GAAG,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE;gBACrE;oBACE,GAAG,EAAE,aAAa;oBAClB,UAAU,EAAE,WAAW;oBACvB,IAAI,EAAE,4CAAmB,CAAC,IAAI;iBAC/B;gBACD,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE;gBACxD,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE;gBAC5C;oBACE,GAAG,EAAE,UAAU;oBACf,UAAU,EAAE,aAAa;oBACzB,IAAI,EAAE,4CAAmB,CAAC,MAAM;iBACjC;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,MAAM,EAAE,SAAS,EAAE,mCAAa,CAAC,GAAG,EAAE;SAC7D,CAAC;IAIF,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAqB;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAES,qBAAqB;QAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS;YACxB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxE,CAAC;CACF;AAnDD,gDAmDC"}
|
|
@@ -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":"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"}
|
|
@@ -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: () => ({
|
|
@@ -60,8 +63,12 @@ function createAuthProviders(options = {}) {
|
|
|
60
63
|
},
|
|
61
64
|
{
|
|
62
65
|
provide: ApiKeyService,
|
|
63
|
-
useFactory: (dataSource, encryptionService) => new ApiKeyService(dataSource, encryptionService),
|
|
64
|
-
inject: [
|
|
66
|
+
useFactory: (dataSource, encryptionService, scopeService) => new ApiKeyService(dataSource, encryptionService, scopeService),
|
|
67
|
+
inject: [
|
|
68
|
+
(0, typeorm_1.getDataSourceToken)(options.dataSourceName),
|
|
69
|
+
encryption_service_1.EncryptionService,
|
|
70
|
+
ScopeService,
|
|
71
|
+
],
|
|
65
72
|
},
|
|
66
73
|
{
|
|
67
74
|
provide: ScopeService,
|
|
@@ -82,6 +89,20 @@ function createAuthProviders(options = {}) {
|
|
|
82
89
|
(0, typeorm_1.getDataSourceToken)(options.dataSourceName),
|
|
83
90
|
],
|
|
84
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
|
+
},
|
|
85
106
|
GoogleAuthService,
|
|
86
107
|
jwt_strategy_1.JwtStrategy,
|
|
87
108
|
jwt_refresh_strategy_1.JwtRefreshStrategy,
|
|
@@ -97,6 +118,8 @@ const authExports = [
|
|
|
97
118
|
AuthService,
|
|
98
119
|
AdminAuthService,
|
|
99
120
|
ImpersonationService,
|
|
121
|
+
TenantMembershipService,
|
|
122
|
+
TenantInvitationService,
|
|
100
123
|
ApiKeyService,
|
|
101
124
|
ScopeService,
|
|
102
125
|
RoleService,
|
|
@@ -114,7 +137,7 @@ let AuthModule = AuthModule_1 = class AuthModule {
|
|
|
114
137
|
static register(options = {}) {
|
|
115
138
|
return {
|
|
116
139
|
module: AuthModule_1,
|
|
117
|
-
imports: createAuthImports(),
|
|
140
|
+
imports: createAuthImports(options),
|
|
118
141
|
controllers: [...es6_classes_1.es6Classes.controllers],
|
|
119
142
|
providers: createAuthProviders(options),
|
|
120
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":";;;;;;;;;;;;;;;AAAA,2CAQwB;AACxB,6CAAuE;AAEvE,2DAAuD;AACvD,yEAAoE;AACpE,qFAAgF;AAChF,qFAAgF;AAOhF,iDAA6C;AAC7C,+DAA0D;AAC1D,uDAAmD;AACnD,iEAA4D;AAC5D,qEAAgE;AAChE,6FAAuF;AACvF,yFAAmF;AACnF,iGAA2F;AAIpF,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YACmB,WAAwB,EACxB,iBAAoC,EACpC,uBAAgD,EAChD,uBAAgD;QAHhD,gBAAW,GAAX,WAAW,CAAa;QACxB,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,4BAAuB,GAAvB,uBAAuB,CAAyB;IAChE,CAAC;IASE,AAAN,KAAK,CAAC,EAAE;QACN,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;QAClE,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC9D,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,IAAI,CAAC;YACtD,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,IAAI,CAAC;SAC9C,CAAC,CAAC;QAEH,OAAO;YACL,IAAI;YACJ,KAAK;YACL,YAAY,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI;YACnC,aAAa;YACb,WAAW;SACZ,CAAC;IACJ,CAAC;IAQK,AAAN,KAAK,CAAC,KAAK,CACD,GAAa,EACd,OAAgB;QAEvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,CACrD,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,QAAQ,CACb,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAMK,AAAN,KAAK,CAAC,WAAW,CACP,GAAmB,EACpB,OAAgB;QAEvB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,MAAM,IAAI,oDAAuB,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAMK,AAAN,KAAK,CAAC,QAAQ,CACJ,GAAgB,EACjB,OAAgB;QAEvB,MAAM,IAAI,GAAG,MAAM,IAAI,wDAAyB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACrE,CAAC;IAIK,AAAN,KAAK,CAAC,OAAO,CACH,GAAoB,EACrB,OAAgB;QAEvB,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9E,CAAC;IASK,AAAN,KAAK,CAAC,MAAM,CAAS,GAAoB;QACvC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACjD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAUK,AAAN,KAAK,CAAC,cAAc,CACV,GAAsB;QAE9B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;QAC3D,MAAM,IAAI,4DAA2B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,MAAM,CAClB,IAAgB,EAChB,OAAgB;QAEhB,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE;YACxC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAC1B,SAAS,EAAE,MAAM,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,IAAI,CAAC;SAClE,CAAC,CAAC;IACL,CAAC;IAEO,SAAS,CAAC,OAAgB;QAChC,OAAO;YACL,UAAU,EAAE,OAAO,CAAC,EAAE;YACtB,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;SAC1C,CAAC;IACJ,CAAC;CACF,CAAA;AAjIY,wCAAc;AAenB;IAPL,IAAA,YAAG,EAAC,IAAI,CAAC;IACT,IAAA,uBAAa,GAAE;IACf,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,mDAAmD;QAC5D,WAAW,EACT,8SAA8S;KACjT,CAAC;;;;wCAgBD;AAQK;IANL,IAAA,aAAI,EAAC,OAAO,CAAC;IACb,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,wDAAwD;QACjE,WAAW,EACT,iIAAiI;KACpI,CAAC;IAEC,WAAA,IAAA,aAAI,GAAE,CAAA;IACN,WAAA,IAAA,YAAG,GAAE,CAAA;;qCADO,oBAAQ;;2CAStB;AAMK;IAJL,IAAA,aAAI,EAAC,QAAQ,CAAC;IACd,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,yDAAyD;KACnE,CAAC;IAEC,WAAA,IAAA,aAAI,GAAE,CAAA;IACN,WAAA,IAAA,YAAG,GAAE,CAAA;;qCADO,iCAAc;;iDAO5B;AAMK;IAJL,IAAA,aAAI,EAAC,UAAU,CAAC;IAChB,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,qDAAqD;KAC/D,CAAC;IAEC,WAAA,IAAA,aAAI,GAAE,CAAA;IACN,WAAA,IAAA,YAAG,GAAE,CAAA;;qCADO,0BAAW;;8CAKzB;AAIK;IAFL,IAAA,aAAI,EAAC,SAAS,CAAC;IACf,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,kDAAkD,EAAE,CAAC;IAE3E,WAAA,IAAA,aAAI,GAAE,CAAA;IACN,WAAA,IAAA,YAAG,GAAE,CAAA;;qCADO,mCAAe;;6CAI7B;AASK;IAPL,IAAA,aAAI,EAAC,QAAQ,CAAC;IACd,IAAA,iBAAQ,EAAC,mBAAU,CAAC,EAAE,CAAC;IACvB,IAAA,uBAAa,GAAE;IACf,IAAA,sBAAY,EAAC;QACZ,OAAO,EACL,uEAAuE;KAC1E,CAAC;IACY,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,mCAAe;;4CAGxC;AAUK;IARL,IAAA,aAAI,EAAC,iBAAiB,CAAC;IACvB,IAAA,iBAAQ,EAAC,mBAAU,CAAC,EAAE,CAAC;IACvB,IAAA,uBAAa,GAAE;IACf,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,2CAA2C;QACpD,WAAW,EACT,6GAA6G;KAChH,CAAC;IAEC,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,uCAAiB;;oDAK/B;yBA/GU,cAAc;IAF1B,IAAA,iBAAO,EAAC,MAAM,CAAC;IACf,IAAA,mBAAU,EAAC,UAAU,CAAC;qCAGW,0BAAW;QACL,uCAAiB;QACX,mDAAuB;QACvB,mDAAuB;GALxD,cAAc,CAiI1B"}
|