@neohm/nestend 4.1.0 → 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 +78 -22
- 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 +2 -3
- package/dist/tenant/middlewares/tenant.context.middleware.d.ts.map +1 -1
- package/dist/tenant/middlewares/tenant.context.middleware.js +15 -22
- 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 -3
- package/dist/tenant/services/tenant.service.d.ts.map +1 -1
- package/dist/tenant/services/tenant.service.js +13 -22
- 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 -5
- 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
- package/dist/tenant/enums/tenant.default.enum.d.ts +0 -4
- package/dist/tenant/enums/tenant.default.enum.d.ts.map +0 -1
- package/dist/tenant/enums/tenant.default.enum.js +0 -8
- package/dist/tenant/enums/tenant.default.enum.js.map +0 -1
|
@@ -11,11 +11,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.AuthService = void 0;
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
|
-
const jwt_1 = require("@nestjs/jwt");
|
|
15
14
|
const typeorm_1 = require("typeorm");
|
|
16
|
-
const crypto_1 = require("crypto");
|
|
17
|
-
const system_refresh_token_entity_1 = require("../entities/system.refresh.token.entity");
|
|
18
|
-
const system_auth_session_entity_1 = require("../entities/system.auth.session.entity");
|
|
19
15
|
const user_entity_1 = require("../entities/user.entity");
|
|
20
16
|
const user_role_entity_1 = require("../entities/user.role.entity");
|
|
21
17
|
const tenant_user_entity_1 = require("../entities/tenant.user.entity");
|
|
@@ -23,17 +19,20 @@ const tenant_entity_1 = require("../../tenant/entities/tenant.entity");
|
|
|
23
19
|
const role_tier_enum_1 = require("../enums/role.tier.enum");
|
|
24
20
|
const tenant_role_enum_1 = require("../enums/tenant.role.enum");
|
|
25
21
|
const user_type_enum_1 = require("../enums/user.type.enum");
|
|
26
|
-
const cache_service_1 = require("../../common/services/cache.service");
|
|
27
22
|
const scope_service_1 = require("./scope.service");
|
|
23
|
+
const token_service_1 = require("./token.service");
|
|
28
24
|
const access_exception_1 = require("../../global/exceptions/access.exception");
|
|
29
25
|
const auth_1 = require("../helpers/auth");
|
|
30
26
|
const auth_utilities_1 = require("../utilities/auth.utilities");
|
|
27
|
+
const auth_config_1 = require("../utilities/auth.config");
|
|
28
|
+
const access_revocation_1 = require("../utilities/access.revocation");
|
|
29
|
+
const auth_message_enum_1 = require("../enums/auth.message.enum");
|
|
31
30
|
let AuthService = class AuthService {
|
|
32
|
-
constructor(
|
|
33
|
-
this.
|
|
34
|
-
this.cacheService = cacheService;
|
|
31
|
+
constructor(tokenService, dataSource, scopeService, config) {
|
|
32
|
+
this.tokenService = tokenService;
|
|
35
33
|
this.dataSource = dataSource;
|
|
36
34
|
this.scopeService = scopeService;
|
|
35
|
+
this.config = config;
|
|
37
36
|
}
|
|
38
37
|
async validateRole(roleIdentifier) {
|
|
39
38
|
const access = await this.resolveAccess(roleIdentifier);
|
|
@@ -62,7 +61,11 @@ let AuthService = class AuthService {
|
|
|
62
61
|
if (!tenantId)
|
|
63
62
|
return [];
|
|
64
63
|
const userRoles = await this.dataSource.getRepository(user_role_entity_1.UserRoleEntity).find({
|
|
65
|
-
where: {
|
|
64
|
+
where: {
|
|
65
|
+
user_id: userId,
|
|
66
|
+
tenant_id: tenantId,
|
|
67
|
+
role: { is_active: true },
|
|
68
|
+
},
|
|
66
69
|
relations: { role: true },
|
|
67
70
|
});
|
|
68
71
|
return userRoles
|
|
@@ -127,149 +130,95 @@ let AuthService = class AuthService {
|
|
|
127
130
|
.getRepository(user_entity_1.UserEntity)
|
|
128
131
|
.createQueryBuilder('user')
|
|
129
132
|
.addSelect('user.password')
|
|
130
|
-
.where('lower(user.email) = lower(:email)', { email })
|
|
133
|
+
.where('lower(user.email) = lower(:email)', { email: email.trim() })
|
|
131
134
|
.getOne();
|
|
132
135
|
if (!user || !user.password) {
|
|
133
136
|
await auth_utilities_1.AuthUtility.compareAgainstDummy(password);
|
|
134
|
-
throw new common_1.UnauthorizedException(
|
|
137
|
+
throw new common_1.UnauthorizedException(auth_message_enum_1.AuthMessage.INVALID_CREDENTIALS);
|
|
135
138
|
}
|
|
136
139
|
const matches = await auth_utilities_1.AuthUtility.comparePassword(password, user.password);
|
|
137
|
-
if (!matches)
|
|
138
|
-
throw new common_1.UnauthorizedException(
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
140
|
+
if (!matches || !user.active || this.oneTimePasswordExpired(user))
|
|
141
|
+
throw new common_1.UnauthorizedException(auth_message_enum_1.AuthMessage.INVALID_CREDENTIALS);
|
|
142
|
+
if (auth_utilities_1.AuthUtility.needsRehash(user.password))
|
|
143
|
+
await this.dataSource
|
|
144
|
+
.getRepository(user_entity_1.UserEntity)
|
|
145
|
+
.update({ id: user.id }, { password: await auth_utilities_1.AuthUtility.hashPassword(password) });
|
|
143
146
|
delete user.password;
|
|
144
147
|
return user;
|
|
145
148
|
}
|
|
149
|
+
oneTimePasswordExpired(user) {
|
|
150
|
+
return (user.password_change_required &&
|
|
151
|
+
!!user.one_time_password_expires_at &&
|
|
152
|
+
user.one_time_password_expires_at.getTime() < Date.now());
|
|
153
|
+
}
|
|
146
154
|
async issueTokens(user, context) {
|
|
147
|
-
const
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
const tenantId = context?.tenant_id ?? null;
|
|
151
|
-
const sessionIdentifier = this.hashToken(`${(0, crypto_1.randomUUID)()}:${user.id}`);
|
|
152
|
-
const sessionExpiresAt = new Date(Date.now() + auth_utilities_1.AuthUtility.parseExpiryMs(accessExpiry));
|
|
153
|
-
await this.sessionRepo.save(this.sessionRepo.create({
|
|
154
|
-
user_id: user.id,
|
|
155
|
-
is_admin: false,
|
|
156
|
-
tenant_id: tenantId,
|
|
157
|
-
session_identifier: sessionIdentifier,
|
|
158
|
-
expires_at: sessionExpiresAt,
|
|
159
|
-
invalidated_at: null,
|
|
160
|
-
}));
|
|
161
|
-
const accessToken = await this.jwtService.signAsync({
|
|
162
|
-
sub: user.id,
|
|
163
|
-
email: user.email,
|
|
164
|
-
jti,
|
|
165
|
-
sid: sessionIdentifier,
|
|
166
|
-
...(tenantId ? { tid: tenantId } : {}),
|
|
167
|
-
}, {
|
|
168
|
-
secret: process.env.ACCESS_TOKEN_SECRET,
|
|
169
|
-
expiresIn: accessExpiry,
|
|
155
|
+
const issued = await this.tokenService.issue('user', user.id, {
|
|
156
|
+
context,
|
|
157
|
+
tenantId: context?.tenant_id ?? null,
|
|
170
158
|
});
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
159
|
+
return {
|
|
160
|
+
access_token: issued.access_token,
|
|
161
|
+
refresh_token: issued.refresh_token,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
async issueAccessToken(user, context, ttlSeconds = this.config.impersonationTokenTtlSeconds) {
|
|
165
|
+
const issued = await this.tokenService.issue('user', user.id, {
|
|
166
|
+
context,
|
|
167
|
+
tenantId: context?.tenant_id ?? null,
|
|
168
|
+
withRefreshToken: false,
|
|
169
|
+
accessTtlSeconds: ttlSeconds,
|
|
174
170
|
});
|
|
175
|
-
|
|
176
|
-
const expiresAt = new Date(Date.now() + auth_utilities_1.AuthUtility.parseExpiryMs(refreshExpiry));
|
|
177
|
-
await this.refreshTokenRepo.save(this.refreshTokenRepo.create({
|
|
178
|
-
user_id: user.id,
|
|
179
|
-
is_admin: false,
|
|
180
|
-
tenant_id: tenantId,
|
|
181
|
-
token_hash: tokenHash,
|
|
182
|
-
expires_at: expiresAt,
|
|
183
|
-
revoked_at: null,
|
|
184
|
-
ip_address: context?.ip_address ?? null,
|
|
185
|
-
user_agent: context?.user_agent ?? null,
|
|
186
|
-
}));
|
|
187
|
-
return { access_token: accessToken, refresh_token: refreshToken };
|
|
171
|
+
return { access_token: issued.access_token, expires_at: issued.expires_at };
|
|
188
172
|
}
|
|
189
173
|
async refresh(rawRefreshToken, context) {
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
throw new common_1.UnauthorizedException('Invalid refresh token');
|
|
198
|
-
}
|
|
199
|
-
const tokenHash = this.hashToken(rawRefreshToken);
|
|
200
|
-
const stored = await this.refreshTokenRepo.findOne({
|
|
201
|
-
where: {
|
|
202
|
-
user_id: payload.sub,
|
|
203
|
-
token_hash: tokenHash,
|
|
204
|
-
revoked_at: (0, typeorm_1.IsNull)(),
|
|
205
|
-
},
|
|
206
|
-
});
|
|
207
|
-
if (!stored)
|
|
208
|
-
throw new common_1.UnauthorizedException('Refresh token not found or already revoked');
|
|
209
|
-
if (stored.expires_at < new Date())
|
|
210
|
-
throw new common_1.UnauthorizedException('Refresh token has expired');
|
|
211
|
-
stored.revoked_at = new Date();
|
|
212
|
-
await this.refreshTokenRepo.save(stored);
|
|
213
|
-
return this.issueTokens({ id: payload.sub, email: payload.email }, {
|
|
214
|
-
...context,
|
|
215
|
-
tenant_id: await this.refreshedTenant(payload.sub, stored.tenant_id),
|
|
216
|
-
});
|
|
174
|
+
const issued = await this.tokenService.rotate('user', rawRefreshToken, { context }, async (consumed) => ({
|
|
175
|
+
tenantId: await this.refreshedTenant(consumed.user_id, consumed.tenant_id),
|
|
176
|
+
}));
|
|
177
|
+
return {
|
|
178
|
+
access_token: issued.access_token,
|
|
179
|
+
refresh_token: issued.refresh_token,
|
|
180
|
+
};
|
|
217
181
|
}
|
|
218
182
|
async refreshedTenant(userId, tenantId) {
|
|
219
183
|
const user = await this.dataSource
|
|
220
184
|
.getRepository(user_entity_1.UserEntity)
|
|
221
185
|
.findOne({ where: { id: userId } });
|
|
222
|
-
if (!user?.active)
|
|
186
|
+
if (!user?.active || user.user_type === user_type_enum_1.UserType.SYSTEM_USER)
|
|
223
187
|
throw new common_1.UnauthorizedException('This account is no longer active');
|
|
224
188
|
if (!tenantId)
|
|
225
|
-
return
|
|
226
|
-
const
|
|
189
|
+
return null;
|
|
190
|
+
const isMember = (await this.dataSource
|
|
227
191
|
.getRepository(tenant_entity_1.TenantEntity)
|
|
228
|
-
.existsBy({ id: tenantId, is_active: true })
|
|
229
|
-
if (user.user_type === user_type_enum_1.UserType.SYSTEM_USER) {
|
|
230
|
-
if (!tenantActive || !user.has_global_access)
|
|
231
|
-
throw new common_1.UnauthorizedException('This organization can no longer be accessed');
|
|
232
|
-
return tenantId;
|
|
233
|
-
}
|
|
234
|
-
const isMember = tenantActive &&
|
|
192
|
+
.existsBy({ id: tenantId, is_active: true })) &&
|
|
235
193
|
(await this.dataSource
|
|
236
194
|
.getRepository(tenant_user_entity_1.TenantUserEntity)
|
|
237
195
|
.existsBy({ user_id: userId, tenant_id: tenantId, is_active: true }));
|
|
238
|
-
return isMember ? tenantId :
|
|
196
|
+
return isMember ? tenantId : null;
|
|
239
197
|
}
|
|
240
198
|
async revokeAllForUser(userUuid) {
|
|
241
|
-
await this.
|
|
199
|
+
await this.dataSource.transaction((trx) => access_revocation_1.AccessRevocation.revokeAll(trx, userUuid, false));
|
|
242
200
|
}
|
|
243
|
-
async revokeOne(rawRefreshToken) {
|
|
244
|
-
|
|
245
|
-
await this.refreshTokenRepo.update({ token_hash: tokenHash, revoked_at: (0, typeorm_1.IsNull)() }, { revoked_at: new Date() });
|
|
246
|
-
}
|
|
247
|
-
async revokeAccessToken(jti, ttlSeconds) {
|
|
248
|
-
await this.cacheService.setRaw(`blocklist:${jti}`, '1', ttlSeconds);
|
|
201
|
+
async revokeOne(rawRefreshToken, userUuid) {
|
|
202
|
+
return this.tokenService.revokeRefreshToken('user', rawRefreshToken, userUuid);
|
|
249
203
|
}
|
|
250
204
|
async logout(rawRefreshToken) {
|
|
251
|
-
|
|
205
|
+
const userId = auth_1.Auth.user()?.id ??
|
|
206
|
+
(await this.tokenService.verify('refresh', 'user', rawRefreshToken))
|
|
207
|
+
?.sub;
|
|
208
|
+
if (!userId)
|
|
209
|
+
return false;
|
|
252
210
|
const sessionIdentifier = auth_1.Auth.session();
|
|
253
|
-
if (sessionIdentifier)
|
|
254
|
-
await this.
|
|
255
|
-
|
|
256
|
-
}
|
|
257
|
-
hashToken(token) {
|
|
258
|
-
return (0, crypto_1.createHash)('sha256').update(token).digest('hex');
|
|
259
|
-
}
|
|
260
|
-
get refreshTokenRepo() {
|
|
261
|
-
return this.dataSource.getRepository(system_refresh_token_entity_1.SystemRefreshTokenEntity);
|
|
262
|
-
}
|
|
263
|
-
get sessionRepo() {
|
|
264
|
-
return this.dataSource.getRepository(system_auth_session_entity_1.SystemAuthSessionEntity);
|
|
211
|
+
if (sessionIdentifier)
|
|
212
|
+
await this.tokenService.invalidateSession('user', sessionIdentifier, userId);
|
|
213
|
+
return this.revokeOne(rawRefreshToken, userId);
|
|
265
214
|
}
|
|
266
215
|
};
|
|
267
216
|
exports.AuthService = AuthService;
|
|
268
217
|
exports.AuthService = AuthService = __decorate([
|
|
269
218
|
(0, common_1.Injectable)(),
|
|
270
|
-
__metadata("design:paramtypes", [
|
|
271
|
-
cache_service_1.CacheService,
|
|
219
|
+
__metadata("design:paramtypes", [token_service_1.TokenService,
|
|
272
220
|
typeorm_1.DataSource,
|
|
273
|
-
scope_service_1.ScopeService
|
|
221
|
+
scope_service_1.ScopeService,
|
|
222
|
+
auth_config_1.AuthConfig])
|
|
274
223
|
], AuthService);
|
|
275
224
|
//# sourceMappingURL=auth.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../src/auth/services/auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmE;AACnE,
|
|
1
|
+
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../src/auth/services/auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmE;AACnE,qCAAqC;AACrC,yDAAqD;AACrD,mEAA8D;AAE9D,uEAAkE;AAClE,uEAAmE;AACnE,4DAAmD;AACnD,gEAAuD;AACvD,4DAAmD;AACnD,mDAA+C;AAC/C,mDAA+C;AAC/C,+EAA2E;AAO3E,0CAAuC;AACvC,gEAA0D;AAC1D,0DAAsD;AACtD,sEAAkE;AAClE,kEAAyD;AAGlD,IAAM,WAAW,GAAjB,MAAM,WAAW;IACtB,YACmB,YAA0B,EAC1B,UAAsB,EACtB,YAA0B,EAC1B,MAAkB;QAHlB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,eAAU,GAAV,UAAU,CAAY;QACtB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAY;IAClC,CAAC;IAgBJ,KAAK,CAAC,YAAY,CAAC,cAAuB;QACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,IAAI,CAAC,wBAAwB;YACtC,MAAM,IAAI,kCAAe,CACvB,kDAAkD,CACnD,CAAC;QACJ,OAAO,MAAM,CAAC;IAChB,CAAC;IAOD,KAAK,CAAC,gBAAgB;QACpB,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,cAAuB;QAEvB,MAAM,IAAI,GAAG,WAAI,CAAC,IAAI,EAA4B,CAAC;QACnD,IAAI,CAAC,IAAI;YACP,MAAM,IAAI,kCAAe,CAAC,6CAA6C,CAAC,CAAC;QAE3E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAEpE,MAAM,SAAS,GACb,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAE/D,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;gBAC7C,CAAC,CAAC,iBAAiB,cAAc,GAAG;gBACpC,CAAC,CAAC,QAAQ,cAAc,GAAG,CAAC;YAC9B,MAAM,IAAI,kCAAe,CAAC,wBAAwB,WAAW,QAAQ,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAMD,KAAK,CAAC,WAAW,CACf,MAAc,EACd,QAAmC;QAEnC,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QAGzB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,iCAAc,CAAC,CAAC,IAAI,CAAC;YACzE,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,SAAS,EAAE,QAAQ;gBACnB,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;aAC1B;YACD,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SAC1B,CAAC,CAAC;QACH,OAAO,SAAS;aACb,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;aAChC,MAAM,CAAC,CAAC,IAAI,EAAoC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAgBO,aAAa,CAAC,QAAgB,EAAE,KAAyB;QAC/D,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAE9C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY;YACf,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC;QAE5D,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE/C,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9C,OAAO,CACL,CAAC,CAAC,QAAQ;gBACV,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,cAAc;gBACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,YAAY,CACtC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAGO,gBAAgB,CAAC,KAAyB;QAChD,OAAO,KAAK,CAAC,IAAI,CACf,CAAC,IAAI,EAAE,EAAE,CAAE,IAAI,CAAC,UAAyB,KAAK,6BAAU,CAAC,YAAY,CACtE,CAAC;IACJ,CAAC;IAGO,MAAM,CAAC,cAAsB;QACnC,MAAM,SAAS,GAAG,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAGlD,IAAI,SAAS,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAE/B,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC,MAAM,CAAC,yBAAQ,CAAC,CAAC,QAAQ,CAAC,IAAgB,CAAC;YACvD,CAAC,CAAE,IAAiB;YACpB,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAGO,QAAQ,CAAC,cAAsB;QACrC,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAClE,CAAC;IAOO,MAAM,CAAC,IAAc;QAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,yBAAQ,CAAC,CAAC;QAC1C,OAAO,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAMO,uBAAuB,CAAC,IAAgB;QAC9C,OAAO,WAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;IAC5D,CAAC;IAMD,iBAAiB,CAAC,IAAgB;QAChC,IAAI,IAAI,CAAC,SAAS,KAAK,yBAAQ,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,IAAI,kCAAe,CACvB,2DAA2D,CAC5D,CAAC;QACJ,CAAC;IACH,CAAC;IAeD,KAAK,CAAC,cAAc,CAClB,eAAuB,EACvB,cAAuB;QAEvB,MAAM,IAAI,GAAG,WAAI,CAAC,IAAI,EAA4B,CAAC;QACnD,IAAI,CAAC,IAAI;YACP,MAAM,IAAI,kCAAe,CAAC,6CAA6C,CAAC,CAAC;QAI3E,IAAI,CAAC,IAAI,CAAC,eAAe;YACvB,MAAM,IAAI,kCAAe,CACvB,iDAAiD,CAClD,CAAC;QAEJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE1E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC;YACnC,MAAM,IAAI,kCAAe,CACvB,mDAAmD,CACpD,CAAC;QAEJ,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC;IAOD,KAAK,CAAC,mBAAmB,CACvB,KAAa,EACb,QAAgB;QAEhB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU;aAC/B,aAAa,CAAC,wBAAU,CAAC;aACzB,kBAAkB,CAAC,MAAM,CAAC;aAC1B,SAAS,CAAC,eAAe,CAAC;aAC1B,KAAK,CAAC,mCAAmC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;aACnE,MAAM,EAAE,CAAC;QAEZ,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,MAAM,4BAAW,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,IAAI,8BAAqB,CAAC,+BAAW,CAAC,mBAAmB,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,4BAAW,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;YAC/D,MAAM,IAAI,8BAAqB,CAAC,+BAAW,CAAC,mBAAmB,CAAC,CAAC;QAEnE,IAAI,4BAAW,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;YACxC,MAAM,IAAI,CAAC,UAAU;iBAClB,aAAa,CAAC,wBAAU,CAAC;iBACzB,MAAM,CACL,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EACf,EAAE,QAAQ,EAAE,MAAM,4BAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CACvD,CAAC;QAEN,OAAQ,IAA8B,CAAC,QAAQ,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAGO,sBAAsB,CAAC,IAAgB;QAC7C,OAAO,CACL,IAAI,CAAC,wBAAwB;YAC7B,CAAC,CAAC,IAAI,CAAC,4BAA4B;YACnC,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CACzD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CACf,IAAqB,EACrB,OAA2B;QAE3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;YAC5D,OAAO;YACP,QAAQ,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI;SACrC,CAAC,CAAC;QACH,OAAO;YACL,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,aAAa,EAAE,MAAM,CAAC,aAAc;SACrC,CAAC;IACJ,CAAC;IAMD,KAAK,CAAC,gBAAgB,CACpB,IAAqB,EACrB,OAA2B,EAC3B,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,4BAA4B;QAErD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;YAC5D,OAAO;YACP,QAAQ,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI;YACpC,gBAAgB,EAAE,KAAK;YACvB,gBAAgB,EAAE,UAAU;SAC7B,CAAC,CAAC;QACH,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IAC9E,CAAC;IAGD,KAAK,CAAC,OAAO,CACX,eAAuB,EACvB,OAA2B;QAE3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAC3C,MAAM,EACN,eAAe,EACf,EAAE,OAAO,EAAE,EACX,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YAEnB,QAAQ,EAAE,MAAM,IAAI,CAAC,eAAe,CAClC,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,SAAS,CACnB;SACF,CAAC,CACH,CAAC;QACF,OAAO;YACL,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,aAAa,EAAE,MAAM,CAAC,aAAc;SACrC,CAAC;IACJ,CAAC;IAOO,KAAK,CAAC,eAAe,CAC3B,MAAc,EACd,QAAuB;QAEvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU;aAC/B,aAAa,CAAC,wBAAU,CAAC;aACzB,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,yBAAQ,CAAC,WAAW;YAC1D,MAAM,IAAI,8BAAqB,CAAC,kCAAkC,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3B,MAAM,QAAQ,GACZ,CAAC,MAAM,IAAI,CAAC,UAAU;aACnB,aAAa,CAAC,4BAAY,CAAC;aAC3B,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,CAAC,MAAM,IAAI,CAAC,UAAU;iBACnB,aAAa,CAAC,qCAAgB,CAAC;iBAC/B,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1E,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACpC,CAAC;IAGD,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QACrC,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE,CACxC,oCAAgB,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CACjD,CAAC;IACJ,CAAC;IAGD,KAAK,CAAC,SAAS,CAAC,eAAuB,EAAE,QAAgB;QACvD,OAAO,IAAI,CAAC,YAAY,CAAC,kBAAkB,CACzC,MAAM,EACN,eAAe,EACf,QAAQ,CACT,CAAC;IACJ,CAAC;IAOD,KAAK,CAAC,MAAM,CAAC,eAAuB;QAClC,MAAM,MAAM,GACT,WAAI,CAAC,IAAI,EAAE,EAAE,EAAyB;YACvC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;gBAClE,EAAE,GAAG,CAAC;QACV,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAE1B,MAAM,iBAAiB,GAAG,WAAI,CAAC,OAAO,EAAE,CAAC;QACzC,IAAI,iBAAiB;YACnB,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,CACvC,MAAM,EACN,iBAAiB,EACjB,MAAM,CACP,CAAC;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;CACF,CAAA;AAxXY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAGsB,4BAAY;QACd,oBAAU;QACR,4BAAY;QAClB,wBAAU;GAL1B,WAAW,CAwXvB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DataSource } from 'typeorm';
|
|
2
|
+
import { EncryptionService } from '../../common/services/encryption.service';
|
|
3
|
+
import { EmailVerificationMailJob } from '../../notification/jobs/email.verification.mail.job';
|
|
4
|
+
import { AuthConfig } from '../utilities/auth.config';
|
|
5
|
+
export declare class EmailVerificationService {
|
|
6
|
+
private readonly dataSource;
|
|
7
|
+
private readonly encryptionService;
|
|
8
|
+
private readonly mailJob;
|
|
9
|
+
private readonly config;
|
|
10
|
+
private readonly logger;
|
|
11
|
+
constructor(dataSource: DataSource, encryptionService: EncryptionService, mailJob: EmailVerificationMailJob, config: AuthConfig);
|
|
12
|
+
request(userId: string): Promise<void>;
|
|
13
|
+
requestQuietly(userId: string): Promise<void>;
|
|
14
|
+
verify(rawToken: string): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=email.verification.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email.verification.service.d.ts","sourceRoot":"","sources":["../../../src/auth/services/email.verification.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAU,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAE7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAI/F,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAStD,qBACa,wBAAwB;IAIjC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IANzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;gBAGjD,UAAU,EAAE,UAAU,EACtB,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,wBAAwB,EACjC,MAAM,EAAE,UAAU;IAI/B,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCtC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW7C,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAgC9C"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var EmailVerificationService_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.EmailVerificationService = void 0;
|
|
14
|
+
const common_1 = require("@nestjs/common");
|
|
15
|
+
const crypto_1 = require("crypto");
|
|
16
|
+
const typeorm_1 = require("typeorm");
|
|
17
|
+
const encryption_service_1 = require("../../common/services/encryption.service");
|
|
18
|
+
const operation_exception_1 = require("../../global/exceptions/operation.exception");
|
|
19
|
+
const email_verification_mail_job_1 = require("../../notification/jobs/email.verification.mail.job");
|
|
20
|
+
const email_verification_token_entity_1 = require("../entities/email.verification.token.entity");
|
|
21
|
+
const user_entity_1 = require("../entities/user.entity");
|
|
22
|
+
const email_verification_default_enum_1 = require("../enums/email.verification.default.enum");
|
|
23
|
+
const auth_config_1 = require("../utilities/auth.config");
|
|
24
|
+
const token_service_1 = require("./token.service");
|
|
25
|
+
const auth_message_enum_1 = require("../enums/auth.message.enum");
|
|
26
|
+
let EmailVerificationService = EmailVerificationService_1 = class EmailVerificationService {
|
|
27
|
+
constructor(dataSource, encryptionService, mailJob, config) {
|
|
28
|
+
this.dataSource = dataSource;
|
|
29
|
+
this.encryptionService = encryptionService;
|
|
30
|
+
this.mailJob = mailJob;
|
|
31
|
+
this.config = config;
|
|
32
|
+
this.logger = new common_1.Logger(EmailVerificationService_1.name);
|
|
33
|
+
}
|
|
34
|
+
async request(userId) {
|
|
35
|
+
const user = await this.dataSource
|
|
36
|
+
.getRepository(user_entity_1.UserEntity)
|
|
37
|
+
.findOne({ where: { id: userId } });
|
|
38
|
+
if (!user || !user.active || user.email_verified_at)
|
|
39
|
+
return;
|
|
40
|
+
const rawToken = (0, crypto_1.randomBytes)(Number(email_verification_default_enum_1.EmailVerificationDefault.TOKEN_BYTES)).toString('base64url');
|
|
41
|
+
const expiresAt = new Date(Date.now() + this.config.emailVerificationTtlSeconds * 1000);
|
|
42
|
+
await this.dataSource.transaction(async (trx) => {
|
|
43
|
+
await trx.update(email_verification_token_entity_1.EmailVerificationTokenEntity, { user_id: user.id, used_at: (0, typeorm_1.IsNull)() }, { used_at: new Date() });
|
|
44
|
+
await trx.save(trx.create(email_verification_token_entity_1.EmailVerificationTokenEntity, {
|
|
45
|
+
user_id: user.id,
|
|
46
|
+
email: user.email.toLowerCase(),
|
|
47
|
+
token_hash: token_service_1.TokenService.hashToken(rawToken),
|
|
48
|
+
expires_at: expiresAt,
|
|
49
|
+
}));
|
|
50
|
+
});
|
|
51
|
+
await this.mailJob.dispatch({
|
|
52
|
+
user_id: user.id,
|
|
53
|
+
user_email: user.email,
|
|
54
|
+
full_name: user.full_name,
|
|
55
|
+
token_encrypted: this.encryptionService.encrypt(rawToken),
|
|
56
|
+
expires_at: expiresAt.toISOString(),
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
async requestQuietly(userId) {
|
|
60
|
+
try {
|
|
61
|
+
await this.request(userId);
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
this.logger.error(`Could not send the verification mail for user ${userId}: ${error.message}`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
async verify(rawToken) {
|
|
68
|
+
await this.dataSource.transaction(async (trx) => {
|
|
69
|
+
const result = await trx
|
|
70
|
+
.createQueryBuilder()
|
|
71
|
+
.update(email_verification_token_entity_1.EmailVerificationTokenEntity)
|
|
72
|
+
.set({ used_at: () => 'now()' })
|
|
73
|
+
.where('token_hash = :tokenHash AND used_at IS NULL AND expires_at > now() AND deleted_at IS NULL', { tokenHash: token_service_1.TokenService.hashToken(rawToken) })
|
|
74
|
+
.returning(['user_id', 'email'])
|
|
75
|
+
.execute();
|
|
76
|
+
const token = result.raw?.[0];
|
|
77
|
+
if (!token)
|
|
78
|
+
throw new operation_exception_1.OperationException(auth_message_enum_1.AuthMessage.INVALID_VERIFICATION_TOKEN);
|
|
79
|
+
const user = await trx.findOne(user_entity_1.UserEntity, {
|
|
80
|
+
where: { id: token.user_id },
|
|
81
|
+
});
|
|
82
|
+
if (!user?.active || user.email.toLowerCase() !== token.email)
|
|
83
|
+
throw new operation_exception_1.OperationException(auth_message_enum_1.AuthMessage.INVALID_VERIFICATION_TOKEN);
|
|
84
|
+
if (!user.email_verified_at)
|
|
85
|
+
await trx.update(user_entity_1.UserEntity, { id: user.id }, { email_verified_at: new Date() });
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
exports.EmailVerificationService = EmailVerificationService;
|
|
90
|
+
exports.EmailVerificationService = EmailVerificationService = EmailVerificationService_1 = __decorate([
|
|
91
|
+
(0, common_1.Injectable)(),
|
|
92
|
+
__metadata("design:paramtypes", [typeorm_1.DataSource,
|
|
93
|
+
encryption_service_1.EncryptionService,
|
|
94
|
+
email_verification_mail_job_1.EmailVerificationMailJob,
|
|
95
|
+
auth_config_1.AuthConfig])
|
|
96
|
+
], EmailVerificationService);
|
|
97
|
+
//# sourceMappingURL=email.verification.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email.verification.service.js","sourceRoot":"","sources":["../../../src/auth/services/email.verification.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,5 +4,6 @@ export declare class GoogleAuthService {
|
|
|
4
4
|
private readonly remoteRequestService;
|
|
5
5
|
constructor(remoteRequestService: RemoteRequestService);
|
|
6
6
|
verifyIdToken(idToken: string): Promise<GoogleTokenInfo>;
|
|
7
|
+
private static list;
|
|
7
8
|
}
|
|
8
9
|
//# sourceMappingURL=google.auth.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.auth.service.d.ts","sourceRoot":"","sources":["../../../src/auth/services/google.auth.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAGpF,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAQ7D,qBACa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAApB,oBAAoB,EAAE,oBAAoB;IAEjE,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"google.auth.service.d.ts","sourceRoot":"","sources":["../../../src/auth/services/google.auth.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAGpF,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAQ7D,qBACa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAApB,oBAAoB,EAAE,oBAAoB;IAEjE,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAqD9D,OAAO,CAAC,MAAM,CAAC,IAAI;CAMpB"}
|
|
@@ -8,6 +8,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
+
var GoogleAuthService_1;
|
|
11
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
13
|
exports.GoogleAuthService = void 0;
|
|
13
14
|
const common_1 = require("@nestjs/common");
|
|
@@ -15,13 +16,13 @@ const api_request_type_enum_1 = require("../../common/enums/api.request.type.enu
|
|
|
15
16
|
const remote_request_service_1 = require("../../common/services/remote.request.service");
|
|
16
17
|
const operation_exception_1 = require("../../global/exceptions/operation.exception");
|
|
17
18
|
const google_auth_default_enum_1 = require("../enums/google.auth.default.enum");
|
|
18
|
-
let GoogleAuthService = class GoogleAuthService {
|
|
19
|
+
let GoogleAuthService = GoogleAuthService_1 = class GoogleAuthService {
|
|
19
20
|
constructor(remoteRequestService) {
|
|
20
21
|
this.remoteRequestService = remoteRequestService;
|
|
21
22
|
}
|
|
22
23
|
async verifyIdToken(idToken) {
|
|
23
|
-
const
|
|
24
|
-
if (!
|
|
24
|
+
const clientIds = GoogleAuthService_1.list(process.env.GOOGLE_CLIENT_ID);
|
|
25
|
+
if (!clientIds.length)
|
|
25
26
|
throw new operation_exception_1.OperationException('GOOGLE_CLIENT_ID is not set; Google SSO is not configured');
|
|
26
27
|
let tokenInfo;
|
|
27
28
|
try {
|
|
@@ -34,7 +35,7 @@ let GoogleAuthService = class GoogleAuthService {
|
|
|
34
35
|
catch {
|
|
35
36
|
throw new common_1.UnauthorizedException('Invalid or expired Google ID token');
|
|
36
37
|
}
|
|
37
|
-
if (tokenInfo.aud
|
|
38
|
+
if (!clientIds.includes(tokenInfo.aud))
|
|
38
39
|
throw new common_1.UnauthorizedException('Google ID token was issued for a different client');
|
|
39
40
|
const validIssuers = [
|
|
40
41
|
google_auth_default_enum_1.GoogleAuthDefault.ISSUER,
|
|
@@ -42,13 +43,25 @@ let GoogleAuthService = class GoogleAuthService {
|
|
|
42
43
|
];
|
|
43
44
|
if (!validIssuers.includes(tokenInfo.iss))
|
|
44
45
|
throw new common_1.UnauthorizedException('Google ID token has an unexpected issuer');
|
|
45
|
-
if (!tokenInfo.
|
|
46
|
+
if (!tokenInfo.sub ||
|
|
47
|
+
!tokenInfo.email ||
|
|
48
|
+
tokenInfo.email_verified !== 'true')
|
|
46
49
|
throw new common_1.UnauthorizedException('Google account email is not verified');
|
|
50
|
+
const allowedDomains = GoogleAuthService_1.list(process.env.GOOGLE_ALLOWED_HD).map((domain) => domain.toLowerCase());
|
|
51
|
+
if (allowedDomains.length &&
|
|
52
|
+
!allowedDomains.includes((tokenInfo.hd ?? '').toLowerCase()))
|
|
53
|
+
throw new common_1.UnauthorizedException('This Google account is not allowed to sign in');
|
|
47
54
|
return tokenInfo;
|
|
48
55
|
}
|
|
56
|
+
static list(value) {
|
|
57
|
+
return (value ?? '')
|
|
58
|
+
.split(',')
|
|
59
|
+
.map((entry) => entry.trim())
|
|
60
|
+
.filter(Boolean);
|
|
61
|
+
}
|
|
49
62
|
};
|
|
50
63
|
exports.GoogleAuthService = GoogleAuthService;
|
|
51
|
-
exports.GoogleAuthService = GoogleAuthService = __decorate([
|
|
64
|
+
exports.GoogleAuthService = GoogleAuthService = GoogleAuthService_1 = __decorate([
|
|
52
65
|
(0, common_1.Injectable)(),
|
|
53
66
|
__metadata("design:paramtypes", [remote_request_service_1.RemoteRequestService])
|
|
54
67
|
], GoogleAuthService);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.auth.service.js","sourceRoot":"","sources":["../../../src/auth/services/google.auth.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"google.auth.service.js","sourceRoot":"","sources":["../../../src/auth/services/google.auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAmE;AACnE,oFAA8E;AAC9E,yFAAoF;AACpF,qFAAiF;AACjF,gFAAsE;AAU/D,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAC5B,YAA6B,oBAA0C;QAA1C,yBAAoB,GAApB,oBAAoB,CAAsB;IAAG,CAAC;IAE3E,KAAK,CAAC,aAAa,CAAC,OAAe;QACjC,MAAM,SAAS,GAAG,mBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACvE,IAAI,CAAC,SAAS,CAAC,MAAM;YACnB,MAAM,IAAI,wCAAkB,CAC1B,2DAA2D,CAC5D,CAAC;QAEJ,IAAI,SAA0B,CAAC;QAC/B,IAAI,CAAC;YACH,SAAS;gBACP,MAAM,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAkB;oBAC9D,GAAG,EAAE,GAAG,4CAAiB,CAAC,cAAc,aAAa,kBAAkB,CAAC,OAAO,CAAC,EAAE;oBAClF,WAAW,EAAE,0CAAkB,CAAC,GAAG;iBACpC,CAAC,CAAC;QACP,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,8BAAqB,CAAC,oCAAoC,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC;YACpC,MAAM,IAAI,8BAAqB,CAC7B,mDAAmD,CACpD,CAAC;QAEJ,MAAM,YAAY,GAAa;YAC7B,4CAAiB,CAAC,MAAM;YACxB,4CAAiB,CAAC,gBAAgB;SACnC,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC;YACvC,MAAM,IAAI,8BAAqB,CAC7B,0CAA0C,CAC3C,CAAC;QAEJ,IACE,CAAC,SAAS,CAAC,GAAG;YACd,CAAC,SAAS,CAAC,KAAK;YAChB,SAAS,CAAC,cAAc,KAAK,MAAM;YAEnC,MAAM,IAAI,8BAAqB,CAAC,sCAAsC,CAAC,CAAC;QAE1E,MAAM,cAAc,GAAG,mBAAiB,CAAC,IAAI,CAC3C,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAC9B,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACxC,IACE,cAAc,CAAC,MAAM;YACrB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAE5D,MAAM,IAAI,8BAAqB,CAC7B,+CAA+C,CAChD,CAAC;QAEJ,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,MAAM,CAAC,IAAI,CAAC,KAAyB;QAC3C,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;aACjB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;CACF,CAAA;AA9DY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAEwC,6CAAoB;GAD5D,iBAAiB,CA8D7B"}
|
|
@@ -3,14 +3,14 @@ import { AuditService } from '../../common/services/audit.service';
|
|
|
3
3
|
import { TenantEntity } from '../../tenant/entities/tenant.entity';
|
|
4
4
|
import { ImpersonationLoginDto } from '../dtos/impersonation.login.dto';
|
|
5
5
|
import { UserEntity } from '../entities/user.entity';
|
|
6
|
-
import {
|
|
6
|
+
import { ImpersonationSession, TokenIssueContext } from '../types/auth.types';
|
|
7
7
|
import { AuthService } from './auth.service';
|
|
8
8
|
export declare class ImpersonationService {
|
|
9
9
|
private readonly authService;
|
|
10
10
|
private readonly auditService;
|
|
11
11
|
private readonly dataSource;
|
|
12
12
|
constructor(authService: AuthService, auditService: AuditService, dataSource: DataSource);
|
|
13
|
-
login(dto: ImpersonationLoginDto, context?: TokenIssueContext): Promise<
|
|
13
|
+
login(dto: ImpersonationLoginDto, context?: TokenIssueContext): Promise<ImpersonationSession>;
|
|
14
14
|
accessibleTenants(): Promise<TenantEntity[]>;
|
|
15
15
|
assertGlobalAccess(user: UserEntity): void;
|
|
16
16
|
private requireTenant;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impersonation.service.d.ts","sourceRoot":"","sources":["../../../src/auth/services/impersonation.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAc,MAAM,SAAS,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"impersonation.service.d.ts","sourceRoot":"","sources":["../../../src/auth/services/impersonation.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAc,MAAM,SAAS,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAQ7C,qBACa,oBAAoB;IAE7B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAFV,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU;IAGnC,KAAK,CACT,GAAG,EAAE,qBAAqB,EAC1B,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,oBAAoB,CAAC;IAqC1B,iBAAiB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAclD,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;YAW5B,aAAa;IAU3B,OAAO,KAAK,gBAAgB,GAE3B;IAED,OAAO,KAAK,cAAc,GAEzB;CACF"}
|
|
@@ -30,7 +30,7 @@ let ImpersonationService = class ImpersonationService {
|
|
|
30
30
|
const user = await this.authService.validateCredentials(dto.email, dto.password);
|
|
31
31
|
this.assertGlobalAccess(user);
|
|
32
32
|
const tenant = await this.requireTenant(dto.tenant_id);
|
|
33
|
-
const
|
|
33
|
+
const { access_token, expires_at } = await this.authService.issueAccessToken(user, {
|
|
34
34
|
...context,
|
|
35
35
|
tenant_id: tenant.id,
|
|
36
36
|
});
|
|
@@ -38,12 +38,21 @@ let ImpersonationService = class ImpersonationService {
|
|
|
38
38
|
sourceType: entity_constants_1.baseEntityConstants.user,
|
|
39
39
|
sourceId: user.id,
|
|
40
40
|
action: audit_action_enum_1.AuditAction.IMPERSONATE,
|
|
41
|
-
newValue: {
|
|
41
|
+
newValue: {
|
|
42
|
+
tenant_id: tenant.id,
|
|
43
|
+
tenant_name: tenant.name,
|
|
44
|
+
expires_at: expires_at.toISOString(),
|
|
45
|
+
},
|
|
42
46
|
createdBy: user.id,
|
|
43
47
|
ipAddress: context?.ip_address,
|
|
44
48
|
userId: user.id,
|
|
45
49
|
});
|
|
46
|
-
return {
|
|
50
|
+
return {
|
|
51
|
+
access_token,
|
|
52
|
+
expires_at,
|
|
53
|
+
tenant_id: tenant.id,
|
|
54
|
+
tenant_name: tenant.name,
|
|
55
|
+
};
|
|
47
56
|
}
|
|
48
57
|
async accessibleTenants() {
|
|
49
58
|
const { user } = await this.authService.validateRole();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impersonation.service.js","sourceRoot":"","sources":["../../../src/auth/services/impersonation.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,qCAAiD;AACjD,4EAAmE;AACnE,uEAAmE;AACnE,+EAA2E;AAC3E,uEAAmE;AAEnE,yDAAqD;AACrD,4DAAmD;AAEnD,iDAA6C;AAC7C,uEAAuE;
|
|
1
|
+
{"version":3,"file":"impersonation.service.js","sourceRoot":"","sources":["../../../src/auth/services/impersonation.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CacheService } from '../../common/services/cache.service';
|
|
2
|
+
import { ThrottleAction, ThrottleSubject } from '../types/auth.types';
|
|
3
|
+
import { AuthConfig } from '../utilities/auth.config';
|
|
4
|
+
export declare class LoginThrottleService {
|
|
5
|
+
private readonly cacheService;
|
|
6
|
+
private readonly logger;
|
|
7
|
+
private readonly limits;
|
|
8
|
+
constructor(cacheService: CacheService, config: AuthConfig);
|
|
9
|
+
protect<T>(action: ThrottleAction, subject: ThrottleSubject, attempt: () => Promise<T>): Promise<T>;
|
|
10
|
+
assertAllowed(action: ThrottleAction, subject: ThrottleSubject): Promise<void>;
|
|
11
|
+
recordFailure(action: ThrottleAction, account: string): Promise<void>;
|
|
12
|
+
clearFailures(action: ThrottleAction, account: string): Promise<void>;
|
|
13
|
+
private ipLimit;
|
|
14
|
+
private ipKey;
|
|
15
|
+
private accountKey;
|
|
16
|
+
private guarded;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=login.throttle.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.throttle.service.d.ts","sourceRoot":"","sources":["../../../src/auth/services/login.throttle.service.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EACL,cAAc,EAEd,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAatD,qBACa,oBAAoB;IAK7B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAJ/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyC;IAChE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;gBAGrB,YAAY,EAAE,YAAY,EAC3C,MAAM,EAAE,UAAU;IAMd,OAAO,CAAC,CAAC,EACb,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,CAAC,CAAC;IAcP,aAAa,CACjB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC;IA6BV,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrE,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3E,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,UAAU;YAKJ,OAAO;CActB"}
|