@neohm/nestend 4.1.1 → 5.0.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 +68 -14
- package/dist/admin/admin.module.d.ts.map +1 -1
- package/dist/admin/admin.module.js +9 -1
- package/dist/admin/admin.module.js.map +1 -1
- package/dist/admin/controllers/admin.api.key.controller.d.ts +13 -5
- package/dist/admin/controllers/admin.api.key.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.api.key.controller.js +71 -23
- package/dist/admin/controllers/admin.api.key.controller.js.map +1 -1
- package/dist/admin/controllers/admin.email.template.controller.d.ts +2 -3
- package/dist/admin/controllers/admin.email.template.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.email.template.controller.js +13 -11
- package/dist/admin/controllers/admin.email.template.controller.js.map +1 -1
- package/dist/admin/controllers/admin.pdf.template.controller.d.ts +2 -3
- package/dist/admin/controllers/admin.pdf.template.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.pdf.template.controller.js +13 -11
- package/dist/admin/controllers/admin.pdf.template.controller.js.map +1 -1
- package/dist/admin/controllers/admin.role.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.role.controller.js +2 -0
- package/dist/admin/controllers/admin.role.controller.js.map +1 -1
- package/dist/admin/controllers/admin.scheduled.task.controller.d.ts +5 -4
- package/dist/admin/controllers/admin.scheduled.task.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.scheduled.task.controller.js +19 -14
- package/dist/admin/controllers/admin.scheduled.task.controller.js.map +1 -1
- package/dist/admin/controllers/admin.scope.controller.d.ts +4 -5
- package/dist/admin/controllers/admin.scope.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.scope.controller.js +45 -27
- package/dist/admin/controllers/admin.scope.controller.js.map +1 -1
- package/dist/admin/controllers/admin.system.user.controller.d.ts +1 -2
- package/dist/admin/controllers/admin.system.user.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.system.user.controller.js +12 -8
- package/dist/admin/controllers/admin.system.user.controller.js.map +1 -1
- package/dist/admin/controllers/admin.tenant.controller.d.ts +2 -3
- package/dist/admin/controllers/admin.tenant.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.tenant.controller.js +12 -10
- package/dist/admin/controllers/admin.tenant.controller.js.map +1 -1
- package/dist/admin/controllers/admin.tenant.user.controller.d.ts +12 -6
- package/dist/admin/controllers/admin.tenant.user.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.tenant.user.controller.js +55 -24
- package/dist/admin/controllers/admin.tenant.user.controller.js.map +1 -1
- package/dist/admin/controllers/admin.user.controller.d.ts +3 -3
- package/dist/admin/controllers/admin.user.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.user.controller.js +22 -8
- package/dist/admin/controllers/admin.user.controller.js.map +1 -1
- package/dist/admin/controllers/system.role.controller.d.ts +2 -3
- package/dist/admin/controllers/system.role.controller.d.ts.map +1 -1
- package/dist/admin/controllers/system.role.controller.js +34 -14
- package/dist/admin/controllers/system.role.controller.js.map +1 -1
- package/dist/admin/dtos/add.admin.user.dto.d.ts +1 -0
- package/dist/admin/dtos/add.admin.user.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.admin.user.dto.js +27 -4
- package/dist/admin/dtos/add.admin.user.dto.js.map +1 -1
- package/dist/admin/dtos/add.api.key.dto.d.ts +1 -1
- package/dist/admin/dtos/add.api.key.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.api.key.dto.js +5 -1
- package/dist/admin/dtos/add.api.key.dto.js.map +1 -1
- package/dist/admin/dtos/add.bulk.users.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.bulk.users.dto.js +6 -2
- package/dist/admin/dtos/add.bulk.users.dto.js.map +1 -1
- package/dist/admin/dtos/add.client.membership.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.client.membership.dto.js +4 -1
- package/dist/admin/dtos/add.client.membership.dto.js.map +1 -1
- package/dist/admin/dtos/add.client.user.dto.d.ts +1 -1
- package/dist/admin/dtos/add.client.user.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.client.user.dto.js +5 -2
- package/dist/admin/dtos/add.client.user.dto.js.map +1 -1
- package/dist/admin/dtos/add.email.template.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.email.template.dto.js +9 -6
- package/dist/admin/dtos/add.email.template.dto.js.map +1 -1
- package/dist/admin/dtos/add.pdf.template.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.pdf.template.dto.js +9 -6
- package/dist/admin/dtos/add.pdf.template.dto.js.map +1 -1
- package/dist/admin/dtos/add.scheduled.task.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.scheduled.task.dto.js +16 -3
- package/dist/admin/dtos/add.scheduled.task.dto.js.map +1 -1
- package/dist/admin/dtos/add.scope.dto.d.ts +1 -1
- package/dist/admin/dtos/add.scope.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.scope.dto.js +7 -4
- package/dist/admin/dtos/add.scope.dto.js.map +1 -1
- package/dist/admin/dtos/add.system.role.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.system.role.dto.js +6 -4
- package/dist/admin/dtos/add.system.role.dto.js.map +1 -1
- package/dist/admin/dtos/add.tenant.dto.d.ts +1 -1
- package/dist/admin/dtos/add.tenant.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.tenant.dto.js +20 -5
- package/dist/admin/dtos/add.tenant.dto.js.map +1 -1
- package/dist/admin/dtos/base.user.dto.d.ts.map +1 -1
- package/dist/admin/dtos/base.user.dto.js +5 -1
- package/dist/admin/dtos/base.user.dto.js.map +1 -1
- package/dist/admin/enums/admin.default.enum.d.ts +17 -0
- package/dist/admin/enums/admin.default.enum.d.ts.map +1 -0
- package/dist/admin/enums/admin.default.enum.js +22 -0
- package/dist/admin/enums/admin.default.enum.js.map +1 -0
- package/dist/admin/libraries/admin.user.data.processor.d.ts +5 -7
- package/dist/admin/libraries/admin.user.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/admin.user.data.processor.js +112 -73
- package/dist/admin/libraries/admin.user.data.processor.js.map +1 -1
- package/dist/admin/libraries/admin.user.delete.processor.d.ts +0 -2
- package/dist/admin/libraries/admin.user.delete.processor.d.ts.map +1 -1
- package/dist/admin/libraries/admin.user.delete.processor.js +26 -39
- package/dist/admin/libraries/admin.user.delete.processor.js.map +1 -1
- package/dist/admin/libraries/api.key.data.processor.d.ts +1 -0
- package/dist/admin/libraries/api.key.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/api.key.data.processor.js +26 -3
- package/dist/admin/libraries/api.key.data.processor.js.map +1 -1
- package/dist/admin/libraries/bulk.user.data.processor.d.ts +4 -1
- package/dist/admin/libraries/bulk.user.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/bulk.user.data.processor.js +39 -3
- package/dist/admin/libraries/bulk.user.data.processor.js.map +1 -1
- package/dist/admin/libraries/catalogue.data.processor.d.ts +15 -0
- package/dist/admin/libraries/catalogue.data.processor.d.ts.map +1 -0
- package/dist/admin/libraries/catalogue.data.processor.js +42 -0
- package/dist/admin/libraries/catalogue.data.processor.js.map +1 -0
- package/dist/admin/libraries/client.membership.data.processor.d.ts +4 -1
- package/dist/admin/libraries/client.membership.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/client.membership.data.processor.js +33 -6
- package/dist/admin/libraries/client.membership.data.processor.js.map +1 -1
- package/dist/admin/libraries/client.user.data.processor.d.ts +7 -1
- package/dist/admin/libraries/client.user.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/client.user.data.processor.js +89 -30
- 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 +11 -0
- package/dist/admin/libraries/client.user.delete.processor.js.map +1 -1
- package/dist/admin/libraries/email.template.data.processor.d.ts +8 -5
- package/dist/admin/libraries/email.template.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/email.template.data.processor.js +49 -29
- package/dist/admin/libraries/email.template.data.processor.js.map +1 -1
- package/dist/admin/libraries/pdf.template.data.processor.d.ts +8 -5
- package/dist/admin/libraries/pdf.template.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/pdf.template.data.processor.js +47 -26
- package/dist/admin/libraries/pdf.template.data.processor.js.map +1 -1
- package/dist/admin/libraries/scheduled.task.data.processor.d.ts +11 -5
- package/dist/admin/libraries/scheduled.task.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/scheduled.task.data.processor.js +81 -38
- package/dist/admin/libraries/scheduled.task.data.processor.js.map +1 -1
- package/dist/admin/libraries/scheduled.task.delete.processor.d.ts.map +1 -1
- package/dist/admin/libraries/scheduled.task.delete.processor.js +14 -3
- package/dist/admin/libraries/scheduled.task.delete.processor.js.map +1 -1
- package/dist/admin/libraries/scope.data.processor.d.ts +9 -5
- package/dist/admin/libraries/scope.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/scope.data.processor.js +62 -27
- package/dist/admin/libraries/scope.data.processor.js.map +1 -1
- package/dist/admin/libraries/system.role.data.processor.d.ts +8 -2
- package/dist/admin/libraries/system.role.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/system.role.data.processor.js +47 -17
- package/dist/admin/libraries/system.role.data.processor.js.map +1 -1
- package/dist/admin/libraries/system.user.data.processor.d.ts +5 -0
- package/dist/admin/libraries/system.user.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/system.user.data.processor.js +52 -22
- package/dist/admin/libraries/system.user.data.processor.js.map +1 -1
- package/dist/admin/libraries/tenant.data.processor.d.ts +1 -1
- package/dist/admin/libraries/tenant.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/tenant.data.processor.js +91 -54
- package/dist/admin/libraries/tenant.data.processor.js.map +1 -1
- package/dist/admin/libraries/tenant.delete.processor.d.ts +1 -0
- package/dist/admin/libraries/tenant.delete.processor.d.ts.map +1 -1
- package/dist/admin/libraries/tenant.delete.processor.js +52 -24
- package/dist/admin/libraries/tenant.delete.processor.js.map +1 -1
- package/dist/admin/libraries/user.data.processor.d.ts +1 -0
- package/dist/admin/libraries/user.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/user.data.processor.js +10 -0
- package/dist/admin/libraries/user.data.processor.js.map +1 -1
- package/dist/admin/services/admin.access.service.d.ts +4 -2
- package/dist/admin/services/admin.access.service.d.ts.map +1 -1
- package/dist/admin/services/admin.access.service.js +15 -7
- package/dist/admin/services/admin.access.service.js.map +1 -1
- package/dist/admin/services/system.user.service.d.ts.map +1 -1
- package/dist/admin/services/system.user.service.js +11 -0
- package/dist/admin/services/system.user.service.js.map +1 -1
- package/dist/admin/services/template.service.d.ts +1 -0
- package/dist/admin/services/template.service.d.ts.map +1 -1
- package/dist/admin/services/template.service.js +24 -11
- package/dist/admin/services/template.service.js.map +1 -1
- package/dist/admin/types/admin.types.d.ts +27 -0
- package/dist/admin/types/admin.types.d.ts.map +1 -1
- package/dist/admin/utilities/admin.audit.d.ts +11 -0
- package/dist/admin/utilities/admin.audit.d.ts.map +1 -0
- package/dist/admin/utilities/admin.audit.js +51 -0
- package/dist/admin/utilities/admin.audit.js.map +1 -0
- package/dist/admin/utilities/admin.policy.d.ts +33 -0
- package/dist/admin/utilities/admin.policy.d.ts.map +1 -0
- package/dist/admin/utilities/admin.policy.js +91 -0
- package/dist/admin/utilities/admin.policy.js.map +1 -0
- package/dist/admin/utilities/bounded.concurrency.d.ts +4 -0
- package/dist/admin/utilities/bounded.concurrency.d.ts.map +1 -0
- package/dist/admin/utilities/bounded.concurrency.js +20 -0
- package/dist/admin/utilities/bounded.concurrency.js.map +1 -0
- package/dist/admin/utilities/scope.grants.d.ts +9 -0
- package/dist/admin/utilities/scope.grants.d.ts.map +1 -0
- package/dist/admin/utilities/scope.grants.js +28 -0
- package/dist/admin/utilities/scope.grants.js.map +1 -0
- package/dist/admin/utilities/super.admin.guard.d.ts +9 -0
- package/dist/admin/utilities/super.admin.guard.d.ts.map +1 -0
- package/dist/admin/utilities/super.admin.guard.js +32 -0
- package/dist/admin/utilities/super.admin.guard.js.map +1 -0
- package/dist/admin/utilities/tenant.role.policy.d.ts +16 -0
- package/dist/admin/utilities/tenant.role.policy.d.ts.map +1 -0
- package/dist/admin/utilities/tenant.role.policy.js +35 -0
- package/dist/admin/utilities/tenant.role.policy.js.map +1 -0
- package/dist/admin/validators/admin.patterns.d.ts +5 -0
- package/dist/admin/validators/admin.patterns.d.ts.map +1 -0
- package/dist/admin/validators/admin.patterns.js +8 -0
- package/dist/admin/validators/admin.patterns.js.map +1 -0
- package/dist/admin/validators/admin.validators.d.ts +5 -0
- package/dist/admin/validators/admin.validators.d.ts.map +1 -0
- package/dist/admin/validators/admin.validators.js +56 -0
- package/dist/admin/validators/admin.validators.js.map +1 -0
- package/dist/auth/auth.module.d.ts.map +1 -1
- package/dist/auth/auth.module.js +68 -14
- package/dist/auth/auth.module.js.map +1 -1
- package/dist/auth/controllers/admin.auth.controller.d.ts +7 -2
- package/dist/auth/controllers/admin.auth.controller.d.ts.map +1 -1
- package/dist/auth/controllers/admin.auth.controller.js +36 -11
- package/dist/auth/controllers/admin.auth.controller.js.map +1 -1
- package/dist/auth/controllers/auth.controller.d.ts +12 -2
- package/dist/auth/controllers/auth.controller.d.ts.map +1 -1
- package/dist/auth/controllers/auth.controller.js +83 -17
- package/dist/auth/controllers/auth.controller.js.map +1 -1
- package/dist/auth/controllers/impersonation.controller.d.ts +5 -4
- package/dist/auth/controllers/impersonation.controller.d.ts.map +1 -1
- package/dist/auth/controllers/impersonation.controller.js +12 -10
- package/dist/auth/controllers/impersonation.controller.js.map +1 -1
- package/dist/auth/controllers/tenant.invitation.controller.d.ts +6 -4
- package/dist/auth/controllers/tenant.invitation.controller.d.ts.map +1 -1
- package/dist/auth/controllers/tenant.invitation.controller.js +25 -15
- package/dist/auth/controllers/tenant.invitation.controller.js.map +1 -1
- package/dist/auth/controllers/tenant.member.controller.d.ts.map +1 -1
- package/dist/auth/controllers/tenant.member.controller.js +3 -4
- package/dist/auth/controllers/tenant.member.controller.js.map +1 -1
- package/dist/auth/controllers/user.invitation.controller.d.ts +2 -3
- package/dist/auth/controllers/user.invitation.controller.d.ts.map +1 -1
- package/dist/auth/controllers/user.invitation.controller.js +10 -9
- package/dist/auth/controllers/user.invitation.controller.js.map +1 -1
- package/dist/auth/controllers/user.organization.controller.d.ts +1 -2
- package/dist/auth/controllers/user.organization.controller.d.ts.map +1 -1
- package/dist/auth/controllers/user.organization.controller.js +6 -6
- package/dist/auth/controllers/user.organization.controller.js.map +1 -1
- package/dist/auth/decorators/allow.pending.password.change.decorator.d.ts +3 -0
- package/dist/auth/decorators/allow.pending.password.change.decorator.d.ts.map +1 -0
- package/dist/auth/decorators/allow.pending.password.change.decorator.js +8 -0
- package/dist/auth/decorators/allow.pending.password.change.decorator.js.map +1 -0
- package/dist/auth/decorators/api.key.scopes.decorator.d.ts +2 -0
- package/dist/auth/decorators/api.key.scopes.decorator.d.ts.map +1 -1
- package/dist/auth/decorators/api.key.scopes.decorator.js +4 -1
- package/dist/auth/decorators/api.key.scopes.decorator.js.map +1 -1
- package/dist/auth/decorators/max.bytes.decorator.d.ts +3 -0
- package/dist/auth/decorators/max.bytes.decorator.d.ts.map +1 -0
- package/dist/auth/decorators/max.bytes.decorator.js +15 -0
- package/dist/auth/decorators/max.bytes.decorator.js.map +1 -0
- package/dist/auth/decorators/normalize.email.decorator.d.ts +2 -0
- package/dist/auth/decorators/normalize.email.decorator.d.ts.map +1 -0
- package/dist/auth/decorators/normalize.email.decorator.js +7 -0
- package/dist/auth/decorators/normalize.email.decorator.js.map +1 -0
- package/dist/auth/dtos/admin.login.dto.d.ts.map +1 -1
- package/dist/auth/dtos/admin.login.dto.js +7 -1
- package/dist/auth/dtos/admin.login.dto.js.map +1 -1
- package/dist/auth/dtos/change.password.dto.d.ts.map +1 -1
- package/dist/auth/dtos/change.password.dto.js +9 -3
- package/dist/auth/dtos/change.password.dto.js.map +1 -1
- package/dist/auth/dtos/google.login.dto.d.ts.map +1 -1
- package/dist/auth/dtos/google.login.dto.js +1 -0
- package/dist/auth/dtos/google.login.dto.js.map +1 -1
- package/dist/auth/dtos/invite.tenant.user.dto.d.ts.map +1 -1
- package/dist/auth/dtos/invite.tenant.user.dto.js +7 -3
- package/dist/auth/dtos/invite.tenant.user.dto.js.map +1 -1
- package/dist/auth/dtos/login.dto.d.ts.map +1 -1
- package/dist/auth/dtos/login.dto.js +5 -0
- package/dist/auth/dtos/login.dto.js.map +1 -1
- package/dist/auth/dtos/member.roles.dto.d.ts.map +1 -1
- package/dist/auth/dtos/member.roles.dto.js +1 -0
- package/dist/auth/dtos/member.roles.dto.js.map +1 -1
- package/dist/auth/dtos/refresh.token.dto.d.ts.map +1 -1
- package/dist/auth/dtos/refresh.token.dto.js +1 -0
- package/dist/auth/dtos/refresh.token.dto.js.map +1 -1
- package/dist/auth/dtos/register.dto.d.ts.map +1 -1
- package/dist/auth/dtos/register.dto.js +11 -3
- package/dist/auth/dtos/register.dto.js.map +1 -1
- package/dist/auth/dtos/tenant.invitation.list.dto.d.ts +0 -1
- package/dist/auth/dtos/tenant.invitation.list.dto.d.ts.map +1 -1
- package/dist/auth/dtos/tenant.invitation.list.dto.js +0 -19
- package/dist/auth/dtos/tenant.invitation.list.dto.js.map +1 -1
- package/dist/auth/dtos/tenant.member.list.dto.d.ts +0 -1
- package/dist/auth/dtos/tenant.member.list.dto.d.ts.map +1 -1
- package/dist/auth/dtos/tenant.member.list.dto.js +0 -19
- package/dist/auth/dtos/tenant.member.list.dto.js.map +1 -1
- package/dist/auth/dtos/verify.email.dto.d.ts +4 -0
- package/dist/auth/dtos/verify.email.dto.d.ts.map +1 -0
- package/dist/auth/dtos/verify.email.dto.js +25 -0
- package/dist/auth/dtos/verify.email.dto.js.map +1 -0
- package/dist/auth/entities/admin.user.entity.d.ts +1 -0
- package/dist/auth/entities/admin.user.entity.d.ts.map +1 -1
- package/dist/auth/entities/admin.user.entity.js +4 -0
- package/dist/auth/entities/admin.user.entity.js.map +1 -1
- package/dist/auth/entities/api.key.entity.d.ts.map +1 -1
- package/dist/auth/entities/api.key.entity.js +2 -2
- package/dist/auth/entities/api.key.entity.js.map +1 -1
- package/dist/auth/entities/email.verification.token.entity.d.ts +11 -0
- package/dist/auth/entities/email.verification.token.entity.d.ts.map +1 -0
- package/dist/auth/entities/email.verification.token.entity.js +47 -0
- package/dist/auth/entities/email.verification.token.entity.js.map +1 -0
- package/dist/auth/entities/system.refresh.token.entity.d.ts +1 -0
- package/dist/auth/entities/system.refresh.token.entity.d.ts.map +1 -1
- package/dist/auth/entities/system.refresh.token.entity.js +4 -0
- package/dist/auth/entities/system.refresh.token.entity.js.map +1 -1
- package/dist/auth/entities/tenant.invitation.entity.d.ts +1 -0
- package/dist/auth/entities/tenant.invitation.entity.d.ts.map +1 -1
- package/dist/auth/entities/tenant.invitation.entity.js +5 -1
- package/dist/auth/entities/tenant.invitation.entity.js.map +1 -1
- package/dist/auth/entities/user.entity.d.ts +1 -0
- package/dist/auth/entities/user.entity.d.ts.map +1 -1
- package/dist/auth/entities/user.entity.js +5 -1
- package/dist/auth/entities/user.entity.js.map +1 -1
- package/dist/auth/enums/auth.default.enum.d.ts +26 -2
- package/dist/auth/enums/auth.default.enum.d.ts.map +1 -1
- package/dist/auth/enums/auth.default.enum.js +26 -2
- package/dist/auth/enums/auth.default.enum.js.map +1 -1
- package/dist/auth/enums/auth.message.enum.d.ts +8 -0
- package/dist/auth/enums/auth.message.enum.d.ts.map +1 -0
- package/dist/auth/enums/auth.message.enum.js +12 -0
- package/dist/auth/enums/auth.message.enum.js.map +1 -0
- package/dist/auth/enums/email.verification.default.enum.d.ts +6 -0
- package/dist/auth/enums/email.verification.default.enum.d.ts.map +1 -0
- package/dist/auth/enums/email.verification.default.enum.js +10 -0
- package/dist/auth/enums/email.verification.default.enum.js.map +1 -0
- package/dist/auth/enums/tenant.invitation.default.enum.d.ts +5 -1
- package/dist/auth/enums/tenant.invitation.default.enum.d.ts.map +1 -1
- package/dist/auth/enums/tenant.invitation.default.enum.js +4 -0
- package/dist/auth/enums/tenant.invitation.default.enum.js.map +1 -1
- package/dist/auth/es6.classes.d.ts +8 -3
- package/dist/auth/es6.classes.d.ts.map +1 -1
- package/dist/auth/es6.classes.js +10 -1
- package/dist/auth/es6.classes.js.map +1 -1
- package/dist/auth/guards/api.key.guard.d.ts +3 -2
- package/dist/auth/guards/api.key.guard.d.ts.map +1 -1
- package/dist/auth/guards/api.key.guard.js +19 -30
- package/dist/auth/guards/api.key.guard.js.map +1 -1
- package/dist/auth/guards/jwt.auth.guard.d.ts +1 -1
- package/dist/auth/guards/jwt.auth.guard.d.ts.map +1 -1
- package/dist/auth/guards/jwt.auth.guard.js +14 -7
- package/dist/auth/guards/jwt.auth.guard.js.map +1 -1
- package/dist/auth/helpers/admin.auth.d.ts.map +1 -1
- package/dist/auth/helpers/admin.auth.js +1 -1
- package/dist/auth/helpers/admin.auth.js.map +1 -1
- package/dist/auth/jobs/purge.expired.auth.records.job.d.ts +15 -0
- package/dist/auth/jobs/purge.expired.auth.records.job.d.ts.map +1 -0
- package/dist/auth/jobs/purge.expired.auth.records.job.js +72 -0
- package/dist/auth/jobs/purge.expired.auth.records.job.js.map +1 -0
- package/dist/auth/middlewares/admin.jwt.middleware.d.ts +3 -4
- package/dist/auth/middlewares/admin.jwt.middleware.d.ts.map +1 -1
- package/dist/auth/middlewares/admin.jwt.middleware.js +9 -28
- package/dist/auth/middlewares/admin.jwt.middleware.js.map +1 -1
- package/dist/auth/middlewares/api.key.middleware.d.ts +3 -2
- package/dist/auth/middlewares/api.key.middleware.d.ts.map +1 -1
- package/dist/auth/middlewares/api.key.middleware.js +18 -21
- package/dist/auth/middlewares/api.key.middleware.js.map +1 -1
- package/dist/auth/middlewares/jwt.middleware.d.ts +3 -4
- package/dist/auth/middlewares/jwt.middleware.d.ts.map +1 -1
- package/dist/auth/middlewares/jwt.middleware.js +15 -27
- package/dist/auth/middlewares/jwt.middleware.js.map +1 -1
- package/dist/auth/processors/change.admin.password.data.processor.d.ts +13 -0
- package/dist/auth/processors/change.admin.password.data.processor.d.ts.map +1 -0
- package/dist/auth/processors/change.admin.password.data.processor.js +61 -0
- package/dist/auth/processors/change.admin.password.data.processor.js.map +1 -0
- package/dist/auth/processors/change.password.data.processor.d.ts +2 -1
- package/dist/auth/processors/change.password.data.processor.d.ts.map +1 -1
- package/dist/auth/processors/change.password.data.processor.js +27 -4
- package/dist/auth/processors/change.password.data.processor.js.map +1 -1
- package/dist/auth/processors/google.user.data.processor.d.ts +3 -2
- package/dist/auth/processors/google.user.data.processor.d.ts.map +1 -1
- package/dist/auth/processors/google.user.data.processor.js +58 -10
- package/dist/auth/processors/google.user.data.processor.js.map +1 -1
- package/dist/auth/processors/register.user.data.processor.d.ts.map +1 -1
- package/dist/auth/processors/register.user.data.processor.js +7 -1
- package/dist/auth/processors/register.user.data.processor.js.map +1 -1
- package/dist/auth/processors/tenant.invitation.data.processor.d.ts +2 -0
- package/dist/auth/processors/tenant.invitation.data.processor.d.ts.map +1 -1
- package/dist/auth/processors/tenant.invitation.data.processor.js +59 -29
- package/dist/auth/processors/tenant.invitation.data.processor.js.map +1 -1
- package/dist/auth/processors/tenant.invitation.list.processor.d.ts +2 -1
- package/dist/auth/processors/tenant.invitation.list.processor.d.ts.map +1 -1
- package/dist/auth/processors/tenant.invitation.list.processor.js +6 -2
- package/dist/auth/processors/tenant.invitation.list.processor.js.map +1 -1
- package/dist/auth/processors/tenant.member.list.processor.d.ts +2 -1
- package/dist/auth/processors/tenant.member.list.processor.d.ts.map +1 -1
- package/dist/auth/processors/tenant.member.list.processor.js +6 -2
- package/dist/auth/processors/tenant.member.list.processor.js.map +1 -1
- package/dist/auth/services/admin.auth.service.d.ts +5 -8
- package/dist/auth/services/admin.auth.service.d.ts.map +1 -1
- package/dist/auth/services/admin.auth.service.js +49 -98
- package/dist/auth/services/admin.auth.service.js.map +1 -1
- package/dist/auth/services/api.key.service.d.ts +6 -2
- package/dist/auth/services/api.key.service.d.ts.map +1 -1
- package/dist/auth/services/api.key.service.js +39 -11
- package/dist/auth/services/api.key.service.js.map +1 -1
- package/dist/auth/services/auth.service.d.ts +12 -11
- package/dist/auth/services/auth.service.d.ts.map +1 -1
- package/dist/auth/services/auth.service.js +66 -117
- package/dist/auth/services/auth.service.js.map +1 -1
- package/dist/auth/services/email.verification.service.d.ts +16 -0
- package/dist/auth/services/email.verification.service.d.ts.map +1 -0
- package/dist/auth/services/email.verification.service.js +97 -0
- package/dist/auth/services/email.verification.service.js.map +1 -0
- package/dist/auth/services/google.auth.service.d.ts +1 -0
- package/dist/auth/services/google.auth.service.d.ts.map +1 -1
- package/dist/auth/services/google.auth.service.js +19 -6
- package/dist/auth/services/google.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 +12 -3
- package/dist/auth/services/impersonation.service.js.map +1 -1
- package/dist/auth/services/login.throttle.service.d.ts +18 -0
- package/dist/auth/services/login.throttle.service.d.ts.map +1 -0
- package/dist/auth/services/login.throttle.service.js +98 -0
- package/dist/auth/services/login.throttle.service.js.map +1 -0
- package/dist/auth/services/role.service.d.ts +1 -0
- package/dist/auth/services/role.service.d.ts.map +1 -1
- package/dist/auth/services/role.service.js +16 -3
- package/dist/auth/services/role.service.js.map +1 -1
- package/dist/auth/services/scope.service.d.ts +3 -1
- package/dist/auth/services/scope.service.d.ts.map +1 -1
- package/dist/auth/services/scope.service.js +11 -8
- package/dist/auth/services/scope.service.js.map +1 -1
- package/dist/auth/services/tenant.invitation.service.d.ts +4 -2
- package/dist/auth/services/tenant.invitation.service.d.ts.map +1 -1
- package/dist/auth/services/tenant.invitation.service.js +40 -17
- package/dist/auth/services/tenant.invitation.service.js.map +1 -1
- package/dist/auth/services/tenant.membership.service.d.ts +2 -2
- package/dist/auth/services/tenant.membership.service.d.ts.map +1 -1
- package/dist/auth/services/tenant.membership.service.js +51 -50
- package/dist/auth/services/tenant.membership.service.js.map +1 -1
- package/dist/auth/services/token.service.d.ts +30 -0
- package/dist/auth/services/token.service.d.ts.map +1 -0
- package/dist/auth/services/token.service.js +211 -0
- package/dist/auth/services/token.service.js.map +1 -0
- package/dist/auth/strategy/jwt.refresh.strategy.d.ts +5 -6
- package/dist/auth/strategy/jwt.refresh.strategy.d.ts.map +1 -1
- package/dist/auth/strategy/jwt.refresh.strategy.js +31 -7
- package/dist/auth/strategy/jwt.refresh.strategy.js.map +1 -1
- package/dist/auth/strategy/jwt.strategy.d.ts +4 -3
- package/dist/auth/strategy/jwt.strategy.d.ts.map +1 -1
- package/dist/auth/strategy/jwt.strategy.js +27 -11
- package/dist/auth/strategy/jwt.strategy.js.map +1 -1
- package/dist/auth/types/api.key.types.d.ts +5 -1
- package/dist/auth/types/api.key.types.d.ts.map +1 -1
- package/dist/auth/types/auth.types.d.ts +65 -6
- package/dist/auth/types/auth.types.d.ts.map +1 -1
- package/dist/auth/types/google.auth.types.d.ts +4 -0
- package/dist/auth/types/google.auth.types.d.ts.map +1 -1
- package/dist/auth/utilities/access.revocation.d.ts +3 -1
- package/dist/auth/utilities/access.revocation.d.ts.map +1 -1
- package/dist/auth/utilities/access.revocation.js +19 -3
- package/dist/auth/utilities/access.revocation.js.map +1 -1
- package/dist/auth/utilities/auth.config.d.ts +23 -0
- package/dist/auth/utilities/auth.config.d.ts.map +1 -0
- package/dist/auth/utilities/auth.config.js +121 -0
- package/dist/auth/utilities/auth.config.js.map +1 -0
- package/dist/auth/utilities/auth.utilities.d.ts +4 -0
- package/dist/auth/utilities/auth.utilities.d.ts.map +1 -1
- package/dist/auth/utilities/auth.utilities.js +27 -17
- package/dist/auth/utilities/auth.utilities.js.map +1 -1
- package/dist/auth/utilities/duration.d.ts +6 -0
- package/dist/auth/utilities/duration.d.ts.map +1 -0
- package/dist/auth/utilities/duration.js +56 -0
- package/dist/auth/utilities/duration.js.map +1 -0
- package/dist/auth/utilities/request.credentials.d.ts +8 -0
- package/dist/auth/utilities/request.credentials.d.ts.map +1 -0
- package/dist/auth/utilities/request.credentials.js +33 -0
- package/dist/auth/utilities/request.credentials.js.map +1 -0
- package/dist/auth/utilities/scope.cascade.d.ts +12 -0
- package/dist/auth/utilities/scope.cascade.d.ts.map +1 -0
- package/dist/auth/utilities/scope.cascade.js +90 -0
- package/dist/auth/utilities/scope.cascade.js.map +1 -0
- package/dist/auth/utilities/tenant.access.d.ts +8 -2
- package/dist/auth/utilities/tenant.access.d.ts.map +1 -1
- package/dist/auth/utilities/tenant.access.js +86 -7
- package/dist/auth/utilities/tenant.access.js.map +1 -1
- package/dist/common/adapters/sentry.monitoring.adapter.d.ts +3 -1
- package/dist/common/adapters/sentry.monitoring.adapter.d.ts.map +1 -1
- package/dist/common/adapters/sentry.monitoring.adapter.js +41 -1
- package/dist/common/adapters/sentry.monitoring.adapter.js.map +1 -1
- package/dist/common/bootstrap/secure.bootstrap.d.ts +6 -0
- package/dist/common/bootstrap/secure.bootstrap.d.ts.map +1 -0
- package/dist/common/bootstrap/secure.bootstrap.js +69 -0
- package/dist/common/bootstrap/secure.bootstrap.js.map +1 -0
- package/dist/common/common.module.d.ts +1 -0
- package/dist/common/common.module.d.ts.map +1 -1
- package/dist/common/common.module.js +16 -2
- package/dist/common/common.module.js.map +1 -1
- package/dist/common/consumers/job.consumer.d.ts +2 -0
- package/dist/common/consumers/job.consumer.d.ts.map +1 -1
- package/dist/common/consumers/job.consumer.js +53 -19
- package/dist/common/consumers/job.consumer.js.map +1 -1
- package/dist/common/controllers/common.controller.d.ts.map +1 -1
- package/dist/common/controllers/common.controller.js +2 -0
- package/dist/common/controllers/common.controller.js.map +1 -1
- package/dist/common/dtos/common.list.filter.dto.d.ts.map +1 -1
- package/dist/common/dtos/common.list.filter.dto.js +11 -2
- package/dist/common/dtos/common.list.filter.dto.js.map +1 -1
- package/dist/common/dtos/common.params.dto.d.ts +0 -1
- package/dist/common/dtos/common.params.dto.d.ts.map +1 -1
- package/dist/common/dtos/common.params.dto.js +0 -6
- package/dist/common/dtos/common.params.dto.js.map +1 -1
- package/dist/common/dtos/filter.dto.d.ts.map +1 -1
- package/dist/common/dtos/filter.dto.js +4 -0
- package/dist/common/dtos/filter.dto.js.map +1 -1
- package/dist/common/dtos/sort.dto.d.ts.map +1 -1
- package/dist/common/dtos/sort.dto.js +2 -0
- package/dist/common/dtos/sort.dto.js.map +1 -1
- package/dist/common/entities/root.entity.d.ts.map +1 -1
- package/dist/common/entities/root.entity.js +1 -2
- package/dist/common/entities/root.entity.js.map +1 -1
- package/dist/common/enums/bootstrap.default.enum.d.ts +8 -0
- package/dist/common/enums/bootstrap.default.enum.d.ts.map +1 -0
- package/dist/common/enums/bootstrap.default.enum.js +13 -0
- package/dist/common/enums/bootstrap.default.enum.js.map +1 -0
- package/dist/common/enums/cache.default.enum.d.ts +4 -0
- package/dist/common/enums/cache.default.enum.d.ts.map +1 -0
- package/dist/common/enums/cache.default.enum.js +8 -0
- package/dist/common/enums/cache.default.enum.js.map +1 -0
- package/dist/common/enums/encryption.enum.d.ts +12 -1
- package/dist/common/enums/encryption.enum.d.ts.map +1 -1
- package/dist/common/enums/encryption.enum.js +14 -1
- package/dist/common/enums/encryption.enum.js.map +1 -1
- package/dist/common/enums/list.filter.default.enum.d.ts +9 -0
- package/dist/common/enums/list.filter.default.enum.d.ts.map +1 -0
- package/dist/common/enums/list.filter.default.enum.js +13 -0
- package/dist/common/enums/list.filter.default.enum.js.map +1 -0
- package/dist/common/enums/logging.default.enum.d.ts +4 -0
- package/dist/common/enums/logging.default.enum.d.ts.map +1 -0
- package/dist/common/enums/logging.default.enum.js +8 -0
- package/dist/common/enums/logging.default.enum.js.map +1 -0
- package/dist/common/enums/monitoring.default.enum.d.ts +3 -0
- package/dist/common/enums/monitoring.default.enum.d.ts.map +1 -1
- package/dist/common/enums/monitoring.default.enum.js +4 -1
- package/dist/common/enums/monitoring.default.enum.js.map +1 -1
- package/dist/common/enums/queue.enum.d.ts +5 -1
- package/dist/common/enums/queue.enum.d.ts.map +1 -1
- package/dist/common/enums/queue.enum.js +4 -0
- package/dist/common/enums/queue.enum.js.map +1 -1
- package/dist/common/enums/remote.request.default.enum.d.ts +6 -0
- package/dist/common/enums/remote.request.default.enum.d.ts.map +1 -0
- package/dist/common/enums/remote.request.default.enum.js +10 -0
- package/dist/common/enums/remote.request.default.enum.js.map +1 -0
- package/dist/common/enums/schedule.enum.d.ts +7 -1
- package/dist/common/enums/schedule.enum.d.ts.map +1 -1
- package/dist/common/enums/schedule.enum.js +6 -0
- package/dist/common/enums/schedule.enum.js.map +1 -1
- package/dist/common/enums/security.header.default.enum.d.ts +6 -0
- package/dist/common/enums/security.header.default.enum.d.ts.map +1 -0
- package/dist/common/enums/security.header.default.enum.js +10 -0
- package/dist/common/enums/security.header.default.enum.js.map +1 -0
- package/dist/common/enums/server.environment.enum.d.ts.map +1 -1
- package/dist/common/enums/server.environment.enum.js.map +1 -1
- package/dist/common/enums/sql.default.enum.d.ts +8 -0
- package/dist/common/enums/sql.default.enum.d.ts.map +1 -1
- package/dist/common/enums/sql.default.enum.js +14 -1
- package/dist/common/enums/sql.default.enum.js.map +1 -1
- package/dist/common/es6.classes.d.ts +4 -1
- package/dist/common/es6.classes.d.ts.map +1 -1
- package/dist/common/es6.classes.js +4 -0
- package/dist/common/es6.classes.js.map +1 -1
- package/dist/common/interceptors/logging.interceptor.d.ts.map +1 -1
- package/dist/common/interceptors/logging.interceptor.js +9 -3
- package/dist/common/interceptors/logging.interceptor.js.map +1 -1
- package/dist/common/interceptors/monitoring.interceptor.d.ts.map +1 -1
- package/dist/common/interceptors/monitoring.interceptor.js +10 -5
- package/dist/common/interceptors/monitoring.interceptor.js.map +1 -1
- package/dist/common/jobs/common.job.d.ts +2 -0
- package/dist/common/jobs/common.job.d.ts.map +1 -1
- package/dist/common/jobs/common.job.js +2 -0
- package/dist/common/jobs/common.job.js.map +1 -1
- package/dist/common/jobs/dispatch.scheduled.event.job.d.ts.map +1 -1
- package/dist/common/jobs/dispatch.scheduled.event.job.js +10 -3
- package/dist/common/jobs/dispatch.scheduled.event.job.js.map +1 -1
- package/dist/common/jobs/purge.failed.jobs.job.d.ts +9 -0
- package/dist/common/jobs/purge.failed.jobs.job.d.ts.map +1 -0
- package/dist/common/jobs/purge.failed.jobs.job.js +42 -0
- package/dist/common/jobs/purge.failed.jobs.job.js.map +1 -0
- package/dist/common/jobs/set.scheduled.event.job.d.ts.map +1 -1
- package/dist/common/jobs/set.scheduled.event.job.js +9 -3
- package/dist/common/jobs/set.scheduled.event.job.js.map +1 -1
- package/dist/common/libraries/cron.schedule.resolver.d.ts +5 -0
- package/dist/common/libraries/cron.schedule.resolver.d.ts.map +1 -1
- package/dist/common/libraries/cron.schedule.resolver.js +56 -0
- package/dist/common/libraries/cron.schedule.resolver.js.map +1 -1
- package/dist/common/libraries/filter.operator.registry.d.ts +1 -0
- package/dist/common/libraries/filter.operator.registry.d.ts.map +1 -1
- package/dist/common/libraries/filter.operator.registry.js +8 -4
- package/dist/common/libraries/filter.operator.registry.js.map +1 -1
- package/dist/common/libraries/interval.schedule.resolver.d.ts.map +1 -1
- package/dist/common/libraries/interval.schedule.resolver.js +10 -0
- package/dist/common/libraries/interval.schedule.resolver.js.map +1 -1
- package/dist/common/libraries/predicate.set.d.ts.map +1 -1
- package/dist/common/libraries/predicate.set.js +7 -0
- package/dist/common/libraries/predicate.set.js.map +1 -1
- package/dist/common/middlewares/security.headers.middleware.d.ts +4 -0
- package/dist/common/middlewares/security.headers.middleware.d.ts.map +1 -0
- package/dist/common/middlewares/security.headers.middleware.js +27 -0
- package/dist/common/middlewares/security.headers.middleware.js.map +1 -0
- package/dist/common/pipes/strict.validation.pipe.d.ts +6 -0
- package/dist/common/pipes/strict.validation.pipe.d.ts.map +1 -0
- package/dist/common/pipes/strict.validation.pipe.js +49 -0
- package/dist/common/pipes/strict.validation.pipe.js.map +1 -0
- package/dist/common/queue.module.d.ts.map +1 -1
- package/dist/common/queue.module.js +11 -3
- package/dist/common/queue.module.js.map +1 -1
- package/dist/common/services/audit.service.d.ts.map +1 -1
- package/dist/common/services/audit.service.js +1 -2
- package/dist/common/services/audit.service.js.map +1 -1
- package/dist/common/services/cache.service.d.ts +8 -2
- package/dist/common/services/cache.service.d.ts.map +1 -1
- package/dist/common/services/cache.service.js +54 -21
- package/dist/common/services/cache.service.js.map +1 -1
- package/dist/common/services/encryption.service.d.ts +21 -5
- package/dist/common/services/encryption.service.d.ts.map +1 -1
- package/dist/common/services/encryption.service.js +129 -37
- package/dist/common/services/encryption.service.js.map +1 -1
- package/dist/common/services/list.filter.service.d.ts +2 -0
- package/dist/common/services/list.filter.service.d.ts.map +1 -1
- package/dist/common/services/list.filter.service.js +68 -18
- package/dist/common/services/list.filter.service.js.map +1 -1
- package/dist/common/services/queue.service.d.ts +13 -1
- package/dist/common/services/queue.service.d.ts.map +1 -1
- package/dist/common/services/queue.service.js +80 -11
- package/dist/common/services/queue.service.js.map +1 -1
- package/dist/common/services/remote.request.service.d.ts +10 -0
- package/dist/common/services/remote.request.service.d.ts.map +1 -1
- package/dist/common/services/remote.request.service.js +190 -15
- package/dist/common/services/remote.request.service.js.map +1 -1
- package/dist/common/services/system.property.service.d.ts +4 -0
- package/dist/common/services/system.property.service.d.ts.map +1 -1
- package/dist/common/services/system.property.service.js +62 -21
- package/dist/common/services/system.property.service.js.map +1 -1
- package/dist/common/subscribers/common.subscriber.d.ts +11 -1
- package/dist/common/subscribers/common.subscriber.d.ts.map +1 -1
- package/dist/common/subscribers/common.subscriber.js +98 -16
- package/dist/common/subscribers/common.subscriber.js.map +1 -1
- package/dist/common/subscribers/system.scheduled.task.subscriber.d.ts +1 -0
- package/dist/common/subscribers/system.scheduled.task.subscriber.d.ts.map +1 -1
- package/dist/common/subscribers/system.scheduled.task.subscriber.js +1 -0
- package/dist/common/subscribers/system.scheduled.task.subscriber.js.map +1 -1
- package/dist/common/types/bootstrap.types.d.ts +6 -0
- package/dist/common/types/bootstrap.types.d.ts.map +1 -0
- package/dist/common/types/bootstrap.types.js +3 -0
- package/dist/common/types/bootstrap.types.js.map +1 -0
- package/dist/common/types/cache.types.d.ts +1 -0
- package/dist/common/types/cache.types.d.ts.map +1 -1
- package/dist/common/types/cache.types.js +7 -2
- package/dist/common/types/cache.types.js.map +1 -1
- package/dist/common/types/database.event.type.d.ts +5 -0
- package/dist/common/types/database.event.type.d.ts.map +1 -1
- package/dist/common/types/encryption.types.d.ts +10 -0
- package/dist/common/types/encryption.types.d.ts.map +1 -0
- package/dist/common/types/encryption.types.js +3 -0
- package/dist/common/types/encryption.types.js.map +1 -0
- package/dist/common/types/monitoring.types.d.ts +17 -0
- package/dist/common/types/monitoring.types.d.ts.map +1 -1
- package/dist/common/types/paginated.result.types.d.ts +4 -0
- package/dist/common/types/paginated.result.types.d.ts.map +1 -1
- package/dist/common/types/paginated.result.types.js +10 -0
- package/dist/common/types/paginated.result.types.js.map +1 -1
- package/dist/common/types/queue.types.d.ts +8 -0
- package/dist/common/types/queue.types.d.ts.map +1 -1
- package/dist/common/types/remote.request.options.d.ts +6 -0
- package/dist/common/types/remote.request.options.d.ts.map +1 -1
- package/dist/common/types/security.headers.types.d.ts +6 -0
- package/dist/common/types/security.headers.types.d.ts.map +1 -0
- package/dist/common/types/security.headers.types.js +3 -0
- package/dist/common/types/security.headers.types.js.map +1 -0
- package/dist/common/validators/schedule.validator.d.ts.map +1 -1
- package/dist/common/validators/schedule.validator.js +4 -2
- package/dist/common/validators/schedule.validator.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/constants/job.maps.d.ts +2 -0
- package/dist/constants/job.maps.d.ts.map +1 -1
- package/dist/constants/job.maps.js +2 -0
- package/dist/constants/job.maps.js.map +1 -1
- package/dist/constants/schedule.maps.d.ts +1 -0
- package/dist/constants/schedule.maps.d.ts.map +1 -1
- package/dist/constants/schedule.maps.js +13 -0
- package/dist/constants/schedule.maps.js.map +1 -1
- package/dist/database/config/data.source.config.d.ts +4 -0
- package/dist/database/config/data.source.config.d.ts.map +1 -1
- package/dist/database/config/data.source.config.js +24 -2
- package/dist/database/config/data.source.config.js.map +1 -1
- package/dist/document/controllers/document.controller.d.ts.map +1 -1
- package/dist/document/controllers/document.controller.js +18 -8
- package/dist/document/controllers/document.controller.js.map +1 -1
- package/dist/document/document.module.d.ts.map +1 -1
- package/dist/document/document.module.js +33 -4
- package/dist/document/document.module.js.map +1 -1
- package/dist/document/document.tokens.d.ts +2 -0
- package/dist/document/document.tokens.d.ts.map +1 -0
- package/dist/document/document.tokens.js +5 -0
- package/dist/document/document.tokens.js.map +1 -0
- package/dist/document/dtos/pdf.document.options.dto.d.ts +6 -0
- package/dist/document/dtos/pdf.document.options.dto.d.ts.map +1 -1
- package/dist/document/dtos/pdf.document.options.dto.js +4 -1
- package/dist/document/dtos/pdf.document.options.dto.js.map +1 -1
- package/dist/document/entities/document.entity.d.ts +1 -0
- package/dist/document/entities/document.entity.d.ts.map +1 -1
- package/dist/document/entities/document.entity.js +4 -0
- package/dist/document/entities/document.entity.js.map +1 -1
- package/dist/document/entities/document.upload.entity.d.ts +2 -0
- package/dist/document/entities/document.upload.entity.d.ts.map +1 -1
- package/dist/document/entities/document.upload.entity.js +9 -1
- package/dist/document/entities/document.upload.entity.js.map +1 -1
- package/dist/document/enums/document.default.enum.d.ts +15 -3
- package/dist/document/enums/document.default.enum.d.ts.map +1 -1
- package/dist/document/enums/document.default.enum.js +14 -2
- package/dist/document/enums/document.default.enum.js.map +1 -1
- package/dist/document/enums/document.tenancy.enum.d.ts +2 -0
- package/dist/document/enums/document.tenancy.enum.d.ts.map +1 -0
- package/dist/document/enums/document.tenancy.enum.js +5 -0
- package/dist/document/enums/document.tenancy.enum.js.map +1 -0
- package/dist/document/enums/file.type.enum.d.ts +12 -0
- package/dist/document/enums/file.type.enum.d.ts.map +1 -0
- package/dist/document/enums/file.type.enum.js +34 -0
- package/dist/document/enums/file.type.enum.js.map +1 -0
- package/dist/document/enums/pdf.default.enum.d.ts +4 -2
- package/dist/document/enums/pdf.default.enum.d.ts.map +1 -1
- package/dist/document/enums/pdf.default.enum.js +2 -0
- package/dist/document/enums/pdf.default.enum.js.map +1 -1
- package/dist/document/es6.classes.d.ts +4 -0
- package/dist/document/es6.classes.d.ts.map +1 -1
- package/dist/document/es6.classes.js +5 -0
- package/dist/document/es6.classes.js.map +1 -1
- package/dist/document/guards/document.authenticated.guard.d.ts +5 -0
- package/dist/document/guards/document.authenticated.guard.d.ts.map +1 -0
- package/dist/document/guards/document.authenticated.guard.js +27 -0
- package/dist/document/guards/document.authenticated.guard.js.map +1 -0
- package/dist/document/interceptors/document.upload.interceptor.d.ts +8 -0
- package/dist/document/interceptors/document.upload.interceptor.d.ts.map +1 -0
- package/dist/document/interceptors/document.upload.interceptor.js +52 -0
- package/dist/document/interceptors/document.upload.interceptor.js.map +1 -0
- package/dist/document/jobs/clean.orphan.documents.job.d.ts +1 -0
- package/dist/document/jobs/clean.orphan.documents.job.d.ts.map +1 -1
- package/dist/document/jobs/clean.orphan.documents.job.js +27 -14
- package/dist/document/jobs/clean.orphan.documents.job.js.map +1 -1
- package/dist/document/libraries/process.pdf.document.d.ts.map +1 -1
- package/dist/document/libraries/process.pdf.document.js +21 -9
- package/dist/document/libraries/process.pdf.document.js.map +1 -1
- package/dist/document/services/document.service.d.ts +25 -10
- package/dist/document/services/document.service.d.ts.map +1 -1
- package/dist/document/services/document.service.js +262 -81
- package/dist/document/services/document.service.js.map +1 -1
- package/dist/document/services/minio.bucket.document.service.d.ts +2 -3
- package/dist/document/services/minio.bucket.document.service.d.ts.map +1 -1
- package/dist/document/services/minio.bucket.document.service.js +10 -7
- package/dist/document/services/minio.bucket.document.service.js.map +1 -1
- package/dist/document/services/pdf.service.d.ts +4 -0
- package/dist/document/services/pdf.service.d.ts.map +1 -1
- package/dist/document/services/pdf.service.js +37 -2
- package/dist/document/services/pdf.service.js.map +1 -1
- package/dist/document/services/pdf.template.service.d.ts +4 -1
- package/dist/document/services/pdf.template.service.d.ts.map +1 -1
- package/dist/document/services/pdf.template.service.js +32 -9
- package/dist/document/services/pdf.template.service.js.map +1 -1
- package/dist/document/services/s3.bucket.document.service.d.ts +2 -3
- package/dist/document/services/s3.bucket.document.service.d.ts.map +1 -1
- package/dist/document/services/s3.bucket.document.service.js +12 -7
- package/dist/document/services/s3.bucket.document.service.js.map +1 -1
- package/dist/document/types/document.types.d.ts +61 -4
- package/dist/document/types/document.types.d.ts.map +1 -1
- package/dist/document/types/pdf.types.d.ts +17 -0
- package/dist/document/types/pdf.types.d.ts.map +1 -1
- package/dist/document/utilities/document.config.d.ts +9 -0
- package/dist/document/utilities/document.config.d.ts.map +1 -0
- package/dist/document/utilities/document.config.js +74 -0
- package/dist/document/utilities/document.config.js.map +1 -0
- package/dist/document/utilities/document.tenancy.d.ts +6 -0
- package/dist/document/utilities/document.tenancy.d.ts.map +1 -0
- package/dist/document/utilities/document.tenancy.js +29 -0
- package/dist/document/utilities/document.tenancy.js.map +1 -0
- package/dist/document/utilities/file.type.utility.d.ts +7 -0
- package/dist/document/utilities/file.type.utility.d.ts.map +1 -0
- package/dist/document/utilities/file.type.utility.js +105 -0
- package/dist/document/utilities/file.type.utility.js.map +1 -0
- package/dist/document/utilities/pdf.request.policy.d.ts +3 -0
- package/dist/document/utilities/pdf.request.policy.d.ts.map +1 -0
- package/dist/document/utilities/pdf.request.policy.js +37 -0
- package/dist/document/utilities/pdf.request.policy.js.map +1 -0
- package/dist/global/enums/environment.enum.d.ts +6 -0
- package/dist/global/enums/environment.enum.d.ts.map +1 -0
- package/dist/global/enums/environment.enum.js +47 -0
- package/dist/global/enums/environment.enum.js.map +1 -0
- package/dist/global/enums/redaction.enum.d.ts +11 -0
- package/dist/global/enums/redaction.enum.d.ts.map +1 -0
- package/dist/global/enums/redaction.enum.js +31 -0
- package/dist/global/enums/redaction.enum.js.map +1 -0
- package/dist/global/filters/global.exception.filter.d.ts +4 -1
- package/dist/global/filters/global.exception.filter.d.ts.map +1 -1
- package/dist/global/filters/global.exception.filter.js +91 -25
- package/dist/global/filters/global.exception.filter.js.map +1 -1
- package/dist/global/types/environment.types.d.ts +15 -0
- package/dist/global/types/environment.types.d.ts.map +1 -0
- package/dist/global/types/environment.types.js +3 -0
- package/dist/global/types/environment.types.js.map +1 -0
- package/dist/global/types/exception.filter.types.d.ts +9 -0
- package/dist/global/types/exception.filter.types.d.ts.map +1 -1
- package/dist/global/types/migration.utility.types.d.ts +5 -0
- package/dist/global/types/migration.utility.types.d.ts.map +1 -1
- package/dist/global/types/redaction.types.d.ts +5 -0
- package/dist/global/types/redaction.types.d.ts.map +1 -0
- package/dist/global/types/redaction.types.js +3 -0
- package/dist/global/types/redaction.types.js.map +1 -0
- package/dist/global/types/seeder.utility.types.d.ts +3 -0
- package/dist/global/types/seeder.utility.types.d.ts.map +1 -1
- package/dist/global/utilities/environment.util.d.ts +12 -0
- package/dist/global/utilities/environment.util.d.ts.map +1 -0
- package/dist/global/utilities/environment.util.js +74 -0
- package/dist/global/utilities/environment.util.js.map +1 -0
- package/dist/global/utilities/hash.util.d.ts +2 -0
- package/dist/global/utilities/hash.util.d.ts.map +1 -1
- package/dist/global/utilities/hash.util.js +12 -0
- package/dist/global/utilities/hash.util.js.map +1 -1
- package/dist/global/utilities/migration.utility.d.ts +12 -7
- package/dist/global/utilities/migration.utility.d.ts.map +1 -1
- package/dist/global/utilities/migration.utility.js +49 -15
- package/dist/global/utilities/migration.utility.js.map +1 -1
- package/dist/global/utilities/redaction.util.d.ts +7 -0
- package/dist/global/utilities/redaction.util.d.ts.map +1 -0
- package/dist/global/utilities/redaction.util.js +64 -0
- package/dist/global/utilities/redaction.util.js.map +1 -0
- package/dist/global/utilities/schedule.utility.d.ts +3 -0
- package/dist/global/utilities/schedule.utility.d.ts.map +1 -1
- package/dist/global/utilities/schedule.utility.js +14 -0
- package/dist/global/utilities/schedule.utility.js.map +1 -1
- package/dist/global/utilities/seeder.utility.d.ts +3 -1
- package/dist/global/utilities/seeder.utility.d.ts.map +1 -1
- package/dist/global/utilities/seeder.utility.js +11 -8
- package/dist/global/utilities/seeder.utility.js.map +1 -1
- package/dist/index.d.ts +67 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +126 -1
- package/dist/index.js.map +1 -1
- package/dist/main.js +7 -13
- package/dist/main.js.map +1 -1
- package/dist/migrations/1749600000001.CreateSysAdminUsersTable.d.ts.map +1 -1
- package/dist/migrations/1749600000001.CreateSysAdminUsersTable.js +3 -0
- package/dist/migrations/1749600000001.CreateSysAdminUsersTable.js.map +1 -1
- package/dist/migrations/1749600000002.CreateSysTenantsTable.d.ts.map +1 -1
- package/dist/migrations/1749600000002.CreateSysTenantsTable.js +2 -0
- package/dist/migrations/1749600000002.CreateSysTenantsTable.js.map +1 -1
- package/dist/migrations/1749600000003.CreateSysUsersTable.d.ts.map +1 -1
- package/dist/migrations/1749600000003.CreateSysUsersTable.js +3 -1
- package/dist/migrations/1749600000003.CreateSysUsersTable.js.map +1 -1
- package/dist/migrations/1749600000004.CreateSysRolesTable.d.ts.map +1 -1
- package/dist/migrations/1749600000004.CreateSysRolesTable.js +1 -0
- package/dist/migrations/1749600000004.CreateSysRolesTable.js.map +1 -1
- package/dist/migrations/1749600000006.CreateSysUserRolesJoinTable.d.ts.map +1 -1
- package/dist/migrations/1749600000006.CreateSysUserRolesJoinTable.js +1 -0
- package/dist/migrations/1749600000006.CreateSysUserRolesJoinTable.js.map +1 -1
- package/dist/migrations/1749600000010.CreateSysPropertiesTable.d.ts.map +1 -1
- package/dist/migrations/1749600000010.CreateSysPropertiesTable.js +1 -0
- package/dist/migrations/1749600000010.CreateSysPropertiesTable.js.map +1 -1
- package/dist/migrations/1749600000011.CreateSysNotificationsTable.d.ts.map +1 -1
- package/dist/migrations/1749600000011.CreateSysNotificationsTable.js +1 -0
- package/dist/migrations/1749600000011.CreateSysNotificationsTable.js.map +1 -1
- package/dist/migrations/1749600000013.CreateSysDocumentUploadsTable.d.ts.map +1 -1
- package/dist/migrations/1749600000013.CreateSysDocumentUploadsTable.js +12 -0
- package/dist/migrations/1749600000013.CreateSysDocumentUploadsTable.js.map +1 -1
- package/dist/migrations/1749600000014.CreateSysRefreshTokensTable.d.ts.map +1 -1
- package/dist/migrations/1749600000014.CreateSysRefreshTokensTable.js +5 -1
- package/dist/migrations/1749600000014.CreateSysRefreshTokensTable.js.map +1 -1
- package/dist/migrations/1749600000016.CreateSysUserDeviceTokensTable.d.ts.map +1 -1
- package/dist/migrations/1749600000016.CreateSysUserDeviceTokensTable.js +1 -0
- package/dist/migrations/1749600000016.CreateSysUserDeviceTokensTable.js.map +1 -1
- package/dist/migrations/1749600000017.CreateSysApiKeysTable.d.ts.map +1 -1
- package/dist/migrations/1749600000017.CreateSysApiKeysTable.js +1 -1
- package/dist/migrations/1749600000017.CreateSysApiKeysTable.js.map +1 -1
- package/dist/migrations/1749600000020.CreateSysEmailTemplatesTable.d.ts.map +1 -1
- package/dist/migrations/1749600000020.CreateSysEmailTemplatesTable.js +1 -0
- package/dist/migrations/1749600000020.CreateSysEmailTemplatesTable.js.map +1 -1
- package/dist/migrations/1749600000022.CreateSysAdminRolesTable.d.ts.map +1 -1
- package/dist/migrations/1749600000022.CreateSysAdminRolesTable.js +1 -0
- package/dist/migrations/1749600000022.CreateSysAdminRolesTable.js.map +1 -1
- package/dist/migrations/1749600000023.CreateSysAdminUserRolesJoinTable.d.ts.map +1 -1
- package/dist/migrations/1749600000023.CreateSysAdminUserRolesJoinTable.js +1 -0
- package/dist/migrations/1749600000023.CreateSysAdminUserRolesJoinTable.js.map +1 -1
- package/dist/migrations/1749600000024.CreateSysAuthSessionsTable.d.ts.map +1 -1
- package/dist/migrations/1749600000024.CreateSysAuthSessionsTable.js +1 -1
- package/dist/migrations/1749600000024.CreateSysAuthSessionsTable.js.map +1 -1
- package/dist/migrations/1749600000025.CreateSysScopesTable.d.ts.map +1 -1
- package/dist/migrations/1749600000025.CreateSysScopesTable.js +1 -0
- package/dist/migrations/1749600000025.CreateSysScopesTable.js.map +1 -1
- package/dist/migrations/1749600000026.CreateSysApiScopesTable.d.ts.map +1 -1
- package/dist/migrations/1749600000026.CreateSysApiScopesTable.js +1 -0
- package/dist/migrations/1749600000026.CreateSysApiScopesTable.js.map +1 -1
- package/dist/migrations/1749600000027.CreateSysTenantScopesTable.d.ts.map +1 -1
- package/dist/migrations/1749600000027.CreateSysTenantScopesTable.js +1 -0
- package/dist/migrations/1749600000027.CreateSysTenantScopesTable.js.map +1 -1
- package/dist/migrations/1749600000028.CreateSysDocumentsTable.d.ts.map +1 -1
- package/dist/migrations/1749600000028.CreateSysDocumentsTable.js +11 -1
- package/dist/migrations/1749600000028.CreateSysDocumentsTable.js.map +1 -1
- package/dist/migrations/1749600000029.CreateSysPdfTemplatesTable.d.ts.map +1 -1
- package/dist/migrations/1749600000029.CreateSysPdfTemplatesTable.js +1 -0
- package/dist/migrations/1749600000029.CreateSysPdfTemplatesTable.js.map +1 -1
- package/dist/migrations/1749600000030.CreateSysTenantUsersTable.d.ts.map +1 -1
- package/dist/migrations/1749600000030.CreateSysTenantUsersTable.js +1 -0
- package/dist/migrations/1749600000030.CreateSysTenantUsersTable.js.map +1 -1
- package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.d.ts.map +1 -1
- package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.js +10 -1
- package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.js.map +1 -1
- package/dist/migrations/1749600000032.CreateSysEmailVerificationTokensTable.d.ts +6 -0
- package/dist/migrations/1749600000032.CreateSysEmailVerificationTokensTable.d.ts.map +1 -0
- package/dist/migrations/1749600000032.CreateSysEmailVerificationTokensTable.js +30 -0
- package/dist/migrations/1749600000032.CreateSysEmailVerificationTokensTable.js.map +1 -0
- package/dist/notification/dtos/email.notification.options.dto.d.ts +2 -0
- package/dist/notification/dtos/email.notification.options.dto.d.ts.map +1 -1
- package/dist/notification/dtos/email.notification.options.dto.js.map +1 -1
- package/dist/notification/enums/email.notification.default.enum.d.ts +9 -1
- package/dist/notification/enums/email.notification.default.enum.d.ts.map +1 -1
- package/dist/notification/enums/email.notification.default.enum.js +10 -1
- package/dist/notification/enums/email.notification.default.enum.js.map +1 -1
- package/dist/notification/enums/notification.default.enum.d.ts +7 -0
- package/dist/notification/enums/notification.default.enum.d.ts.map +1 -0
- package/dist/notification/enums/notification.default.enum.js +11 -0
- package/dist/notification/enums/notification.default.enum.js.map +1 -0
- package/dist/notification/enums/template.pattern.enum.d.ts +4 -0
- package/dist/notification/enums/template.pattern.enum.d.ts.map +1 -0
- package/dist/notification/enums/template.pattern.enum.js +7 -0
- package/dist/notification/enums/template.pattern.enum.js.map +1 -0
- package/dist/notification/es6.classes.d.ts +3 -1
- package/dist/notification/es6.classes.d.ts.map +1 -1
- package/dist/notification/es6.classes.js +4 -0
- package/dist/notification/es6.classes.js.map +1 -1
- package/dist/notification/jobs/email.verification.mail.job.d.ts +14 -0
- package/dist/notification/jobs/email.verification.mail.job.d.ts.map +1 -0
- package/dist/notification/jobs/email.verification.mail.job.js +59 -0
- package/dist/notification/jobs/email.verification.mail.job.js.map +1 -0
- package/dist/notification/jobs/purge.email.logs.job.d.ts +11 -0
- package/dist/notification/jobs/purge.email.logs.job.d.ts.map +1 -0
- package/dist/notification/jobs/purge.email.logs.job.js +37 -0
- package/dist/notification/jobs/purge.email.logs.job.js.map +1 -0
- package/dist/notification/jobs/tenant.onboarded.mail.job.d.ts +1 -4
- package/dist/notification/jobs/tenant.onboarded.mail.job.d.ts.map +1 -1
- package/dist/notification/jobs/tenant.onboarded.mail.job.js +6 -17
- package/dist/notification/jobs/tenant.onboarded.mail.job.js.map +1 -1
- package/dist/notification/jobs/tenant.user.invited.mail.job.d.ts +8 -2
- package/dist/notification/jobs/tenant.user.invited.mail.job.d.ts.map +1 -1
- package/dist/notification/jobs/tenant.user.invited.mail.job.js +44 -5
- package/dist/notification/jobs/tenant.user.invited.mail.job.js.map +1 -1
- package/dist/notification/jobs/tenant.user.onboarded.mail.job.d.ts +1 -4
- package/dist/notification/jobs/tenant.user.onboarded.mail.job.d.ts.map +1 -1
- package/dist/notification/jobs/tenant.user.onboarded.mail.job.js +6 -17
- package/dist/notification/jobs/tenant.user.onboarded.mail.job.js.map +1 -1
- package/dist/notification/libraries/process.email.notification.d.ts.map +1 -1
- package/dist/notification/libraries/process.email.notification.js +1 -0
- package/dist/notification/libraries/process.email.notification.js.map +1 -1
- package/dist/notification/notification.module.d.ts.map +1 -1
- package/dist/notification/notification.module.js +11 -3
- package/dist/notification/notification.module.js.map +1 -1
- package/dist/notification/services/email.notification.service.d.ts +8 -1
- package/dist/notification/services/email.notification.service.d.ts.map +1 -1
- package/dist/notification/services/email.notification.service.js +58 -20
- package/dist/notification/services/email.notification.service.js.map +1 -1
- package/dist/notification/services/notification.service.d.ts +8 -2
- package/dist/notification/services/notification.service.d.ts.map +1 -1
- package/dist/notification/services/notification.service.js +53 -24
- package/dist/notification/services/notification.service.js.map +1 -1
- package/dist/notification/types/email.notification.types.d.ts +5 -1
- package/dist/notification/types/email.notification.types.d.ts.map +1 -1
- package/dist/notification/types/template.types.d.ts +9 -0
- package/dist/notification/types/template.types.d.ts.map +1 -0
- package/dist/notification/types/template.types.js +3 -0
- package/dist/notification/types/template.types.js.map +1 -0
- package/dist/notification/utilities/email.log.utility.d.ts +2 -0
- package/dist/notification/utilities/email.log.utility.d.ts.map +1 -0
- package/dist/notification/utilities/email.log.utility.js +12 -0
- package/dist/notification/utilities/email.log.utility.js.map +1 -0
- package/dist/notification/utilities/server.environment.utility.d.ts +2 -0
- package/dist/notification/utilities/server.environment.utility.d.ts.map +1 -0
- package/dist/notification/utilities/server.environment.utility.js +10 -0
- package/dist/notification/utilities/server.environment.utility.js.map +1 -0
- package/dist/notification/utilities/template.data.utility.d.ts +4 -0
- package/dist/notification/utilities/template.data.utility.d.ts.map +1 -0
- package/dist/notification/utilities/template.data.utility.js +48 -0
- package/dist/notification/utilities/template.data.utility.js.map +1 -0
- package/dist/notification/utilities/template.url.utility.d.ts +3 -0
- package/dist/notification/utilities/template.url.utility.d.ts.map +1 -0
- package/dist/notification/utilities/template.url.utility.js +36 -0
- package/dist/notification/utilities/template.url.utility.js.map +1 -0
- package/dist/tenant/es6.classes.d.ts +2 -1
- package/dist/tenant/es6.classes.d.ts.map +1 -1
- package/dist/tenant/es6.classes.js +2 -1
- package/dist/tenant/es6.classes.js.map +1 -1
- package/dist/tenant/helpers/tenant.job.context.d.ts +3 -0
- package/dist/tenant/helpers/tenant.job.context.d.ts.map +1 -0
- package/dist/tenant/helpers/tenant.job.context.js +16 -0
- package/dist/tenant/helpers/tenant.job.context.js.map +1 -0
- package/dist/tenant/middlewares/tenant.context.middleware.d.ts.map +1 -1
- package/dist/tenant/middlewares/tenant.context.middleware.js +7 -3
- package/dist/tenant/middlewares/tenant.context.middleware.js.map +1 -1
- package/dist/tenant/repositories/tenant.scoped.repository.d.ts +30 -0
- package/dist/tenant/repositories/tenant.scoped.repository.d.ts.map +1 -0
- package/dist/tenant/repositories/tenant.scoped.repository.js +137 -0
- package/dist/tenant/repositories/tenant.scoped.repository.js.map +1 -0
- package/dist/tenant/services/tenant.context.service.d.ts +8 -1
- package/dist/tenant/services/tenant.context.service.d.ts.map +1 -1
- package/dist/tenant/services/tenant.context.service.js +31 -7
- package/dist/tenant/services/tenant.context.service.js.map +1 -1
- package/dist/tenant/services/tenant.service.d.ts +2 -1
- package/dist/tenant/services/tenant.service.d.ts.map +1 -1
- package/dist/tenant/services/tenant.service.js +13 -0
- package/dist/tenant/services/tenant.service.js.map +1 -1
- package/dist/tenant/subscribers/tenant.scope.subscriber.d.ts +13 -0
- package/dist/tenant/subscribers/tenant.scope.subscriber.d.ts.map +1 -0
- package/dist/tenant/subscribers/tenant.scope.subscriber.js +56 -0
- package/dist/tenant/subscribers/tenant.scope.subscriber.js.map +1 -0
- package/dist/tenant/tenant.module.d.ts +3 -2
- package/dist/tenant/tenant.module.d.ts.map +1 -1
- package/dist/tenant/tenant.module.js +18 -2
- package/dist/tenant/tenant.module.js.map +1 -1
- package/dist/tenant/types/tenant.types.d.ts +2 -0
- package/dist/tenant/types/tenant.types.d.ts.map +1 -1
- package/dist/tenant/utilities/tenant.revocation.d.ts +5 -0
- package/dist/tenant/utilities/tenant.revocation.d.ts.map +1 -0
- package/dist/tenant/utilities/tenant.revocation.js +17 -0
- package/dist/tenant/utilities/tenant.revocation.js.map +1 -0
- package/package.json +9 -6
|
@@ -3,8 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ApiKeyDataProcessor = void 0;
|
|
4
4
|
const typeorm_1 = require("typeorm");
|
|
5
5
|
const common_data_processor_1 = require("../../common/libraries/common.data.processor");
|
|
6
|
+
const api_key_entity_1 = require("../../auth/entities/api.key.entity");
|
|
6
7
|
const scope_entity_1 = require("../../auth/entities/scope.entity");
|
|
8
|
+
const audit_action_enum_1 = require("../../common/enums/audit.action.enum");
|
|
9
|
+
const entity_constants_1 = require("../../constants/entity.constants");
|
|
7
10
|
const tenant_entity_1 = require("../../tenant/entities/tenant.entity");
|
|
11
|
+
const admin_audit_1 = require("../utilities/admin.audit");
|
|
12
|
+
const admin_policy_1 = require("../utilities/admin.policy");
|
|
8
13
|
class ApiKeyDataProcessor extends common_data_processor_1.CommonDataProcessor {
|
|
9
14
|
constructor(actor, apiKeyService, scopeService) {
|
|
10
15
|
super();
|
|
@@ -19,8 +24,13 @@ class ApiKeyDataProcessor extends common_data_processor_1.CommonDataProcessor {
|
|
|
19
24
|
}
|
|
20
25
|
async validate() {
|
|
21
26
|
const body = this.payload;
|
|
22
|
-
|
|
23
|
-
|
|
27
|
+
const expiry = admin_policy_1.AdminPolicy.apiKeyExpiry(body.expires_at);
|
|
28
|
+
if (expiry.error)
|
|
29
|
+
this.setColumnError('expires_at', expiry.error);
|
|
30
|
+
else
|
|
31
|
+
this.expiresAt = expiry.expiresAt;
|
|
32
|
+
if (!(await tenant_entity_1.TenantEntity.existsBy({ id: body.tenant_id, is_active: true })))
|
|
33
|
+
this.setColumnError('tenant_id', 'Tenant not found or inactive');
|
|
24
34
|
else
|
|
25
35
|
await this.validateScopes();
|
|
26
36
|
this.raiseExceptionOnValidationFailure();
|
|
@@ -47,7 +57,20 @@ class ApiKeyDataProcessor extends common_data_processor_1.CommonDataProcessor {
|
|
|
47
57
|
tenantId: body.tenant_id,
|
|
48
58
|
scopeIds: body.scope_ids,
|
|
49
59
|
createdBy: this.actor.id,
|
|
50
|
-
|
|
60
|
+
expiresAt: this.expiresAt,
|
|
61
|
+
});
|
|
62
|
+
await admin_audit_1.AdminAudit.record(api_key_entity_1.ApiKeyEntity.getRepository().manager, {
|
|
63
|
+
actor: this.actor,
|
|
64
|
+
sourceType: entity_constants_1.baseEntityConstants.apiKey,
|
|
65
|
+
sourceId: apiKey.id,
|
|
66
|
+
action: audit_action_enum_1.AuditAction.CREATE,
|
|
67
|
+
newValue: {
|
|
68
|
+
name: apiKey.name,
|
|
69
|
+
key_prefix: apiKey.key_prefix,
|
|
70
|
+
tenant_id: body.tenant_id,
|
|
71
|
+
scope_ids: body.scope_ids ?? [],
|
|
72
|
+
expires_at: this.expiresAt.toISOString(),
|
|
73
|
+
},
|
|
51
74
|
});
|
|
52
75
|
return { raw_key: rawKey, api_key: apiKey };
|
|
53
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.key.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/api.key.data.processor.ts"],"names":[],"mappings":";;;AAAA,qCAA6B;AAC7B,wFAAmF;AAEnF,mEAA+D;AAG/D,uEAAmE;
|
|
1
|
+
{"version":3,"file":"api.key.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/api.key.data.processor.ts"],"names":[],"mappings":";;;AAAA,qCAA6B;AAC7B,wFAAmF;AAEnF,uEAAkE;AAClE,mEAA+D;AAG/D,4EAAmE;AACnE,uEAAuE;AACvE,uEAAmE;AAGnE,0DAAsD;AACtD,4DAAwD;AAMxD,MAAa,mBAAoB,SAAQ,2CAAmB;IAI1D,YACmB,KAAsB,EACtB,aAA4B,EAC5B,YAA0B;QAE3C,KAAK,EAAE,CAAC;QAJS,UAAK,GAAL,KAAK,CAAiB;QACtB,kBAAa,GAAb,aAAa,CAAe;QAC5B,iBAAY,GAAZ,YAAY,CAAc;IAG7C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAqB;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAE1B,MAAM,MAAM,GAAG,0BAAW,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,MAAM,CAAC,KAAK;YAAE,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;;YAC7D,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAiB,CAAC;QAE/C,IAAI,CAAC,CAAC,MAAM,4BAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzE,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC;;YAC9D,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAEjC,IAAI,CAAC,iCAAiC,EAAE,CAAC;IAC3C,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO;QAE7B,MAAM,MAAM,GAAG,MAAM,0BAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAA,YAAE,EAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAEvD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CACpD,IAAI,CAAC,OAAO,CAAC,SAAS,CACvB,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,UAAU,OAAO,aAAa,CAAC,CAAC;gBACjE,SAAS;YACX,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;gBACvB,IAAI,CAAC,cAAc,CACjB,WAAW,EACX,UAAU,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,UAAU,IAAI,OAAO,kCAAkC,CAChH,CAAC;QACN,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,GAAG;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAE1B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAChE,IAAI,CAAC,IAAI,EACT;YACE,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;YACxB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CACF,CAAC;QAEF,MAAM,wBAAU,CAAC,MAAM,CAAC,6BAAY,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE;YAC5D,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,sCAAmB,CAAC,MAAM;YACtC,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,MAAM,EAAE,+BAAW,CAAC,MAAM;YAC1B,QAAQ,EAAE;gBACR,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;gBAC/B,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;aACzC;SACF,CAAC,CAAC;QAEH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC9C,CAAC;CACF;AArFD,kDAqFC"}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import { UserDataProcessor } from './user.data.processor';
|
|
2
|
+
import { AdminUserEntity } from '../../auth/entities/admin.user.entity';
|
|
2
3
|
import { TenantService } from '../../tenant/services/tenant.service';
|
|
3
4
|
import { AddBulkUsersDto } from '../dtos/add.bulk.users.dto';
|
|
4
5
|
import type { BulkUserResult } from '../types/admin.types';
|
|
5
6
|
export type { BulkUserResult } from '../types/admin.types';
|
|
6
7
|
export declare class BulkUserDataProcessor extends UserDataProcessor {
|
|
8
|
+
private readonly actor;
|
|
7
9
|
private readonly tenantService;
|
|
8
10
|
protected payload: AddBulkUsersDto;
|
|
9
|
-
constructor(tenantService: TenantService);
|
|
11
|
+
constructor(actor: AdminUserEntity, tenantService: TenantService);
|
|
10
12
|
process(payload: AddBulkUsersDto): Promise<BulkUserResult>;
|
|
11
13
|
private validate;
|
|
12
14
|
private create;
|
|
13
15
|
private flagDuplicateEmails;
|
|
14
16
|
private flagMissingPasswords;
|
|
15
17
|
private flagTakenEmails;
|
|
18
|
+
private flagTakenContacts;
|
|
16
19
|
}
|
|
17
20
|
//# sourceMappingURL=bulk.user.data.processor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulk.user.data.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/bulk.user.data.processor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bulk.user.data.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/bulk.user.data.processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAGxE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAO7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAQ3D,qBAAa,qBAAsB,SAAQ,iBAAiB;IAIxD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAJhC,SAAS,CAAC,OAAO,EAAE,eAAe,CAAC;gBAGhB,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,aAAa;IAKzC,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;YAMlD,QAAQ;YAaR,MAAM;IA8CpB,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,oBAAoB;YAQd,eAAe;YAiBf,iBAAiB;CA4BhC"}
|
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BulkUserDataProcessor = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
4
5
|
const user_data_processor_1 = require("./user.data.processor");
|
|
5
6
|
const user_entity_1 = require("../../auth/entities/user.entity");
|
|
6
7
|
const user_type_enum_1 = require("../../auth/enums/user.type.enum");
|
|
7
8
|
const tenant_user_entity_1 = require("../../auth/entities/tenant.user.entity");
|
|
8
9
|
const auth_utilities_1 = require("../../auth/utilities/auth.utilities");
|
|
10
|
+
const audit_action_enum_1 = require("../../common/enums/audit.action.enum");
|
|
11
|
+
const entity_constants_1 = require("../../constants/entity.constants");
|
|
12
|
+
const admin_audit_1 = require("../utilities/admin.audit");
|
|
13
|
+
const admin_default_enum_1 = require("../enums/admin.default.enum");
|
|
14
|
+
const bounded_concurrency_1 = require("../utilities/bounded.concurrency");
|
|
9
15
|
class BulkUserDataProcessor extends user_data_processor_1.UserDataProcessor {
|
|
10
|
-
constructor(tenantService) {
|
|
16
|
+
constructor(actor, tenantService) {
|
|
11
17
|
super();
|
|
18
|
+
this.actor = actor;
|
|
12
19
|
this.tenantService = tenantService;
|
|
13
20
|
}
|
|
14
21
|
async process(payload) {
|
|
@@ -22,12 +29,13 @@ class BulkUserDataProcessor extends user_data_processor_1.UserDataProcessor {
|
|
|
22
29
|
this.setColumnError('tenant_id', 'Tenant not found or inactive');
|
|
23
30
|
this.flagDuplicateEmails();
|
|
24
31
|
await this.flagTakenEmails();
|
|
32
|
+
await this.flagTakenContacts();
|
|
25
33
|
this.flagMissingPasswords();
|
|
26
34
|
this.raiseExceptionOnValidationFailure();
|
|
27
35
|
}
|
|
28
36
|
async create() {
|
|
29
37
|
const body = this.payload;
|
|
30
|
-
const entities = await
|
|
38
|
+
const entities = await bounded_concurrency_1.BoundedConcurrency.map(body.users, admin_default_enum_1.AdminLimit.BULK_HASH_CONCURRENCY, async (user) => user_entity_1.UserEntity.create({
|
|
31
39
|
user_type: user_type_enum_1.UserType.TENANT_USER,
|
|
32
40
|
organization_id: body.tenant_id,
|
|
33
41
|
full_name: user.full_name,
|
|
@@ -37,13 +45,20 @@ class BulkUserDataProcessor extends user_data_processor_1.UserDataProcessor {
|
|
|
37
45
|
contact_code: user.contact_code,
|
|
38
46
|
contact: user.contact,
|
|
39
47
|
active: user.active ?? true,
|
|
40
|
-
}))
|
|
48
|
+
}));
|
|
41
49
|
await user_entity_1.UserEntity.getRepository().manager.transaction(async (trx) => {
|
|
42
50
|
await trx.save(entities);
|
|
43
51
|
await trx.save(entities.map((user) => trx.create(tenant_user_entity_1.TenantUserEntity, {
|
|
44
52
|
user_id: user.id,
|
|
45
53
|
tenant_id: body.tenant_id,
|
|
46
54
|
})));
|
|
55
|
+
await admin_audit_1.AdminAudit.record(trx, {
|
|
56
|
+
actor: this.actor,
|
|
57
|
+
sourceType: entity_constants_1.baseEntityConstants.tenant,
|
|
58
|
+
sourceId: body.tenant_id,
|
|
59
|
+
action: audit_action_enum_1.AuditAction.IMPORT,
|
|
60
|
+
context: { user_ids: entities.map((user) => user.id) },
|
|
61
|
+
});
|
|
47
62
|
});
|
|
48
63
|
return {
|
|
49
64
|
created: entities.length,
|
|
@@ -81,6 +96,27 @@ class BulkUserDataProcessor extends user_data_processor_1.UserDataProcessor {
|
|
|
81
96
|
}
|
|
82
97
|
});
|
|
83
98
|
}
|
|
99
|
+
async flagTakenContacts() {
|
|
100
|
+
const key = (contact, code) => `${code ?? ''}|${contact}`;
|
|
101
|
+
const rows = this.payload.users
|
|
102
|
+
.map((user, index) => ({ user, index }))
|
|
103
|
+
.filter(({ user }) => !!user.contact);
|
|
104
|
+
if (!rows.length)
|
|
105
|
+
return;
|
|
106
|
+
const existing = await user_entity_1.UserEntity.find({
|
|
107
|
+
where: { contact: (0, typeorm_1.In)(rows.map(({ user }) => user.contact)) },
|
|
108
|
+
select: { id: true, contact: true, contact_code: true },
|
|
109
|
+
});
|
|
110
|
+
const seen = new Set();
|
|
111
|
+
for (const { user, index } of rows) {
|
|
112
|
+
const taken = existing.some((row) => row.contact === user.contact &&
|
|
113
|
+
(!user.contact_code || row.contact_code === user.contact_code));
|
|
114
|
+
const k = key(user.contact, user.contact_code);
|
|
115
|
+
if (taken || seen.has(k))
|
|
116
|
+
this.setColumnError(`users[${index}].contact`, 'Contact number is already registered');
|
|
117
|
+
seen.add(k);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
84
120
|
}
|
|
85
121
|
exports.BulkUserDataProcessor = BulkUserDataProcessor;
|
|
86
122
|
//# sourceMappingURL=bulk.user.data.processor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulk.user.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/bulk.user.data.processor.ts"],"names":[],"mappings":";;;AAAA,+DAA0D;AAC1D,iEAA6D;
|
|
1
|
+
{"version":3,"file":"bulk.user.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/bulk.user.data.processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EntityManager, Repository } from 'typeorm';
|
|
2
|
+
import { CommonDataProcessor } from '../../common/libraries/common.data.processor';
|
|
3
|
+
export declare abstract class CatalogueDataProcessor<E extends {
|
|
4
|
+
id: string;
|
|
5
|
+
}> extends CommonDataProcessor {
|
|
6
|
+
protected existing: E | null;
|
|
7
|
+
protected abstract readonly label: string;
|
|
8
|
+
protected abstract repository(): Repository<E>;
|
|
9
|
+
protected get isNew(): boolean;
|
|
10
|
+
protected loadExisting(id: string | undefined): Promise<void>;
|
|
11
|
+
protected assertUnique(field: keyof E & string, value: unknown, selfId: string | undefined): Promise<void>;
|
|
12
|
+
protected assertImmutable(field: keyof E & string, next: unknown): void;
|
|
13
|
+
protected transaction<T>(work: (manager: EntityManager) => Promise<T>): Promise<T>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=catalogue.data.processor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalogue.data.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/catalogue.data.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,UAAU,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAOnF,8BAAsB,sBAAsB,CAC1C,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CACxB,SAAQ,mBAAmB;IAE3B,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAQ;IAGpC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAE1C,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC;IAE9C,SAAS,KAAK,KAAK,IAAI,OAAO,CAE7B;cAGe,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;cAUnD,YAAY,CAC1B,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,EACvB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,OAAO,CAAC,IAAI,CAAC;IAahB,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IASvE,SAAS,CAAC,WAAW,CAAC,CAAC,EACrB,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,GAC3C,OAAO,CAAC,CAAC,CAAC;CAGd"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CatalogueDataProcessor = void 0;
|
|
4
|
+
const common_data_processor_1 = require("../../common/libraries/common.data.processor");
|
|
5
|
+
class CatalogueDataProcessor extends common_data_processor_1.CommonDataProcessor {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.existing = null;
|
|
9
|
+
}
|
|
10
|
+
get isNew() {
|
|
11
|
+
return !this.existing;
|
|
12
|
+
}
|
|
13
|
+
async loadExisting(id) {
|
|
14
|
+
if (!id)
|
|
15
|
+
return;
|
|
16
|
+
this.existing = await this.repository().findOne({
|
|
17
|
+
where: { id },
|
|
18
|
+
});
|
|
19
|
+
if (!this.existing)
|
|
20
|
+
this.setColumnError('id', `No ${this.label} exists for this id`);
|
|
21
|
+
}
|
|
22
|
+
async assertUnique(field, value, selfId) {
|
|
23
|
+
if (value === undefined || value === null)
|
|
24
|
+
return;
|
|
25
|
+
const owner = await this.repository().findOne({
|
|
26
|
+
where: { [field]: value },
|
|
27
|
+
});
|
|
28
|
+
if (owner && owner.id !== selfId)
|
|
29
|
+
this.setColumnError(field, `Another ${this.label} already uses this ${field}`);
|
|
30
|
+
}
|
|
31
|
+
assertImmutable(field, next) {
|
|
32
|
+
if (!this.existing || next === undefined)
|
|
33
|
+
return;
|
|
34
|
+
if ((this.existing[field] ?? null) !== (next ?? null))
|
|
35
|
+
this.setColumnError(field, `${field} cannot be changed once the ${this.label} exists; create a new one instead`);
|
|
36
|
+
}
|
|
37
|
+
transaction(work) {
|
|
38
|
+
return this.repository().manager.transaction(work);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.CatalogueDataProcessor = CatalogueDataProcessor;
|
|
42
|
+
//# sourceMappingURL=catalogue.data.processor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalogue.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/catalogue.data.processor.ts"],"names":[],"mappings":";;;AACA,wFAAmF;AAOnF,MAAsB,sBAEpB,SAAQ,2CAAmB;IAF7B;;QAIY,aAAQ,GAAa,IAAI,CAAC;IAqDtC,CAAC;IA9CC,IAAc,KAAK;QACjB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxB,CAAC;IAGS,KAAK,CAAC,YAAY,CAAC,EAAsB;QACjD,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC;YAC9C,KAAK,EAAE,EAAE,EAAE,EAAyB;SACrC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,QAAQ;YAChB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,KAAK,qBAAqB,CAAC,CAAC;IACrE,CAAC;IAGS,KAAK,CAAC,YAAY,CAC1B,KAAuB,EACvB,KAAc,EACd,MAA0B;QAE1B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO;QAClD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC;YAC5C,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAyB;SACjD,CAAC,CAAC;QACH,IAAI,KAAK,IAAI,KAAK,CAAC,EAAE,KAAK,MAAM;YAC9B,IAAI,CAAC,cAAc,CACjB,KAAK,EACL,WAAW,IAAI,CAAC,KAAK,sBAAsB,KAAK,EAAE,CACnD,CAAC;IACN,CAAC;IAGS,eAAe,CAAC,KAAuB,EAAE,IAAa;QAC9D,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QACjD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC;YACnD,IAAI,CAAC,cAAc,CACjB,KAAK,EACL,GAAG,KAAK,+BAA+B,IAAI,CAAC,KAAK,mCAAmC,CACrF,CAAC;IACN,CAAC;IAES,WAAW,CACnB,IAA4C;QAE5C,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;CACF;AAzDD,wDAyDC"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { CommonDataProcessor } from '../../common/libraries/common.data.processor';
|
|
2
2
|
import { TenantUserEntity } from '../../auth/entities/tenant.user.entity';
|
|
3
|
+
import { AdminAuthenticatedAccess } from '../../auth/types/auth.types';
|
|
3
4
|
import { TenantService } from '../../tenant/services/tenant.service';
|
|
4
5
|
import { AddClientMembershipDto } from '../dtos/add.client.membership.dto';
|
|
5
6
|
export declare class ClientMembershipDataProcessor extends CommonDataProcessor {
|
|
7
|
+
private readonly access;
|
|
6
8
|
private readonly tenantService;
|
|
7
9
|
protected payload: AddClientMembershipDto;
|
|
8
|
-
|
|
10
|
+
private roles;
|
|
11
|
+
constructor(access: AdminAuthenticatedAccess, tenantService: TenantService);
|
|
9
12
|
process(payload: AddClientMembershipDto): Promise<TenantUserEntity>;
|
|
10
13
|
private validate;
|
|
11
14
|
private validateRoles;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.membership.data.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/client.membership.data.processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAEnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAI1E,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"client.membership.data.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/client.membership.data.processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAEnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAI1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAGvE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAU3E,qBAAa,6BAA8B,SAAQ,mBAAmB;IAKlE,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IALhC,SAAS,CAAC,OAAO,EAAE,sBAAsB,CAAC;IAC1C,OAAO,CAAC,KAAK,CAA0B;gBAGpB,MAAM,EAAE,wBAAwB,EAChC,aAAa,EAAE,aAAa;IAKzC,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAM3D,QAAQ;YA6BR,aAAa;YAiBb,MAAM;CAsBrB"}
|
|
@@ -8,10 +8,17 @@ const tenant_user_entity_1 = require("../../auth/entities/tenant.user.entity");
|
|
|
8
8
|
const user_entity_1 = require("../../auth/entities/user.entity");
|
|
9
9
|
const user_type_enum_1 = require("../../auth/enums/user.type.enum");
|
|
10
10
|
const tenant_access_1 = require("../../auth/utilities/tenant.access");
|
|
11
|
+
const audit_action_enum_1 = require("../../common/enums/audit.action.enum");
|
|
12
|
+
const entity_constants_1 = require("../../constants/entity.constants");
|
|
13
|
+
const admin_access_service_1 = require("../services/admin.access.service");
|
|
14
|
+
const admin_audit_1 = require("../utilities/admin.audit");
|
|
15
|
+
const tenant_role_policy_1 = require("../utilities/tenant.role.policy");
|
|
11
16
|
class ClientMembershipDataProcessor extends common_data_processor_1.CommonDataProcessor {
|
|
12
|
-
constructor(tenantService) {
|
|
17
|
+
constructor(access, tenantService) {
|
|
13
18
|
super();
|
|
19
|
+
this.access = access;
|
|
14
20
|
this.tenantService = tenantService;
|
|
21
|
+
this.roles = [];
|
|
15
22
|
}
|
|
16
23
|
async process(payload) {
|
|
17
24
|
this.payload = payload;
|
|
@@ -20,8 +27,10 @@ class ClientMembershipDataProcessor extends common_data_processor_1.CommonDataPr
|
|
|
20
27
|
}
|
|
21
28
|
async validate() {
|
|
22
29
|
const { user_id, tenant_id } = this.payload;
|
|
23
|
-
const user = await user_entity_1.UserEntity.findOne({
|
|
24
|
-
|
|
30
|
+
const user = await user_entity_1.UserEntity.findOne({
|
|
31
|
+
where: { id: user_id, user_type: user_type_enum_1.UserType.TENANT_USER },
|
|
32
|
+
});
|
|
33
|
+
if (!user)
|
|
25
34
|
this.setColumnError('user_id', 'No client user exists for this id');
|
|
26
35
|
if (!(await this.tenantService.findByUuid(tenant_id)))
|
|
27
36
|
this.setColumnError('tenant_id', 'Tenant not found or inactive');
|
|
@@ -29,23 +38,41 @@ class ClientMembershipDataProcessor extends common_data_processor_1.CommonDataPr
|
|
|
29
38
|
this.setColumnError('tenant_id', 'Already a member of this tenant');
|
|
30
39
|
await this.validateRoles();
|
|
31
40
|
this.raiseExceptionOnValidationFailure();
|
|
41
|
+
admin_access_service_1.AdminAccessService.assertHolds(this.access, tenant_role_policy_1.TenantRolePolicy.tenantUserSaveRole({
|
|
42
|
+
grantsPrivileged: tenant_role_policy_1.TenantRolePolicy.newPrivilegedGrants(this.roles).length > 0,
|
|
43
|
+
emailChanged: false,
|
|
44
|
+
holdsPrivileged: false,
|
|
45
|
+
}), 'Granting a privileged tenant role');
|
|
32
46
|
}
|
|
33
47
|
async validateRoles() {
|
|
34
48
|
const roleIds = [...new Set(this.payload.role_ids ?? [])];
|
|
35
49
|
if (!roleIds.length)
|
|
36
50
|
return;
|
|
37
|
-
|
|
51
|
+
this.roles = await system_role_entity_1.SystemRoleEntity.findBy({
|
|
38
52
|
id: (0, typeorm_1.In)(roleIds),
|
|
39
53
|
is_active: true,
|
|
40
54
|
});
|
|
41
|
-
const found = new Set(roles.map((role) => role.id));
|
|
55
|
+
const found = new Set(this.roles.map((role) => role.id));
|
|
42
56
|
for (const roleId of roleIds)
|
|
43
57
|
if (!found.has(roleId))
|
|
44
58
|
this.setColumnError('role_ids', `Role '${roleId}' not found or inactive`);
|
|
45
59
|
}
|
|
46
60
|
async create() {
|
|
47
61
|
const { user_id, tenant_id, role_ids } = this.payload;
|
|
48
|
-
await tenant_user_entity_1.TenantUserEntity.getRepository().manager.transaction((trx) =>
|
|
62
|
+
await tenant_user_entity_1.TenantUserEntity.getRepository().manager.transaction(async (trx) => {
|
|
63
|
+
await tenant_access_1.TenantAccess.join(trx, user_id, tenant_id, role_ids ?? []);
|
|
64
|
+
const membership = await trx.findOneByOrFail(tenant_user_entity_1.TenantUserEntity, {
|
|
65
|
+
user_id,
|
|
66
|
+
tenant_id,
|
|
67
|
+
});
|
|
68
|
+
await admin_audit_1.AdminAudit.record(trx, {
|
|
69
|
+
actor: this.access.user,
|
|
70
|
+
sourceType: entity_constants_1.baseEntityConstants.tenantUser,
|
|
71
|
+
sourceId: membership.id,
|
|
72
|
+
action: audit_action_enum_1.AuditAction.CREATE,
|
|
73
|
+
newValue: { user_id, tenant_id, role_ids: role_ids ?? [] },
|
|
74
|
+
});
|
|
75
|
+
});
|
|
49
76
|
return tenant_user_entity_1.TenantUserEntity.findOneOrFail({
|
|
50
77
|
where: { user_id, tenant_id },
|
|
51
78
|
relations: { tenant: true },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.membership.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/client.membership.data.processor.ts"],"names":[],"mappings":";;;AAAA,qCAA6B;AAC7B,wFAAmF;AACnF,+EAA0E;AAC1E,+EAA0E;AAC1E,iEAA6D;AAC7D,oEAA2D;AAC3D,sEAAkE;
|
|
1
|
+
{"version":3,"file":"client.membership.data.processor.js","sourceRoot":"","sources":["../../../src/admin/libraries/client.membership.data.processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,21 +3,27 @@ import { UserEntity } from '../../auth/entities/user.entity';
|
|
|
3
3
|
import { TenantService } from '../../tenant/services/tenant.service';
|
|
4
4
|
import { AddClientUserDto } from '../dtos/add.client.user.dto';
|
|
5
5
|
import { TenantUserOnboardedMailJob } from '../../notification/jobs/tenant.user.onboarded.mail.job';
|
|
6
|
+
import { AdminAuthenticatedAccess } from '../../auth/types/auth.types';
|
|
6
7
|
export declare class ClientUserDataProcessor extends UserDataProcessor {
|
|
8
|
+
private readonly access;
|
|
7
9
|
private readonly tenantService;
|
|
8
10
|
private readonly tenantUserOnboardedMailJob;
|
|
9
11
|
protected payload: AddClientUserDto;
|
|
10
12
|
private readonly logger;
|
|
11
13
|
private tenant;
|
|
12
|
-
|
|
14
|
+
private existing;
|
|
15
|
+
constructor(access: AdminAuthenticatedAccess, tenantService: TenantService, tenantUserOnboardedMailJob: TenantUserOnboardedMailJob);
|
|
13
16
|
process(payload: AddClientUserDto): Promise<UserEntity>;
|
|
14
17
|
private validate;
|
|
15
18
|
private validateTenant;
|
|
16
19
|
private validateMembership;
|
|
17
20
|
private resolveRoles;
|
|
21
|
+
private authorize;
|
|
18
22
|
private save;
|
|
19
23
|
private create;
|
|
20
24
|
private update;
|
|
25
|
+
private heldRoleIds;
|
|
26
|
+
private audit;
|
|
21
27
|
private notifyUser;
|
|
22
28
|
}
|
|
23
29
|
//# sourceMappingURL=client.user.data.processor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.user.data.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.data.processor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.user.data.processor.d.ts","sourceRoot":"","sources":["../../../src/admin/libraries/client.user.data.processor.ts"],"names":[],"mappings":"AAEA,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;AAG/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,wDAAwD,CAAC;AAMpG,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAwBvE,qBAAa,uBAAwB,SAAQ,iBAAiB;IAQ1D,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAT7C,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IAEnE,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,QAAQ,CAA2B;gBAGxB,MAAM,EAAE,wBAAwB,EAChC,aAAa,EAAE,aAAa,EAC5B,0BAA0B,EAAE,0BAA0B;IAKnE,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;YAM/C,QAAQ;YA6BR,cAAc;YAQd,kBAAkB;YAYlB,YAAY;YAmBZ,SAAS;YA6BT,IAAI;YAKJ,MAAM;YAmCN,MAAM;YAuCN,WAAW;IAQzB,OAAO,CAAC,KAAK;YAuBC,UAAU;CAiBzB"}
|
|
@@ -2,22 +2,30 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ClientUserDataProcessor = void 0;
|
|
4
4
|
const common_1 = require("@nestjs/common");
|
|
5
|
+
const typeorm_1 = require("typeorm");
|
|
5
6
|
const user_data_processor_1 = require("./user.data.processor");
|
|
6
7
|
const user_entity_1 = require("../../auth/entities/user.entity");
|
|
7
8
|
const user_type_enum_1 = require("../../auth/enums/user.type.enum");
|
|
8
9
|
const auth_utilities_1 = require("../../auth/utilities/auth.utilities");
|
|
10
|
+
const access_revocation_1 = require("../../auth/utilities/access.revocation");
|
|
9
11
|
const tenant_user_entity_1 = require("../../auth/entities/tenant.user.entity");
|
|
12
|
+
const user_role_entity_1 = require("../../auth/entities/user.role.entity");
|
|
10
13
|
const tenant_access_1 = require("../../auth/utilities/tenant.access");
|
|
11
|
-
const access_exception_1 = require("../../global/exceptions/access.exception");
|
|
12
|
-
const typeorm_1 = require("typeorm");
|
|
13
14
|
const system_role_entity_1 = require("../../auth/entities/system.role.entity");
|
|
15
|
+
const audit_action_enum_1 = require("../../common/enums/audit.action.enum");
|
|
16
|
+
const entity_constants_1 = require("../../constants/entity.constants");
|
|
17
|
+
const admin_access_service_1 = require("../services/admin.access.service");
|
|
18
|
+
const admin_audit_1 = require("../utilities/admin.audit");
|
|
19
|
+
const tenant_role_policy_1 = require("../utilities/tenant.role.policy");
|
|
14
20
|
class ClientUserDataProcessor extends user_data_processor_1.UserDataProcessor {
|
|
15
|
-
constructor(tenantService, tenantUserOnboardedMailJob) {
|
|
21
|
+
constructor(access, tenantService, tenantUserOnboardedMailJob) {
|
|
16
22
|
super();
|
|
23
|
+
this.access = access;
|
|
17
24
|
this.tenantService = tenantService;
|
|
18
25
|
this.tenantUserOnboardedMailJob = tenantUserOnboardedMailJob;
|
|
19
26
|
this.logger = new common_1.Logger(ClientUserDataProcessor.name);
|
|
20
27
|
this.tenant = null;
|
|
28
|
+
this.existing = null;
|
|
21
29
|
}
|
|
22
30
|
async process(payload) {
|
|
23
31
|
this.payload = payload;
|
|
@@ -26,16 +34,22 @@ class ClientUserDataProcessor extends user_data_processor_1.UserDataProcessor {
|
|
|
26
34
|
}
|
|
27
35
|
async validate() {
|
|
28
36
|
const editId = this.payload.id;
|
|
29
|
-
if (editId
|
|
30
|
-
this.
|
|
37
|
+
if (editId) {
|
|
38
|
+
this.existing = await user_entity_1.UserEntity.findOne({
|
|
39
|
+
where: { id: editId, user_type: user_type_enum_1.UserType.TENANT_USER },
|
|
40
|
+
});
|
|
41
|
+
if (!this.existing)
|
|
42
|
+
this.setColumnError('id', 'No client user exists for this id');
|
|
43
|
+
}
|
|
31
44
|
await this.validateTenant();
|
|
32
|
-
if (
|
|
33
|
-
await this.validateMembership(
|
|
45
|
+
if (this.existing)
|
|
46
|
+
await this.validateMembership(this.existing.id);
|
|
34
47
|
await this.validateEmail(this.payload.email, 'email', editId);
|
|
35
48
|
await this.validateContact(this.payload.contact, this.payload.contact_code, 'contact', editId);
|
|
36
49
|
this.validatePassword(this.payload.password, !!editId);
|
|
37
|
-
await this.resolveRoles(this.payload.role_ids, 'role_ids');
|
|
50
|
+
const roles = await this.resolveRoles(this.payload.role_ids, 'role_ids');
|
|
38
51
|
this.raiseExceptionOnValidationFailure();
|
|
52
|
+
await this.authorize(roles);
|
|
39
53
|
}
|
|
40
54
|
async validateTenant() {
|
|
41
55
|
const tenant = await this.tenantService.findByUuid(this.payload.tenant_id);
|
|
@@ -52,27 +66,38 @@ class ClientUserDataProcessor extends user_data_processor_1.UserDataProcessor {
|
|
|
52
66
|
this.setColumnError('tenant_id', 'This user is not a member of this tenant');
|
|
53
67
|
}
|
|
54
68
|
async resolveRoles(roleIds, field) {
|
|
55
|
-
|
|
69
|
+
const uniqueRoleIds = [...new Set(roleIds ?? [])];
|
|
70
|
+
if (!uniqueRoleIds.length)
|
|
56
71
|
return [];
|
|
57
|
-
}
|
|
58
|
-
const uniqueRoleIds = [...new Set(roleIds.map((role_id) => role_id))];
|
|
59
72
|
const roles = await system_role_entity_1.SystemRoleEntity.find({
|
|
60
|
-
where: {
|
|
61
|
-
id: (0, typeorm_1.In)(uniqueRoleIds),
|
|
62
|
-
is_active: true,
|
|
63
|
-
},
|
|
73
|
+
where: { id: (0, typeorm_1.In)(uniqueRoleIds), is_active: true },
|
|
64
74
|
});
|
|
65
75
|
const foundRoleIds = new Set(roles.map((role) => role.id));
|
|
66
|
-
for (const roleId of uniqueRoleIds)
|
|
67
|
-
if (!foundRoleIds.has(roleId))
|
|
76
|
+
for (const roleId of uniqueRoleIds)
|
|
77
|
+
if (!foundRoleIds.has(roleId))
|
|
68
78
|
this.setColumnError(field, `Role '${roleId}' not found or inactive`);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
79
|
return roles;
|
|
72
80
|
}
|
|
81
|
+
async authorize(roles) {
|
|
82
|
+
const held = this.existing
|
|
83
|
+
? await user_role_entity_1.UserRoleEntity.find({
|
|
84
|
+
where: { user_id: this.existing.id },
|
|
85
|
+
relations: { role: true },
|
|
86
|
+
})
|
|
87
|
+
: [];
|
|
88
|
+
const heldInTenant = held
|
|
89
|
+
.filter((grant) => grant.tenant_id === this.payload.tenant_id)
|
|
90
|
+
.map((grant) => grant.role_id);
|
|
91
|
+
const required = tenant_role_policy_1.TenantRolePolicy.tenantUserSaveRole({
|
|
92
|
+
grantsPrivileged: tenant_role_policy_1.TenantRolePolicy.newPrivilegedGrants(roles, heldInTenant).length > 0,
|
|
93
|
+
emailChanged: tenant_role_policy_1.TenantRolePolicy.emailChanged(this.existing?.email, this.existing ? this.payload.email : undefined),
|
|
94
|
+
holdsPrivileged: held.some((grant) => tenant_role_policy_1.TenantRolePolicy.isPrivileged(grant.role?.identifier)),
|
|
95
|
+
});
|
|
96
|
+
admin_access_service_1.AdminAccessService.assertHolds(this.access, required, 'Granting a privileged tenant role, or changing the email of an account holding one,');
|
|
97
|
+
}
|
|
73
98
|
async save() {
|
|
74
|
-
if (this.
|
|
75
|
-
return this.update();
|
|
99
|
+
if (this.existing)
|
|
100
|
+
return this.update(this.existing);
|
|
76
101
|
return this.create();
|
|
77
102
|
}
|
|
78
103
|
async create() {
|
|
@@ -92,27 +117,61 @@ class ClientUserDataProcessor extends user_data_processor_1.UserDataProcessor {
|
|
|
92
117
|
await user_entity_1.UserEntity.getRepository().manager.transaction(async (trx) => {
|
|
93
118
|
await trx.save(user);
|
|
94
119
|
await tenant_access_1.TenantAccess.join(trx, user.id, body.tenant_id, body.role_ids ?? []);
|
|
120
|
+
await this.audit(trx, user, null, {
|
|
121
|
+
tenant_id: body.tenant_id,
|
|
122
|
+
role_ids: body.role_ids ?? [],
|
|
123
|
+
});
|
|
95
124
|
});
|
|
96
125
|
await this.notifyUser(user);
|
|
97
126
|
return this.stripSecrets(user);
|
|
98
127
|
}
|
|
99
|
-
async update() {
|
|
128
|
+
async update(user) {
|
|
100
129
|
const body = this.payload;
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
|
|
130
|
+
const before = admin_audit_1.AdminAudit.pick(user, user_data_processor_1.UserDataProcessor.AUDITED);
|
|
131
|
+
const wasActive = user.active;
|
|
132
|
+
const emailChanged = tenant_role_policy_1.TenantRolePolicy.emailChanged(user.email, body.email);
|
|
104
133
|
user.full_name = body.full_name;
|
|
105
134
|
user.email = body.email;
|
|
106
|
-
user.country = body.country;
|
|
107
|
-
user.contact_code = body.contact_code;
|
|
108
|
-
user.contact = body.contact;
|
|
109
|
-
user.active = body.active ??
|
|
135
|
+
user.country = body.country ?? user.country;
|
|
136
|
+
user.contact_code = body.contact_code ?? user.contact_code;
|
|
137
|
+
user.contact = body.contact ?? user.contact;
|
|
138
|
+
user.active = body.active ?? user.active;
|
|
139
|
+
if (emailChanged)
|
|
140
|
+
user.email_verified_at = null;
|
|
110
141
|
await user_entity_1.UserEntity.getRepository().manager.transaction(async (trx) => {
|
|
142
|
+
const heldBefore = await this.heldRoleIds(trx, user.id);
|
|
111
143
|
await trx.save(user);
|
|
112
|
-
|
|
144
|
+
if (body.role_ids)
|
|
145
|
+
await tenant_access_1.TenantAccess.reconcileRoles(trx, user.id, body.tenant_id, body.role_ids);
|
|
146
|
+
if (emailChanged || (wasActive && !user.active))
|
|
147
|
+
await access_revocation_1.AccessRevocation.revokeAll(trx, user.id, false);
|
|
148
|
+
await this.audit(trx, user, before, {
|
|
149
|
+
tenant_id: body.tenant_id,
|
|
150
|
+
role_ids_before: heldBefore,
|
|
151
|
+
role_ids: await this.heldRoleIds(trx, user.id),
|
|
152
|
+
...(emailChanged ? { email_changed: true } : {}),
|
|
153
|
+
});
|
|
113
154
|
});
|
|
114
155
|
return this.stripSecrets(user);
|
|
115
156
|
}
|
|
157
|
+
async heldRoleIds(trx, userId) {
|
|
158
|
+
const grants = await trx.findBy(user_role_entity_1.UserRoleEntity, {
|
|
159
|
+
user_id: userId,
|
|
160
|
+
tenant_id: this.payload.tenant_id,
|
|
161
|
+
});
|
|
162
|
+
return grants.map((grant) => grant.role_id).sort();
|
|
163
|
+
}
|
|
164
|
+
audit(trx, user, before, context) {
|
|
165
|
+
return admin_audit_1.AdminAudit.record(trx, {
|
|
166
|
+
actor: this.access.user,
|
|
167
|
+
sourceType: entity_constants_1.baseEntityConstants.user,
|
|
168
|
+
sourceId: user.id,
|
|
169
|
+
action: before ? audit_action_enum_1.AuditAction.UPDATE : audit_action_enum_1.AuditAction.CREATE,
|
|
170
|
+
oldValue: before,
|
|
171
|
+
newValue: admin_audit_1.AdminAudit.pick(user, user_data_processor_1.UserDataProcessor.AUDITED),
|
|
172
|
+
context,
|
|
173
|
+
});
|
|
174
|
+
}
|
|
116
175
|
async notifyUser(user) {
|
|
117
176
|
const data = {
|
|
118
177
|
user_name: user.full_name,
|