@neohm/nestend 4.1.1 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +68 -14
- package/dist/admin/admin.module.d.ts.map +1 -1
- package/dist/admin/admin.module.js +9 -1
- package/dist/admin/admin.module.js.map +1 -1
- package/dist/admin/controllers/admin.api.key.controller.d.ts +13 -5
- package/dist/admin/controllers/admin.api.key.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.api.key.controller.js +71 -23
- package/dist/admin/controllers/admin.api.key.controller.js.map +1 -1
- package/dist/admin/controllers/admin.email.template.controller.d.ts +2 -3
- package/dist/admin/controllers/admin.email.template.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.email.template.controller.js +13 -11
- package/dist/admin/controllers/admin.email.template.controller.js.map +1 -1
- package/dist/admin/controllers/admin.pdf.template.controller.d.ts +2 -3
- package/dist/admin/controllers/admin.pdf.template.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.pdf.template.controller.js +13 -11
- package/dist/admin/controllers/admin.pdf.template.controller.js.map +1 -1
- package/dist/admin/controllers/admin.role.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.role.controller.js +2 -0
- package/dist/admin/controllers/admin.role.controller.js.map +1 -1
- package/dist/admin/controllers/admin.scheduled.task.controller.d.ts +5 -4
- package/dist/admin/controllers/admin.scheduled.task.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.scheduled.task.controller.js +19 -14
- package/dist/admin/controllers/admin.scheduled.task.controller.js.map +1 -1
- package/dist/admin/controllers/admin.scope.controller.d.ts +4 -5
- package/dist/admin/controllers/admin.scope.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.scope.controller.js +45 -27
- package/dist/admin/controllers/admin.scope.controller.js.map +1 -1
- package/dist/admin/controllers/admin.system.user.controller.d.ts +1 -2
- package/dist/admin/controllers/admin.system.user.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.system.user.controller.js +12 -8
- package/dist/admin/controllers/admin.system.user.controller.js.map +1 -1
- package/dist/admin/controllers/admin.tenant.controller.d.ts +2 -3
- package/dist/admin/controllers/admin.tenant.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.tenant.controller.js +12 -10
- package/dist/admin/controllers/admin.tenant.controller.js.map +1 -1
- package/dist/admin/controllers/admin.tenant.user.controller.d.ts +12 -6
- package/dist/admin/controllers/admin.tenant.user.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.tenant.user.controller.js +55 -24
- package/dist/admin/controllers/admin.tenant.user.controller.js.map +1 -1
- package/dist/admin/controllers/admin.user.controller.d.ts +3 -3
- package/dist/admin/controllers/admin.user.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.user.controller.js +22 -8
- package/dist/admin/controllers/admin.user.controller.js.map +1 -1
- package/dist/admin/controllers/system.role.controller.d.ts +2 -3
- package/dist/admin/controllers/system.role.controller.d.ts.map +1 -1
- package/dist/admin/controllers/system.role.controller.js +34 -14
- package/dist/admin/controllers/system.role.controller.js.map +1 -1
- package/dist/admin/dtos/add.admin.user.dto.d.ts +1 -0
- package/dist/admin/dtos/add.admin.user.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.admin.user.dto.js +27 -4
- package/dist/admin/dtos/add.admin.user.dto.js.map +1 -1
- package/dist/admin/dtos/add.api.key.dto.d.ts +1 -1
- package/dist/admin/dtos/add.api.key.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.api.key.dto.js +5 -1
- package/dist/admin/dtos/add.api.key.dto.js.map +1 -1
- package/dist/admin/dtos/add.bulk.users.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.bulk.users.dto.js +6 -2
- package/dist/admin/dtos/add.bulk.users.dto.js.map +1 -1
- package/dist/admin/dtos/add.client.membership.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.client.membership.dto.js +4 -1
- package/dist/admin/dtos/add.client.membership.dto.js.map +1 -1
- package/dist/admin/dtos/add.client.user.dto.d.ts +1 -1
- package/dist/admin/dtos/add.client.user.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.client.user.dto.js +5 -2
- package/dist/admin/dtos/add.client.user.dto.js.map +1 -1
- package/dist/admin/dtos/add.email.template.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.email.template.dto.js +9 -6
- package/dist/admin/dtos/add.email.template.dto.js.map +1 -1
- package/dist/admin/dtos/add.pdf.template.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.pdf.template.dto.js +9 -6
- package/dist/admin/dtos/add.pdf.template.dto.js.map +1 -1
- package/dist/admin/dtos/add.scheduled.task.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.scheduled.task.dto.js +16 -3
- package/dist/admin/dtos/add.scheduled.task.dto.js.map +1 -1
- package/dist/admin/dtos/add.scope.dto.d.ts +1 -1
- package/dist/admin/dtos/add.scope.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.scope.dto.js +7 -4
- package/dist/admin/dtos/add.scope.dto.js.map +1 -1
- package/dist/admin/dtos/add.system.role.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.system.role.dto.js +6 -4
- package/dist/admin/dtos/add.system.role.dto.js.map +1 -1
- package/dist/admin/dtos/add.tenant.dto.d.ts +1 -1
- package/dist/admin/dtos/add.tenant.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.tenant.dto.js +20 -5
- package/dist/admin/dtos/add.tenant.dto.js.map +1 -1
- package/dist/admin/dtos/base.user.dto.d.ts.map +1 -1
- package/dist/admin/dtos/base.user.dto.js +5 -1
- package/dist/admin/dtos/base.user.dto.js.map +1 -1
- package/dist/admin/enums/admin.default.enum.d.ts +17 -0
- package/dist/admin/enums/admin.default.enum.d.ts.map +1 -0
- package/dist/admin/enums/admin.default.enum.js +22 -0
- package/dist/admin/enums/admin.default.enum.js.map +1 -0
- package/dist/admin/libraries/admin.user.data.processor.d.ts +5 -7
- package/dist/admin/libraries/admin.user.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/admin.user.data.processor.js +112 -73
- package/dist/admin/libraries/admin.user.data.processor.js.map +1 -1
- package/dist/admin/libraries/admin.user.delete.processor.d.ts +0 -2
- package/dist/admin/libraries/admin.user.delete.processor.d.ts.map +1 -1
- package/dist/admin/libraries/admin.user.delete.processor.js +26 -39
- package/dist/admin/libraries/admin.user.delete.processor.js.map +1 -1
- package/dist/admin/libraries/api.key.data.processor.d.ts +1 -0
- package/dist/admin/libraries/api.key.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/api.key.data.processor.js +26 -3
- package/dist/admin/libraries/api.key.data.processor.js.map +1 -1
- package/dist/admin/libraries/bulk.user.data.processor.d.ts +4 -1
- package/dist/admin/libraries/bulk.user.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/bulk.user.data.processor.js +39 -3
- package/dist/admin/libraries/bulk.user.data.processor.js.map +1 -1
- package/dist/admin/libraries/catalogue.data.processor.d.ts +15 -0
- package/dist/admin/libraries/catalogue.data.processor.d.ts.map +1 -0
- package/dist/admin/libraries/catalogue.data.processor.js +42 -0
- package/dist/admin/libraries/catalogue.data.processor.js.map +1 -0
- package/dist/admin/libraries/client.membership.data.processor.d.ts +4 -1
- package/dist/admin/libraries/client.membership.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/client.membership.data.processor.js +33 -6
- package/dist/admin/libraries/client.membership.data.processor.js.map +1 -1
- package/dist/admin/libraries/client.user.data.processor.d.ts +7 -1
- package/dist/admin/libraries/client.user.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/client.user.data.processor.js +89 -30
- package/dist/admin/libraries/client.user.data.processor.js.map +1 -1
- package/dist/admin/libraries/client.user.delete.processor.d.ts.map +1 -1
- package/dist/admin/libraries/client.user.delete.processor.js +11 -0
- package/dist/admin/libraries/client.user.delete.processor.js.map +1 -1
- package/dist/admin/libraries/email.template.data.processor.d.ts +8 -5
- package/dist/admin/libraries/email.template.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/email.template.data.processor.js +49 -29
- package/dist/admin/libraries/email.template.data.processor.js.map +1 -1
- package/dist/admin/libraries/pdf.template.data.processor.d.ts +8 -5
- package/dist/admin/libraries/pdf.template.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/pdf.template.data.processor.js +47 -26
- package/dist/admin/libraries/pdf.template.data.processor.js.map +1 -1
- package/dist/admin/libraries/scheduled.task.data.processor.d.ts +11 -5
- package/dist/admin/libraries/scheduled.task.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/scheduled.task.data.processor.js +81 -38
- package/dist/admin/libraries/scheduled.task.data.processor.js.map +1 -1
- package/dist/admin/libraries/scheduled.task.delete.processor.d.ts.map +1 -1
- package/dist/admin/libraries/scheduled.task.delete.processor.js +14 -3
- package/dist/admin/libraries/scheduled.task.delete.processor.js.map +1 -1
- package/dist/admin/libraries/scope.data.processor.d.ts +9 -5
- package/dist/admin/libraries/scope.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/scope.data.processor.js +62 -27
- package/dist/admin/libraries/scope.data.processor.js.map +1 -1
- package/dist/admin/libraries/system.role.data.processor.d.ts +8 -2
- package/dist/admin/libraries/system.role.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/system.role.data.processor.js +47 -17
- package/dist/admin/libraries/system.role.data.processor.js.map +1 -1
- package/dist/admin/libraries/system.user.data.processor.d.ts +5 -0
- package/dist/admin/libraries/system.user.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/system.user.data.processor.js +52 -22
- package/dist/admin/libraries/system.user.data.processor.js.map +1 -1
- package/dist/admin/libraries/tenant.data.processor.d.ts +1 -1
- package/dist/admin/libraries/tenant.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/tenant.data.processor.js +91 -54
- package/dist/admin/libraries/tenant.data.processor.js.map +1 -1
- package/dist/admin/libraries/tenant.delete.processor.d.ts +1 -0
- package/dist/admin/libraries/tenant.delete.processor.d.ts.map +1 -1
- package/dist/admin/libraries/tenant.delete.processor.js +52 -24
- package/dist/admin/libraries/tenant.delete.processor.js.map +1 -1
- package/dist/admin/libraries/user.data.processor.d.ts +1 -0
- package/dist/admin/libraries/user.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/user.data.processor.js +10 -0
- package/dist/admin/libraries/user.data.processor.js.map +1 -1
- package/dist/admin/services/admin.access.service.d.ts +4 -2
- package/dist/admin/services/admin.access.service.d.ts.map +1 -1
- package/dist/admin/services/admin.access.service.js +15 -7
- package/dist/admin/services/admin.access.service.js.map +1 -1
- package/dist/admin/services/system.user.service.d.ts.map +1 -1
- package/dist/admin/services/system.user.service.js +11 -0
- package/dist/admin/services/system.user.service.js.map +1 -1
- package/dist/admin/services/template.service.d.ts +1 -0
- package/dist/admin/services/template.service.d.ts.map +1 -1
- package/dist/admin/services/template.service.js +24 -11
- package/dist/admin/services/template.service.js.map +1 -1
- package/dist/admin/types/admin.types.d.ts +27 -0
- package/dist/admin/types/admin.types.d.ts.map +1 -1
- package/dist/admin/utilities/admin.audit.d.ts +11 -0
- package/dist/admin/utilities/admin.audit.d.ts.map +1 -0
- package/dist/admin/utilities/admin.audit.js +51 -0
- package/dist/admin/utilities/admin.audit.js.map +1 -0
- package/dist/admin/utilities/admin.policy.d.ts +33 -0
- package/dist/admin/utilities/admin.policy.d.ts.map +1 -0
- package/dist/admin/utilities/admin.policy.js +91 -0
- package/dist/admin/utilities/admin.policy.js.map +1 -0
- package/dist/admin/utilities/bounded.concurrency.d.ts +4 -0
- package/dist/admin/utilities/bounded.concurrency.d.ts.map +1 -0
- package/dist/admin/utilities/bounded.concurrency.js +20 -0
- package/dist/admin/utilities/bounded.concurrency.js.map +1 -0
- package/dist/admin/utilities/scope.grants.d.ts +9 -0
- package/dist/admin/utilities/scope.grants.d.ts.map +1 -0
- package/dist/admin/utilities/scope.grants.js +28 -0
- package/dist/admin/utilities/scope.grants.js.map +1 -0
- package/dist/admin/utilities/super.admin.guard.d.ts +9 -0
- package/dist/admin/utilities/super.admin.guard.d.ts.map +1 -0
- package/dist/admin/utilities/super.admin.guard.js +32 -0
- package/dist/admin/utilities/super.admin.guard.js.map +1 -0
- package/dist/admin/utilities/tenant.role.policy.d.ts +16 -0
- package/dist/admin/utilities/tenant.role.policy.d.ts.map +1 -0
- package/dist/admin/utilities/tenant.role.policy.js +35 -0
- package/dist/admin/utilities/tenant.role.policy.js.map +1 -0
- package/dist/admin/validators/admin.patterns.d.ts +5 -0
- package/dist/admin/validators/admin.patterns.d.ts.map +1 -0
- package/dist/admin/validators/admin.patterns.js +8 -0
- package/dist/admin/validators/admin.patterns.js.map +1 -0
- package/dist/admin/validators/admin.validators.d.ts +5 -0
- package/dist/admin/validators/admin.validators.d.ts.map +1 -0
- package/dist/admin/validators/admin.validators.js +56 -0
- package/dist/admin/validators/admin.validators.js.map +1 -0
- package/dist/auth/auth.module.d.ts.map +1 -1
- package/dist/auth/auth.module.js +68 -14
- package/dist/auth/auth.module.js.map +1 -1
- package/dist/auth/controllers/admin.auth.controller.d.ts +7 -2
- package/dist/auth/controllers/admin.auth.controller.d.ts.map +1 -1
- package/dist/auth/controllers/admin.auth.controller.js +36 -11
- package/dist/auth/controllers/admin.auth.controller.js.map +1 -1
- package/dist/auth/controllers/auth.controller.d.ts +12 -2
- package/dist/auth/controllers/auth.controller.d.ts.map +1 -1
- package/dist/auth/controllers/auth.controller.js +83 -17
- package/dist/auth/controllers/auth.controller.js.map +1 -1
- package/dist/auth/controllers/impersonation.controller.d.ts +5 -4
- package/dist/auth/controllers/impersonation.controller.d.ts.map +1 -1
- package/dist/auth/controllers/impersonation.controller.js +12 -10
- package/dist/auth/controllers/impersonation.controller.js.map +1 -1
- package/dist/auth/controllers/tenant.invitation.controller.d.ts +6 -4
- package/dist/auth/controllers/tenant.invitation.controller.d.ts.map +1 -1
- package/dist/auth/controllers/tenant.invitation.controller.js +25 -15
- package/dist/auth/controllers/tenant.invitation.controller.js.map +1 -1
- package/dist/auth/controllers/tenant.member.controller.d.ts.map +1 -1
- package/dist/auth/controllers/tenant.member.controller.js +3 -4
- package/dist/auth/controllers/tenant.member.controller.js.map +1 -1
- package/dist/auth/controllers/user.invitation.controller.d.ts +2 -3
- package/dist/auth/controllers/user.invitation.controller.d.ts.map +1 -1
- package/dist/auth/controllers/user.invitation.controller.js +10 -9
- package/dist/auth/controllers/user.invitation.controller.js.map +1 -1
- package/dist/auth/controllers/user.organization.controller.d.ts +1 -2
- package/dist/auth/controllers/user.organization.controller.d.ts.map +1 -1
- package/dist/auth/controllers/user.organization.controller.js +6 -6
- package/dist/auth/controllers/user.organization.controller.js.map +1 -1
- package/dist/auth/decorators/allow.pending.password.change.decorator.d.ts +3 -0
- package/dist/auth/decorators/allow.pending.password.change.decorator.d.ts.map +1 -0
- package/dist/auth/decorators/allow.pending.password.change.decorator.js +8 -0
- package/dist/auth/decorators/allow.pending.password.change.decorator.js.map +1 -0
- package/dist/auth/decorators/api.key.scopes.decorator.d.ts +2 -0
- package/dist/auth/decorators/api.key.scopes.decorator.d.ts.map +1 -1
- package/dist/auth/decorators/api.key.scopes.decorator.js +4 -1
- package/dist/auth/decorators/api.key.scopes.decorator.js.map +1 -1
- package/dist/auth/decorators/max.bytes.decorator.d.ts +3 -0
- package/dist/auth/decorators/max.bytes.decorator.d.ts.map +1 -0
- package/dist/auth/decorators/max.bytes.decorator.js +15 -0
- package/dist/auth/decorators/max.bytes.decorator.js.map +1 -0
- package/dist/auth/decorators/normalize.email.decorator.d.ts +2 -0
- package/dist/auth/decorators/normalize.email.decorator.d.ts.map +1 -0
- package/dist/auth/decorators/normalize.email.decorator.js +7 -0
- package/dist/auth/decorators/normalize.email.decorator.js.map +1 -0
- package/dist/auth/dtos/admin.login.dto.d.ts.map +1 -1
- package/dist/auth/dtos/admin.login.dto.js +7 -1
- package/dist/auth/dtos/admin.login.dto.js.map +1 -1
- package/dist/auth/dtos/change.password.dto.d.ts.map +1 -1
- package/dist/auth/dtos/change.password.dto.js +9 -3
- package/dist/auth/dtos/change.password.dto.js.map +1 -1
- package/dist/auth/dtos/google.login.dto.d.ts.map +1 -1
- package/dist/auth/dtos/google.login.dto.js +1 -0
- package/dist/auth/dtos/google.login.dto.js.map +1 -1
- package/dist/auth/dtos/invite.tenant.user.dto.d.ts.map +1 -1
- package/dist/auth/dtos/invite.tenant.user.dto.js +7 -3
- package/dist/auth/dtos/invite.tenant.user.dto.js.map +1 -1
- package/dist/auth/dtos/login.dto.d.ts.map +1 -1
- package/dist/auth/dtos/login.dto.js +5 -0
- package/dist/auth/dtos/login.dto.js.map +1 -1
- package/dist/auth/dtos/member.roles.dto.d.ts.map +1 -1
- package/dist/auth/dtos/member.roles.dto.js +1 -0
- package/dist/auth/dtos/member.roles.dto.js.map +1 -1
- package/dist/auth/dtos/refresh.token.dto.d.ts.map +1 -1
- package/dist/auth/dtos/refresh.token.dto.js +1 -0
- package/dist/auth/dtos/refresh.token.dto.js.map +1 -1
- package/dist/auth/dtos/register.dto.d.ts.map +1 -1
- package/dist/auth/dtos/register.dto.js +11 -3
- package/dist/auth/dtos/register.dto.js.map +1 -1
- package/dist/auth/dtos/tenant.invitation.list.dto.d.ts +0 -1
- package/dist/auth/dtos/tenant.invitation.list.dto.d.ts.map +1 -1
- package/dist/auth/dtos/tenant.invitation.list.dto.js +0 -19
- package/dist/auth/dtos/tenant.invitation.list.dto.js.map +1 -1
- package/dist/auth/dtos/tenant.member.list.dto.d.ts +0 -1
- package/dist/auth/dtos/tenant.member.list.dto.d.ts.map +1 -1
- package/dist/auth/dtos/tenant.member.list.dto.js +0 -19
- package/dist/auth/dtos/tenant.member.list.dto.js.map +1 -1
- package/dist/auth/dtos/verify.email.dto.d.ts +4 -0
- package/dist/auth/dtos/verify.email.dto.d.ts.map +1 -0
- package/dist/auth/dtos/verify.email.dto.js +25 -0
- package/dist/auth/dtos/verify.email.dto.js.map +1 -0
- package/dist/auth/entities/admin.user.entity.d.ts +1 -0
- package/dist/auth/entities/admin.user.entity.d.ts.map +1 -1
- package/dist/auth/entities/admin.user.entity.js +4 -0
- package/dist/auth/entities/admin.user.entity.js.map +1 -1
- package/dist/auth/entities/api.key.entity.d.ts.map +1 -1
- package/dist/auth/entities/api.key.entity.js +2 -2
- package/dist/auth/entities/api.key.entity.js.map +1 -1
- package/dist/auth/entities/email.verification.token.entity.d.ts +11 -0
- package/dist/auth/entities/email.verification.token.entity.d.ts.map +1 -0
- package/dist/auth/entities/email.verification.token.entity.js +47 -0
- package/dist/auth/entities/email.verification.token.entity.js.map +1 -0
- package/dist/auth/entities/system.refresh.token.entity.d.ts +1 -0
- package/dist/auth/entities/system.refresh.token.entity.d.ts.map +1 -1
- package/dist/auth/entities/system.refresh.token.entity.js +4 -0
- package/dist/auth/entities/system.refresh.token.entity.js.map +1 -1
- package/dist/auth/entities/tenant.invitation.entity.d.ts +1 -0
- package/dist/auth/entities/tenant.invitation.entity.d.ts.map +1 -1
- package/dist/auth/entities/tenant.invitation.entity.js +5 -1
- package/dist/auth/entities/tenant.invitation.entity.js.map +1 -1
- package/dist/auth/entities/user.entity.d.ts +1 -0
- package/dist/auth/entities/user.entity.d.ts.map +1 -1
- package/dist/auth/entities/user.entity.js +5 -1
- package/dist/auth/entities/user.entity.js.map +1 -1
- package/dist/auth/enums/auth.default.enum.d.ts +26 -2
- package/dist/auth/enums/auth.default.enum.d.ts.map +1 -1
- package/dist/auth/enums/auth.default.enum.js +26 -2
- package/dist/auth/enums/auth.default.enum.js.map +1 -1
- package/dist/auth/enums/auth.message.enum.d.ts +8 -0
- package/dist/auth/enums/auth.message.enum.d.ts.map +1 -0
- package/dist/auth/enums/auth.message.enum.js +12 -0
- package/dist/auth/enums/auth.message.enum.js.map +1 -0
- package/dist/auth/enums/email.verification.default.enum.d.ts +6 -0
- package/dist/auth/enums/email.verification.default.enum.d.ts.map +1 -0
- package/dist/auth/enums/email.verification.default.enum.js +10 -0
- package/dist/auth/enums/email.verification.default.enum.js.map +1 -0
- package/dist/auth/enums/tenant.invitation.default.enum.d.ts +5 -1
- package/dist/auth/enums/tenant.invitation.default.enum.d.ts.map +1 -1
- package/dist/auth/enums/tenant.invitation.default.enum.js +4 -0
- package/dist/auth/enums/tenant.invitation.default.enum.js.map +1 -1
- package/dist/auth/es6.classes.d.ts +8 -3
- package/dist/auth/es6.classes.d.ts.map +1 -1
- package/dist/auth/es6.classes.js +10 -1
- package/dist/auth/es6.classes.js.map +1 -1
- package/dist/auth/guards/api.key.guard.d.ts +3 -2
- package/dist/auth/guards/api.key.guard.d.ts.map +1 -1
- package/dist/auth/guards/api.key.guard.js +19 -30
- package/dist/auth/guards/api.key.guard.js.map +1 -1
- package/dist/auth/guards/jwt.auth.guard.d.ts +1 -1
- package/dist/auth/guards/jwt.auth.guard.d.ts.map +1 -1
- package/dist/auth/guards/jwt.auth.guard.js +14 -7
- package/dist/auth/guards/jwt.auth.guard.js.map +1 -1
- package/dist/auth/helpers/admin.auth.d.ts.map +1 -1
- package/dist/auth/helpers/admin.auth.js +1 -1
- package/dist/auth/helpers/admin.auth.js.map +1 -1
- package/dist/auth/jobs/purge.expired.auth.records.job.d.ts +15 -0
- package/dist/auth/jobs/purge.expired.auth.records.job.d.ts.map +1 -0
- package/dist/auth/jobs/purge.expired.auth.records.job.js +72 -0
- package/dist/auth/jobs/purge.expired.auth.records.job.js.map +1 -0
- package/dist/auth/middlewares/admin.jwt.middleware.d.ts +3 -4
- package/dist/auth/middlewares/admin.jwt.middleware.d.ts.map +1 -1
- package/dist/auth/middlewares/admin.jwt.middleware.js +9 -28
- package/dist/auth/middlewares/admin.jwt.middleware.js.map +1 -1
- package/dist/auth/middlewares/api.key.middleware.d.ts +3 -2
- package/dist/auth/middlewares/api.key.middleware.d.ts.map +1 -1
- package/dist/auth/middlewares/api.key.middleware.js +18 -21
- package/dist/auth/middlewares/api.key.middleware.js.map +1 -1
- package/dist/auth/middlewares/jwt.middleware.d.ts +3 -4
- package/dist/auth/middlewares/jwt.middleware.d.ts.map +1 -1
- package/dist/auth/middlewares/jwt.middleware.js +15 -27
- package/dist/auth/middlewares/jwt.middleware.js.map +1 -1
- package/dist/auth/processors/change.admin.password.data.processor.d.ts +13 -0
- package/dist/auth/processors/change.admin.password.data.processor.d.ts.map +1 -0
- package/dist/auth/processors/change.admin.password.data.processor.js +61 -0
- package/dist/auth/processors/change.admin.password.data.processor.js.map +1 -0
- package/dist/auth/processors/change.password.data.processor.d.ts +2 -1
- package/dist/auth/processors/change.password.data.processor.d.ts.map +1 -1
- package/dist/auth/processors/change.password.data.processor.js +27 -4
- package/dist/auth/processors/change.password.data.processor.js.map +1 -1
- package/dist/auth/processors/google.user.data.processor.d.ts +3 -2
- package/dist/auth/processors/google.user.data.processor.d.ts.map +1 -1
- package/dist/auth/processors/google.user.data.processor.js +58 -10
- package/dist/auth/processors/google.user.data.processor.js.map +1 -1
- package/dist/auth/processors/register.user.data.processor.d.ts.map +1 -1
- package/dist/auth/processors/register.user.data.processor.js +7 -1
- package/dist/auth/processors/register.user.data.processor.js.map +1 -1
- package/dist/auth/processors/tenant.invitation.data.processor.d.ts +2 -0
- package/dist/auth/processors/tenant.invitation.data.processor.d.ts.map +1 -1
- package/dist/auth/processors/tenant.invitation.data.processor.js +59 -29
- package/dist/auth/processors/tenant.invitation.data.processor.js.map +1 -1
- package/dist/auth/processors/tenant.invitation.list.processor.d.ts +2 -1
- package/dist/auth/processors/tenant.invitation.list.processor.d.ts.map +1 -1
- package/dist/auth/processors/tenant.invitation.list.processor.js +6 -2
- package/dist/auth/processors/tenant.invitation.list.processor.js.map +1 -1
- package/dist/auth/processors/tenant.member.list.processor.d.ts +2 -1
- package/dist/auth/processors/tenant.member.list.processor.d.ts.map +1 -1
- package/dist/auth/processors/tenant.member.list.processor.js +6 -2
- package/dist/auth/processors/tenant.member.list.processor.js.map +1 -1
- package/dist/auth/services/admin.auth.service.d.ts +5 -8
- package/dist/auth/services/admin.auth.service.d.ts.map +1 -1
- package/dist/auth/services/admin.auth.service.js +49 -98
- package/dist/auth/services/admin.auth.service.js.map +1 -1
- package/dist/auth/services/api.key.service.d.ts +6 -2
- package/dist/auth/services/api.key.service.d.ts.map +1 -1
- package/dist/auth/services/api.key.service.js +39 -11
- package/dist/auth/services/api.key.service.js.map +1 -1
- package/dist/auth/services/auth.service.d.ts +12 -11
- package/dist/auth/services/auth.service.d.ts.map +1 -1
- package/dist/auth/services/auth.service.js +66 -117
- package/dist/auth/services/auth.service.js.map +1 -1
- package/dist/auth/services/email.verification.service.d.ts +16 -0
- package/dist/auth/services/email.verification.service.d.ts.map +1 -0
- package/dist/auth/services/email.verification.service.js +97 -0
- package/dist/auth/services/email.verification.service.js.map +1 -0
- package/dist/auth/services/google.auth.service.d.ts +1 -0
- package/dist/auth/services/google.auth.service.d.ts.map +1 -1
- package/dist/auth/services/google.auth.service.js +19 -6
- package/dist/auth/services/google.auth.service.js.map +1 -1
- package/dist/auth/services/impersonation.service.d.ts +2 -2
- package/dist/auth/services/impersonation.service.d.ts.map +1 -1
- package/dist/auth/services/impersonation.service.js +12 -3
- package/dist/auth/services/impersonation.service.js.map +1 -1
- package/dist/auth/services/login.throttle.service.d.ts +18 -0
- package/dist/auth/services/login.throttle.service.d.ts.map +1 -0
- package/dist/auth/services/login.throttle.service.js +98 -0
- package/dist/auth/services/login.throttle.service.js.map +1 -0
- package/dist/auth/services/role.service.d.ts +1 -0
- package/dist/auth/services/role.service.d.ts.map +1 -1
- package/dist/auth/services/role.service.js +16 -3
- package/dist/auth/services/role.service.js.map +1 -1
- package/dist/auth/services/scope.service.d.ts +3 -1
- package/dist/auth/services/scope.service.d.ts.map +1 -1
- package/dist/auth/services/scope.service.js +11 -8
- package/dist/auth/services/scope.service.js.map +1 -1
- package/dist/auth/services/tenant.invitation.service.d.ts +4 -2
- package/dist/auth/services/tenant.invitation.service.d.ts.map +1 -1
- package/dist/auth/services/tenant.invitation.service.js +40 -17
- package/dist/auth/services/tenant.invitation.service.js.map +1 -1
- package/dist/auth/services/tenant.membership.service.d.ts +2 -2
- package/dist/auth/services/tenant.membership.service.d.ts.map +1 -1
- package/dist/auth/services/tenant.membership.service.js +51 -50
- package/dist/auth/services/tenant.membership.service.js.map +1 -1
- package/dist/auth/services/token.service.d.ts +30 -0
- package/dist/auth/services/token.service.d.ts.map +1 -0
- package/dist/auth/services/token.service.js +211 -0
- package/dist/auth/services/token.service.js.map +1 -0
- package/dist/auth/strategy/jwt.refresh.strategy.d.ts +5 -6
- package/dist/auth/strategy/jwt.refresh.strategy.d.ts.map +1 -1
- package/dist/auth/strategy/jwt.refresh.strategy.js +31 -7
- package/dist/auth/strategy/jwt.refresh.strategy.js.map +1 -1
- package/dist/auth/strategy/jwt.strategy.d.ts +4 -3
- package/dist/auth/strategy/jwt.strategy.d.ts.map +1 -1
- package/dist/auth/strategy/jwt.strategy.js +27 -11
- package/dist/auth/strategy/jwt.strategy.js.map +1 -1
- package/dist/auth/types/api.key.types.d.ts +5 -1
- package/dist/auth/types/api.key.types.d.ts.map +1 -1
- package/dist/auth/types/auth.types.d.ts +65 -6
- package/dist/auth/types/auth.types.d.ts.map +1 -1
- package/dist/auth/types/google.auth.types.d.ts +4 -0
- package/dist/auth/types/google.auth.types.d.ts.map +1 -1
- package/dist/auth/utilities/access.revocation.d.ts +3 -1
- package/dist/auth/utilities/access.revocation.d.ts.map +1 -1
- package/dist/auth/utilities/access.revocation.js +19 -3
- package/dist/auth/utilities/access.revocation.js.map +1 -1
- package/dist/auth/utilities/auth.config.d.ts +23 -0
- package/dist/auth/utilities/auth.config.d.ts.map +1 -0
- package/dist/auth/utilities/auth.config.js +121 -0
- package/dist/auth/utilities/auth.config.js.map +1 -0
- package/dist/auth/utilities/auth.utilities.d.ts +4 -0
- package/dist/auth/utilities/auth.utilities.d.ts.map +1 -1
- package/dist/auth/utilities/auth.utilities.js +27 -17
- package/dist/auth/utilities/auth.utilities.js.map +1 -1
- package/dist/auth/utilities/duration.d.ts +6 -0
- package/dist/auth/utilities/duration.d.ts.map +1 -0
- package/dist/auth/utilities/duration.js +56 -0
- package/dist/auth/utilities/duration.js.map +1 -0
- package/dist/auth/utilities/request.credentials.d.ts +8 -0
- package/dist/auth/utilities/request.credentials.d.ts.map +1 -0
- package/dist/auth/utilities/request.credentials.js +33 -0
- package/dist/auth/utilities/request.credentials.js.map +1 -0
- package/dist/auth/utilities/scope.cascade.d.ts +12 -0
- package/dist/auth/utilities/scope.cascade.d.ts.map +1 -0
- package/dist/auth/utilities/scope.cascade.js +90 -0
- package/dist/auth/utilities/scope.cascade.js.map +1 -0
- package/dist/auth/utilities/tenant.access.d.ts +8 -2
- package/dist/auth/utilities/tenant.access.d.ts.map +1 -1
- package/dist/auth/utilities/tenant.access.js +86 -7
- package/dist/auth/utilities/tenant.access.js.map +1 -1
- package/dist/common/adapters/sentry.monitoring.adapter.d.ts +3 -1
- package/dist/common/adapters/sentry.monitoring.adapter.d.ts.map +1 -1
- package/dist/common/adapters/sentry.monitoring.adapter.js +41 -1
- package/dist/common/adapters/sentry.monitoring.adapter.js.map +1 -1
- package/dist/common/bootstrap/secure.bootstrap.d.ts +6 -0
- package/dist/common/bootstrap/secure.bootstrap.d.ts.map +1 -0
- package/dist/common/bootstrap/secure.bootstrap.js +69 -0
- package/dist/common/bootstrap/secure.bootstrap.js.map +1 -0
- package/dist/common/common.module.d.ts +1 -0
- package/dist/common/common.module.d.ts.map +1 -1
- package/dist/common/common.module.js +16 -2
- package/dist/common/common.module.js.map +1 -1
- package/dist/common/consumers/job.consumer.d.ts +2 -0
- package/dist/common/consumers/job.consumer.d.ts.map +1 -1
- package/dist/common/consumers/job.consumer.js +53 -19
- package/dist/common/consumers/job.consumer.js.map +1 -1
- package/dist/common/controllers/common.controller.d.ts.map +1 -1
- package/dist/common/controllers/common.controller.js +2 -0
- package/dist/common/controllers/common.controller.js.map +1 -1
- package/dist/common/dtos/common.list.filter.dto.d.ts.map +1 -1
- package/dist/common/dtos/common.list.filter.dto.js +11 -2
- package/dist/common/dtos/common.list.filter.dto.js.map +1 -1
- package/dist/common/dtos/common.params.dto.d.ts +0 -1
- package/dist/common/dtos/common.params.dto.d.ts.map +1 -1
- package/dist/common/dtos/common.params.dto.js +0 -6
- package/dist/common/dtos/common.params.dto.js.map +1 -1
- package/dist/common/dtos/filter.dto.d.ts.map +1 -1
- package/dist/common/dtos/filter.dto.js +4 -0
- package/dist/common/dtos/filter.dto.js.map +1 -1
- package/dist/common/dtos/sort.dto.d.ts.map +1 -1
- package/dist/common/dtos/sort.dto.js +2 -0
- package/dist/common/dtos/sort.dto.js.map +1 -1
- package/dist/common/entities/root.entity.d.ts.map +1 -1
- package/dist/common/entities/root.entity.js +1 -2
- package/dist/common/entities/root.entity.js.map +1 -1
- package/dist/common/enums/bootstrap.default.enum.d.ts +8 -0
- package/dist/common/enums/bootstrap.default.enum.d.ts.map +1 -0
- package/dist/common/enums/bootstrap.default.enum.js +13 -0
- package/dist/common/enums/bootstrap.default.enum.js.map +1 -0
- package/dist/common/enums/cache.default.enum.d.ts +4 -0
- package/dist/common/enums/cache.default.enum.d.ts.map +1 -0
- package/dist/common/enums/cache.default.enum.js +8 -0
- package/dist/common/enums/cache.default.enum.js.map +1 -0
- package/dist/common/enums/encryption.enum.d.ts +12 -1
- package/dist/common/enums/encryption.enum.d.ts.map +1 -1
- package/dist/common/enums/encryption.enum.js +14 -1
- package/dist/common/enums/encryption.enum.js.map +1 -1
- package/dist/common/enums/list.filter.default.enum.d.ts +9 -0
- package/dist/common/enums/list.filter.default.enum.d.ts.map +1 -0
- package/dist/common/enums/list.filter.default.enum.js +13 -0
- package/dist/common/enums/list.filter.default.enum.js.map +1 -0
- package/dist/common/enums/logging.default.enum.d.ts +4 -0
- package/dist/common/enums/logging.default.enum.d.ts.map +1 -0
- package/dist/common/enums/logging.default.enum.js +8 -0
- package/dist/common/enums/logging.default.enum.js.map +1 -0
- package/dist/common/enums/monitoring.default.enum.d.ts +3 -0
- package/dist/common/enums/monitoring.default.enum.d.ts.map +1 -1
- package/dist/common/enums/monitoring.default.enum.js +4 -1
- package/dist/common/enums/monitoring.default.enum.js.map +1 -1
- package/dist/common/enums/queue.enum.d.ts +5 -1
- package/dist/common/enums/queue.enum.d.ts.map +1 -1
- package/dist/common/enums/queue.enum.js +4 -0
- package/dist/common/enums/queue.enum.js.map +1 -1
- package/dist/common/enums/remote.request.default.enum.d.ts +6 -0
- package/dist/common/enums/remote.request.default.enum.d.ts.map +1 -0
- package/dist/common/enums/remote.request.default.enum.js +10 -0
- package/dist/common/enums/remote.request.default.enum.js.map +1 -0
- package/dist/common/enums/schedule.enum.d.ts +7 -1
- package/dist/common/enums/schedule.enum.d.ts.map +1 -1
- package/dist/common/enums/schedule.enum.js +6 -0
- package/dist/common/enums/schedule.enum.js.map +1 -1
- package/dist/common/enums/security.header.default.enum.d.ts +6 -0
- package/dist/common/enums/security.header.default.enum.d.ts.map +1 -0
- package/dist/common/enums/security.header.default.enum.js +10 -0
- package/dist/common/enums/security.header.default.enum.js.map +1 -0
- package/dist/common/enums/server.environment.enum.d.ts.map +1 -1
- package/dist/common/enums/server.environment.enum.js.map +1 -1
- package/dist/common/enums/sql.default.enum.d.ts +8 -0
- package/dist/common/enums/sql.default.enum.d.ts.map +1 -1
- package/dist/common/enums/sql.default.enum.js +14 -1
- package/dist/common/enums/sql.default.enum.js.map +1 -1
- package/dist/common/es6.classes.d.ts +4 -1
- package/dist/common/es6.classes.d.ts.map +1 -1
- package/dist/common/es6.classes.js +4 -0
- package/dist/common/es6.classes.js.map +1 -1
- package/dist/common/interceptors/logging.interceptor.d.ts.map +1 -1
- package/dist/common/interceptors/logging.interceptor.js +9 -3
- package/dist/common/interceptors/logging.interceptor.js.map +1 -1
- package/dist/common/interceptors/monitoring.interceptor.d.ts.map +1 -1
- package/dist/common/interceptors/monitoring.interceptor.js +10 -5
- package/dist/common/interceptors/monitoring.interceptor.js.map +1 -1
- package/dist/common/jobs/common.job.d.ts +2 -0
- package/dist/common/jobs/common.job.d.ts.map +1 -1
- package/dist/common/jobs/common.job.js +2 -0
- package/dist/common/jobs/common.job.js.map +1 -1
- package/dist/common/jobs/dispatch.scheduled.event.job.d.ts.map +1 -1
- package/dist/common/jobs/dispatch.scheduled.event.job.js +10 -3
- package/dist/common/jobs/dispatch.scheduled.event.job.js.map +1 -1
- package/dist/common/jobs/purge.failed.jobs.job.d.ts +9 -0
- package/dist/common/jobs/purge.failed.jobs.job.d.ts.map +1 -0
- package/dist/common/jobs/purge.failed.jobs.job.js +42 -0
- package/dist/common/jobs/purge.failed.jobs.job.js.map +1 -0
- package/dist/common/jobs/set.scheduled.event.job.d.ts.map +1 -1
- package/dist/common/jobs/set.scheduled.event.job.js +9 -3
- package/dist/common/jobs/set.scheduled.event.job.js.map +1 -1
- package/dist/common/libraries/cron.schedule.resolver.d.ts +5 -0
- package/dist/common/libraries/cron.schedule.resolver.d.ts.map +1 -1
- package/dist/common/libraries/cron.schedule.resolver.js +56 -0
- package/dist/common/libraries/cron.schedule.resolver.js.map +1 -1
- package/dist/common/libraries/filter.operator.registry.d.ts +1 -0
- package/dist/common/libraries/filter.operator.registry.d.ts.map +1 -1
- package/dist/common/libraries/filter.operator.registry.js +8 -4
- package/dist/common/libraries/filter.operator.registry.js.map +1 -1
- package/dist/common/libraries/interval.schedule.resolver.d.ts.map +1 -1
- package/dist/common/libraries/interval.schedule.resolver.js +10 -0
- package/dist/common/libraries/interval.schedule.resolver.js.map +1 -1
- package/dist/common/libraries/predicate.set.d.ts.map +1 -1
- package/dist/common/libraries/predicate.set.js +7 -0
- package/dist/common/libraries/predicate.set.js.map +1 -1
- package/dist/common/middlewares/security.headers.middleware.d.ts +4 -0
- package/dist/common/middlewares/security.headers.middleware.d.ts.map +1 -0
- package/dist/common/middlewares/security.headers.middleware.js +27 -0
- package/dist/common/middlewares/security.headers.middleware.js.map +1 -0
- package/dist/common/pipes/strict.validation.pipe.d.ts +6 -0
- package/dist/common/pipes/strict.validation.pipe.d.ts.map +1 -0
- package/dist/common/pipes/strict.validation.pipe.js +49 -0
- package/dist/common/pipes/strict.validation.pipe.js.map +1 -0
- package/dist/common/queue.module.d.ts.map +1 -1
- package/dist/common/queue.module.js +11 -3
- package/dist/common/queue.module.js.map +1 -1
- package/dist/common/services/audit.service.d.ts.map +1 -1
- package/dist/common/services/audit.service.js +1 -2
- package/dist/common/services/audit.service.js.map +1 -1
- package/dist/common/services/cache.service.d.ts +8 -2
- package/dist/common/services/cache.service.d.ts.map +1 -1
- package/dist/common/services/cache.service.js +54 -21
- package/dist/common/services/cache.service.js.map +1 -1
- package/dist/common/services/encryption.service.d.ts +21 -5
- package/dist/common/services/encryption.service.d.ts.map +1 -1
- package/dist/common/services/encryption.service.js +129 -37
- package/dist/common/services/encryption.service.js.map +1 -1
- package/dist/common/services/list.filter.service.d.ts +2 -0
- package/dist/common/services/list.filter.service.d.ts.map +1 -1
- package/dist/common/services/list.filter.service.js +68 -18
- package/dist/common/services/list.filter.service.js.map +1 -1
- package/dist/common/services/queue.service.d.ts +13 -1
- package/dist/common/services/queue.service.d.ts.map +1 -1
- package/dist/common/services/queue.service.js +80 -11
- package/dist/common/services/queue.service.js.map +1 -1
- package/dist/common/services/remote.request.service.d.ts +10 -0
- package/dist/common/services/remote.request.service.d.ts.map +1 -1
- package/dist/common/services/remote.request.service.js +190 -15
- package/dist/common/services/remote.request.service.js.map +1 -1
- package/dist/common/services/system.property.service.d.ts +4 -0
- package/dist/common/services/system.property.service.d.ts.map +1 -1
- package/dist/common/services/system.property.service.js +62 -21
- package/dist/common/services/system.property.service.js.map +1 -1
- package/dist/common/subscribers/common.subscriber.d.ts +11 -1
- package/dist/common/subscribers/common.subscriber.d.ts.map +1 -1
- package/dist/common/subscribers/common.subscriber.js +98 -16
- package/dist/common/subscribers/common.subscriber.js.map +1 -1
- package/dist/common/subscribers/system.scheduled.task.subscriber.d.ts +1 -0
- package/dist/common/subscribers/system.scheduled.task.subscriber.d.ts.map +1 -1
- package/dist/common/subscribers/system.scheduled.task.subscriber.js +1 -0
- package/dist/common/subscribers/system.scheduled.task.subscriber.js.map +1 -1
- package/dist/common/types/bootstrap.types.d.ts +6 -0
- package/dist/common/types/bootstrap.types.d.ts.map +1 -0
- package/dist/common/types/bootstrap.types.js +3 -0
- package/dist/common/types/bootstrap.types.js.map +1 -0
- package/dist/common/types/cache.types.d.ts +1 -0
- package/dist/common/types/cache.types.d.ts.map +1 -1
- package/dist/common/types/cache.types.js +7 -2
- package/dist/common/types/cache.types.js.map +1 -1
- package/dist/common/types/database.event.type.d.ts +5 -0
- package/dist/common/types/database.event.type.d.ts.map +1 -1
- package/dist/common/types/encryption.types.d.ts +10 -0
- package/dist/common/types/encryption.types.d.ts.map +1 -0
- package/dist/common/types/encryption.types.js +3 -0
- package/dist/common/types/encryption.types.js.map +1 -0
- package/dist/common/types/monitoring.types.d.ts +17 -0
- package/dist/common/types/monitoring.types.d.ts.map +1 -1
- package/dist/common/types/paginated.result.types.d.ts +4 -0
- package/dist/common/types/paginated.result.types.d.ts.map +1 -1
- package/dist/common/types/paginated.result.types.js +10 -0
- package/dist/common/types/paginated.result.types.js.map +1 -1
- package/dist/common/types/queue.types.d.ts +8 -0
- package/dist/common/types/queue.types.d.ts.map +1 -1
- package/dist/common/types/remote.request.options.d.ts +6 -0
- package/dist/common/types/remote.request.options.d.ts.map +1 -1
- package/dist/common/types/security.headers.types.d.ts +6 -0
- package/dist/common/types/security.headers.types.d.ts.map +1 -0
- package/dist/common/types/security.headers.types.js +3 -0
- package/dist/common/types/security.headers.types.js.map +1 -0
- package/dist/common/validators/schedule.validator.d.ts.map +1 -1
- package/dist/common/validators/schedule.validator.js +4 -2
- package/dist/common/validators/schedule.validator.js.map +1 -1
- package/dist/constants/job.constants.d.ts +1 -0
- package/dist/constants/job.constants.d.ts.map +1 -1
- package/dist/constants/job.constants.js +1 -0
- package/dist/constants/job.constants.js.map +1 -1
- package/dist/constants/job.maps.d.ts +2 -0
- package/dist/constants/job.maps.d.ts.map +1 -1
- package/dist/constants/job.maps.js +2 -0
- package/dist/constants/job.maps.js.map +1 -1
- package/dist/constants/schedule.maps.d.ts +1 -0
- package/dist/constants/schedule.maps.d.ts.map +1 -1
- package/dist/constants/schedule.maps.js +13 -0
- package/dist/constants/schedule.maps.js.map +1 -1
- package/dist/database/config/data.source.config.d.ts +4 -0
- package/dist/database/config/data.source.config.d.ts.map +1 -1
- package/dist/database/config/data.source.config.js +24 -2
- package/dist/database/config/data.source.config.js.map +1 -1
- package/dist/document/controllers/document.controller.d.ts.map +1 -1
- package/dist/document/controllers/document.controller.js +18 -8
- package/dist/document/controllers/document.controller.js.map +1 -1
- package/dist/document/document.module.d.ts.map +1 -1
- package/dist/document/document.module.js +33 -4
- package/dist/document/document.module.js.map +1 -1
- package/dist/document/document.tokens.d.ts +2 -0
- package/dist/document/document.tokens.d.ts.map +1 -0
- package/dist/document/document.tokens.js +5 -0
- package/dist/document/document.tokens.js.map +1 -0
- package/dist/document/dtos/pdf.document.options.dto.d.ts +6 -0
- package/dist/document/dtos/pdf.document.options.dto.d.ts.map +1 -1
- package/dist/document/dtos/pdf.document.options.dto.js +4 -1
- package/dist/document/dtos/pdf.document.options.dto.js.map +1 -1
- package/dist/document/entities/document.entity.d.ts +1 -0
- package/dist/document/entities/document.entity.d.ts.map +1 -1
- package/dist/document/entities/document.entity.js +4 -0
- package/dist/document/entities/document.entity.js.map +1 -1
- package/dist/document/entities/document.upload.entity.d.ts +2 -0
- package/dist/document/entities/document.upload.entity.d.ts.map +1 -1
- package/dist/document/entities/document.upload.entity.js +9 -1
- package/dist/document/entities/document.upload.entity.js.map +1 -1
- package/dist/document/enums/document.default.enum.d.ts +15 -3
- package/dist/document/enums/document.default.enum.d.ts.map +1 -1
- package/dist/document/enums/document.default.enum.js +14 -2
- package/dist/document/enums/document.default.enum.js.map +1 -1
- package/dist/document/enums/document.tenancy.enum.d.ts +2 -0
- package/dist/document/enums/document.tenancy.enum.d.ts.map +1 -0
- package/dist/document/enums/document.tenancy.enum.js +5 -0
- package/dist/document/enums/document.tenancy.enum.js.map +1 -0
- package/dist/document/enums/file.type.enum.d.ts +12 -0
- package/dist/document/enums/file.type.enum.d.ts.map +1 -0
- package/dist/document/enums/file.type.enum.js +34 -0
- package/dist/document/enums/file.type.enum.js.map +1 -0
- package/dist/document/enums/pdf.default.enum.d.ts +4 -2
- package/dist/document/enums/pdf.default.enum.d.ts.map +1 -1
- package/dist/document/enums/pdf.default.enum.js +2 -0
- package/dist/document/enums/pdf.default.enum.js.map +1 -1
- package/dist/document/es6.classes.d.ts +4 -0
- package/dist/document/es6.classes.d.ts.map +1 -1
- package/dist/document/es6.classes.js +5 -0
- package/dist/document/es6.classes.js.map +1 -1
- package/dist/document/guards/document.authenticated.guard.d.ts +5 -0
- package/dist/document/guards/document.authenticated.guard.d.ts.map +1 -0
- package/dist/document/guards/document.authenticated.guard.js +27 -0
- package/dist/document/guards/document.authenticated.guard.js.map +1 -0
- package/dist/document/interceptors/document.upload.interceptor.d.ts +8 -0
- package/dist/document/interceptors/document.upload.interceptor.d.ts.map +1 -0
- package/dist/document/interceptors/document.upload.interceptor.js +52 -0
- package/dist/document/interceptors/document.upload.interceptor.js.map +1 -0
- package/dist/document/jobs/clean.orphan.documents.job.d.ts +1 -0
- package/dist/document/jobs/clean.orphan.documents.job.d.ts.map +1 -1
- package/dist/document/jobs/clean.orphan.documents.job.js +27 -14
- package/dist/document/jobs/clean.orphan.documents.job.js.map +1 -1
- package/dist/document/libraries/process.pdf.document.d.ts.map +1 -1
- package/dist/document/libraries/process.pdf.document.js +21 -9
- package/dist/document/libraries/process.pdf.document.js.map +1 -1
- package/dist/document/services/document.service.d.ts +25 -10
- package/dist/document/services/document.service.d.ts.map +1 -1
- package/dist/document/services/document.service.js +262 -81
- package/dist/document/services/document.service.js.map +1 -1
- package/dist/document/services/minio.bucket.document.service.d.ts +2 -3
- package/dist/document/services/minio.bucket.document.service.d.ts.map +1 -1
- package/dist/document/services/minio.bucket.document.service.js +10 -7
- package/dist/document/services/minio.bucket.document.service.js.map +1 -1
- package/dist/document/services/pdf.service.d.ts +4 -0
- package/dist/document/services/pdf.service.d.ts.map +1 -1
- package/dist/document/services/pdf.service.js +37 -2
- package/dist/document/services/pdf.service.js.map +1 -1
- package/dist/document/services/pdf.template.service.d.ts +4 -1
- package/dist/document/services/pdf.template.service.d.ts.map +1 -1
- package/dist/document/services/pdf.template.service.js +32 -9
- package/dist/document/services/pdf.template.service.js.map +1 -1
- package/dist/document/services/s3.bucket.document.service.d.ts +2 -3
- package/dist/document/services/s3.bucket.document.service.d.ts.map +1 -1
- package/dist/document/services/s3.bucket.document.service.js +12 -7
- package/dist/document/services/s3.bucket.document.service.js.map +1 -1
- package/dist/document/types/document.types.d.ts +61 -4
- package/dist/document/types/document.types.d.ts.map +1 -1
- package/dist/document/types/pdf.types.d.ts +17 -0
- package/dist/document/types/pdf.types.d.ts.map +1 -1
- package/dist/document/utilities/document.config.d.ts +9 -0
- package/dist/document/utilities/document.config.d.ts.map +1 -0
- package/dist/document/utilities/document.config.js +74 -0
- package/dist/document/utilities/document.config.js.map +1 -0
- package/dist/document/utilities/document.tenancy.d.ts +6 -0
- package/dist/document/utilities/document.tenancy.d.ts.map +1 -0
- package/dist/document/utilities/document.tenancy.js +29 -0
- package/dist/document/utilities/document.tenancy.js.map +1 -0
- package/dist/document/utilities/file.type.utility.d.ts +7 -0
- package/dist/document/utilities/file.type.utility.d.ts.map +1 -0
- package/dist/document/utilities/file.type.utility.js +105 -0
- package/dist/document/utilities/file.type.utility.js.map +1 -0
- package/dist/document/utilities/pdf.request.policy.d.ts +3 -0
- package/dist/document/utilities/pdf.request.policy.d.ts.map +1 -0
- package/dist/document/utilities/pdf.request.policy.js +37 -0
- package/dist/document/utilities/pdf.request.policy.js.map +1 -0
- package/dist/global/enums/environment.enum.d.ts +6 -0
- package/dist/global/enums/environment.enum.d.ts.map +1 -0
- package/dist/global/enums/environment.enum.js +47 -0
- package/dist/global/enums/environment.enum.js.map +1 -0
- package/dist/global/enums/redaction.enum.d.ts +11 -0
- package/dist/global/enums/redaction.enum.d.ts.map +1 -0
- package/dist/global/enums/redaction.enum.js +31 -0
- package/dist/global/enums/redaction.enum.js.map +1 -0
- package/dist/global/filters/global.exception.filter.d.ts +4 -1
- package/dist/global/filters/global.exception.filter.d.ts.map +1 -1
- package/dist/global/filters/global.exception.filter.js +91 -25
- package/dist/global/filters/global.exception.filter.js.map +1 -1
- package/dist/global/types/environment.types.d.ts +15 -0
- package/dist/global/types/environment.types.d.ts.map +1 -0
- package/dist/global/types/environment.types.js +3 -0
- package/dist/global/types/environment.types.js.map +1 -0
- package/dist/global/types/exception.filter.types.d.ts +9 -0
- package/dist/global/types/exception.filter.types.d.ts.map +1 -1
- package/dist/global/types/migration.utility.types.d.ts +5 -0
- package/dist/global/types/migration.utility.types.d.ts.map +1 -1
- package/dist/global/types/redaction.types.d.ts +5 -0
- package/dist/global/types/redaction.types.d.ts.map +1 -0
- package/dist/global/types/redaction.types.js +3 -0
- package/dist/global/types/redaction.types.js.map +1 -0
- package/dist/global/types/seeder.utility.types.d.ts +3 -0
- package/dist/global/types/seeder.utility.types.d.ts.map +1 -1
- package/dist/global/utilities/environment.util.d.ts +12 -0
- package/dist/global/utilities/environment.util.d.ts.map +1 -0
- package/dist/global/utilities/environment.util.js +74 -0
- package/dist/global/utilities/environment.util.js.map +1 -0
- package/dist/global/utilities/hash.util.d.ts +2 -0
- package/dist/global/utilities/hash.util.d.ts.map +1 -1
- package/dist/global/utilities/hash.util.js +12 -0
- package/dist/global/utilities/hash.util.js.map +1 -1
- package/dist/global/utilities/migration.utility.d.ts +12 -7
- package/dist/global/utilities/migration.utility.d.ts.map +1 -1
- package/dist/global/utilities/migration.utility.js +49 -15
- package/dist/global/utilities/migration.utility.js.map +1 -1
- package/dist/global/utilities/redaction.util.d.ts +7 -0
- package/dist/global/utilities/redaction.util.d.ts.map +1 -0
- package/dist/global/utilities/redaction.util.js +64 -0
- package/dist/global/utilities/redaction.util.js.map +1 -0
- package/dist/global/utilities/schedule.utility.d.ts +3 -0
- package/dist/global/utilities/schedule.utility.d.ts.map +1 -1
- package/dist/global/utilities/schedule.utility.js +14 -0
- package/dist/global/utilities/schedule.utility.js.map +1 -1
- package/dist/global/utilities/seeder.utility.d.ts +3 -1
- package/dist/global/utilities/seeder.utility.d.ts.map +1 -1
- package/dist/global/utilities/seeder.utility.js +11 -8
- package/dist/global/utilities/seeder.utility.js.map +1 -1
- package/dist/index.d.ts +67 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +126 -1
- package/dist/index.js.map +1 -1
- package/dist/main.js +7 -13
- package/dist/main.js.map +1 -1
- package/dist/migrations/1749600000001.CreateSysAdminUsersTable.d.ts.map +1 -1
- package/dist/migrations/1749600000001.CreateSysAdminUsersTable.js +3 -0
- package/dist/migrations/1749600000001.CreateSysAdminUsersTable.js.map +1 -1
- package/dist/migrations/1749600000002.CreateSysTenantsTable.d.ts.map +1 -1
- package/dist/migrations/1749600000002.CreateSysTenantsTable.js +2 -0
- package/dist/migrations/1749600000002.CreateSysTenantsTable.js.map +1 -1
- package/dist/migrations/1749600000003.CreateSysUsersTable.d.ts.map +1 -1
- package/dist/migrations/1749600000003.CreateSysUsersTable.js +3 -1
- package/dist/migrations/1749600000003.CreateSysUsersTable.js.map +1 -1
- package/dist/migrations/1749600000004.CreateSysRolesTable.d.ts.map +1 -1
- package/dist/migrations/1749600000004.CreateSysRolesTable.js +1 -0
- package/dist/migrations/1749600000004.CreateSysRolesTable.js.map +1 -1
- package/dist/migrations/1749600000006.CreateSysUserRolesJoinTable.d.ts.map +1 -1
- package/dist/migrations/1749600000006.CreateSysUserRolesJoinTable.js +1 -0
- package/dist/migrations/1749600000006.CreateSysUserRolesJoinTable.js.map +1 -1
- package/dist/migrations/1749600000010.CreateSysPropertiesTable.d.ts.map +1 -1
- package/dist/migrations/1749600000010.CreateSysPropertiesTable.js +1 -0
- package/dist/migrations/1749600000010.CreateSysPropertiesTable.js.map +1 -1
- package/dist/migrations/1749600000011.CreateSysNotificationsTable.d.ts.map +1 -1
- package/dist/migrations/1749600000011.CreateSysNotificationsTable.js +1 -0
- package/dist/migrations/1749600000011.CreateSysNotificationsTable.js.map +1 -1
- package/dist/migrations/1749600000013.CreateSysDocumentUploadsTable.d.ts.map +1 -1
- package/dist/migrations/1749600000013.CreateSysDocumentUploadsTable.js +12 -0
- package/dist/migrations/1749600000013.CreateSysDocumentUploadsTable.js.map +1 -1
- package/dist/migrations/1749600000014.CreateSysRefreshTokensTable.d.ts.map +1 -1
- package/dist/migrations/1749600000014.CreateSysRefreshTokensTable.js +5 -1
- package/dist/migrations/1749600000014.CreateSysRefreshTokensTable.js.map +1 -1
- package/dist/migrations/1749600000016.CreateSysUserDeviceTokensTable.d.ts.map +1 -1
- package/dist/migrations/1749600000016.CreateSysUserDeviceTokensTable.js +1 -0
- package/dist/migrations/1749600000016.CreateSysUserDeviceTokensTable.js.map +1 -1
- package/dist/migrations/1749600000017.CreateSysApiKeysTable.d.ts.map +1 -1
- package/dist/migrations/1749600000017.CreateSysApiKeysTable.js +1 -1
- package/dist/migrations/1749600000017.CreateSysApiKeysTable.js.map +1 -1
- package/dist/migrations/1749600000020.CreateSysEmailTemplatesTable.d.ts.map +1 -1
- package/dist/migrations/1749600000020.CreateSysEmailTemplatesTable.js +1 -0
- package/dist/migrations/1749600000020.CreateSysEmailTemplatesTable.js.map +1 -1
- package/dist/migrations/1749600000022.CreateSysAdminRolesTable.d.ts.map +1 -1
- package/dist/migrations/1749600000022.CreateSysAdminRolesTable.js +1 -0
- package/dist/migrations/1749600000022.CreateSysAdminRolesTable.js.map +1 -1
- package/dist/migrations/1749600000023.CreateSysAdminUserRolesJoinTable.d.ts.map +1 -1
- package/dist/migrations/1749600000023.CreateSysAdminUserRolesJoinTable.js +1 -0
- package/dist/migrations/1749600000023.CreateSysAdminUserRolesJoinTable.js.map +1 -1
- package/dist/migrations/1749600000024.CreateSysAuthSessionsTable.d.ts.map +1 -1
- package/dist/migrations/1749600000024.CreateSysAuthSessionsTable.js +1 -1
- package/dist/migrations/1749600000024.CreateSysAuthSessionsTable.js.map +1 -1
- package/dist/migrations/1749600000025.CreateSysScopesTable.d.ts.map +1 -1
- package/dist/migrations/1749600000025.CreateSysScopesTable.js +1 -0
- package/dist/migrations/1749600000025.CreateSysScopesTable.js.map +1 -1
- package/dist/migrations/1749600000026.CreateSysApiScopesTable.d.ts.map +1 -1
- package/dist/migrations/1749600000026.CreateSysApiScopesTable.js +1 -0
- package/dist/migrations/1749600000026.CreateSysApiScopesTable.js.map +1 -1
- package/dist/migrations/1749600000027.CreateSysTenantScopesTable.d.ts.map +1 -1
- package/dist/migrations/1749600000027.CreateSysTenantScopesTable.js +1 -0
- package/dist/migrations/1749600000027.CreateSysTenantScopesTable.js.map +1 -1
- package/dist/migrations/1749600000028.CreateSysDocumentsTable.d.ts.map +1 -1
- package/dist/migrations/1749600000028.CreateSysDocumentsTable.js +11 -1
- package/dist/migrations/1749600000028.CreateSysDocumentsTable.js.map +1 -1
- package/dist/migrations/1749600000029.CreateSysPdfTemplatesTable.d.ts.map +1 -1
- package/dist/migrations/1749600000029.CreateSysPdfTemplatesTable.js +1 -0
- package/dist/migrations/1749600000029.CreateSysPdfTemplatesTable.js.map +1 -1
- package/dist/migrations/1749600000030.CreateSysTenantUsersTable.d.ts.map +1 -1
- package/dist/migrations/1749600000030.CreateSysTenantUsersTable.js +1 -0
- package/dist/migrations/1749600000030.CreateSysTenantUsersTable.js.map +1 -1
- package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.d.ts.map +1 -1
- package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.js +10 -1
- package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.js.map +1 -1
- package/dist/migrations/1749600000032.CreateSysEmailVerificationTokensTable.d.ts +6 -0
- package/dist/migrations/1749600000032.CreateSysEmailVerificationTokensTable.d.ts.map +1 -0
- package/dist/migrations/1749600000032.CreateSysEmailVerificationTokensTable.js +30 -0
- package/dist/migrations/1749600000032.CreateSysEmailVerificationTokensTable.js.map +1 -0
- package/dist/notification/dtos/email.notification.options.dto.d.ts +2 -0
- package/dist/notification/dtos/email.notification.options.dto.d.ts.map +1 -1
- package/dist/notification/dtos/email.notification.options.dto.js.map +1 -1
- package/dist/notification/enums/email.notification.default.enum.d.ts +9 -1
- package/dist/notification/enums/email.notification.default.enum.d.ts.map +1 -1
- package/dist/notification/enums/email.notification.default.enum.js +10 -1
- package/dist/notification/enums/email.notification.default.enum.js.map +1 -1
- package/dist/notification/enums/notification.default.enum.d.ts +7 -0
- package/dist/notification/enums/notification.default.enum.d.ts.map +1 -0
- package/dist/notification/enums/notification.default.enum.js +11 -0
- package/dist/notification/enums/notification.default.enum.js.map +1 -0
- package/dist/notification/enums/template.pattern.enum.d.ts +4 -0
- package/dist/notification/enums/template.pattern.enum.d.ts.map +1 -0
- package/dist/notification/enums/template.pattern.enum.js +7 -0
- package/dist/notification/enums/template.pattern.enum.js.map +1 -0
- package/dist/notification/es6.classes.d.ts +3 -1
- package/dist/notification/es6.classes.d.ts.map +1 -1
- package/dist/notification/es6.classes.js +4 -0
- package/dist/notification/es6.classes.js.map +1 -1
- package/dist/notification/jobs/email.verification.mail.job.d.ts +14 -0
- package/dist/notification/jobs/email.verification.mail.job.d.ts.map +1 -0
- package/dist/notification/jobs/email.verification.mail.job.js +59 -0
- package/dist/notification/jobs/email.verification.mail.job.js.map +1 -0
- package/dist/notification/jobs/purge.email.logs.job.d.ts +11 -0
- package/dist/notification/jobs/purge.email.logs.job.d.ts.map +1 -0
- package/dist/notification/jobs/purge.email.logs.job.js +37 -0
- package/dist/notification/jobs/purge.email.logs.job.js.map +1 -0
- package/dist/notification/jobs/tenant.onboarded.mail.job.d.ts +1 -4
- package/dist/notification/jobs/tenant.onboarded.mail.job.d.ts.map +1 -1
- package/dist/notification/jobs/tenant.onboarded.mail.job.js +6 -17
- package/dist/notification/jobs/tenant.onboarded.mail.job.js.map +1 -1
- package/dist/notification/jobs/tenant.user.invited.mail.job.d.ts +8 -2
- package/dist/notification/jobs/tenant.user.invited.mail.job.d.ts.map +1 -1
- package/dist/notification/jobs/tenant.user.invited.mail.job.js +44 -5
- package/dist/notification/jobs/tenant.user.invited.mail.job.js.map +1 -1
- package/dist/notification/jobs/tenant.user.onboarded.mail.job.d.ts +1 -4
- package/dist/notification/jobs/tenant.user.onboarded.mail.job.d.ts.map +1 -1
- package/dist/notification/jobs/tenant.user.onboarded.mail.job.js +6 -17
- package/dist/notification/jobs/tenant.user.onboarded.mail.job.js.map +1 -1
- package/dist/notification/libraries/process.email.notification.d.ts.map +1 -1
- package/dist/notification/libraries/process.email.notification.js +1 -0
- package/dist/notification/libraries/process.email.notification.js.map +1 -1
- package/dist/notification/notification.module.d.ts.map +1 -1
- package/dist/notification/notification.module.js +11 -3
- package/dist/notification/notification.module.js.map +1 -1
- package/dist/notification/services/email.notification.service.d.ts +8 -1
- package/dist/notification/services/email.notification.service.d.ts.map +1 -1
- package/dist/notification/services/email.notification.service.js +58 -20
- package/dist/notification/services/email.notification.service.js.map +1 -1
- package/dist/notification/services/notification.service.d.ts +8 -2
- package/dist/notification/services/notification.service.d.ts.map +1 -1
- package/dist/notification/services/notification.service.js +53 -24
- package/dist/notification/services/notification.service.js.map +1 -1
- package/dist/notification/types/email.notification.types.d.ts +5 -1
- package/dist/notification/types/email.notification.types.d.ts.map +1 -1
- package/dist/notification/types/template.types.d.ts +9 -0
- package/dist/notification/types/template.types.d.ts.map +1 -0
- package/dist/notification/types/template.types.js +3 -0
- package/dist/notification/types/template.types.js.map +1 -0
- package/dist/notification/utilities/email.log.utility.d.ts +2 -0
- package/dist/notification/utilities/email.log.utility.d.ts.map +1 -0
- package/dist/notification/utilities/email.log.utility.js +12 -0
- package/dist/notification/utilities/email.log.utility.js.map +1 -0
- package/dist/notification/utilities/server.environment.utility.d.ts +2 -0
- package/dist/notification/utilities/server.environment.utility.d.ts.map +1 -0
- package/dist/notification/utilities/server.environment.utility.js +10 -0
- package/dist/notification/utilities/server.environment.utility.js.map +1 -0
- package/dist/notification/utilities/template.data.utility.d.ts +4 -0
- package/dist/notification/utilities/template.data.utility.d.ts.map +1 -0
- package/dist/notification/utilities/template.data.utility.js +48 -0
- package/dist/notification/utilities/template.data.utility.js.map +1 -0
- package/dist/notification/utilities/template.url.utility.d.ts +3 -0
- package/dist/notification/utilities/template.url.utility.d.ts.map +1 -0
- package/dist/notification/utilities/template.url.utility.js +36 -0
- package/dist/notification/utilities/template.url.utility.js.map +1 -0
- package/dist/tenant/es6.classes.d.ts +2 -1
- package/dist/tenant/es6.classes.d.ts.map +1 -1
- package/dist/tenant/es6.classes.js +2 -1
- package/dist/tenant/es6.classes.js.map +1 -1
- package/dist/tenant/helpers/tenant.job.context.d.ts +3 -0
- package/dist/tenant/helpers/tenant.job.context.d.ts.map +1 -0
- package/dist/tenant/helpers/tenant.job.context.js +16 -0
- package/dist/tenant/helpers/tenant.job.context.js.map +1 -0
- package/dist/tenant/middlewares/tenant.context.middleware.d.ts.map +1 -1
- package/dist/tenant/middlewares/tenant.context.middleware.js +7 -3
- package/dist/tenant/middlewares/tenant.context.middleware.js.map +1 -1
- package/dist/tenant/repositories/tenant.scoped.repository.d.ts +30 -0
- package/dist/tenant/repositories/tenant.scoped.repository.d.ts.map +1 -0
- package/dist/tenant/repositories/tenant.scoped.repository.js +137 -0
- package/dist/tenant/repositories/tenant.scoped.repository.js.map +1 -0
- package/dist/tenant/services/tenant.context.service.d.ts +8 -1
- package/dist/tenant/services/tenant.context.service.d.ts.map +1 -1
- package/dist/tenant/services/tenant.context.service.js +31 -7
- package/dist/tenant/services/tenant.context.service.js.map +1 -1
- package/dist/tenant/services/tenant.service.d.ts +2 -1
- package/dist/tenant/services/tenant.service.d.ts.map +1 -1
- package/dist/tenant/services/tenant.service.js +13 -0
- package/dist/tenant/services/tenant.service.js.map +1 -1
- package/dist/tenant/subscribers/tenant.scope.subscriber.d.ts +13 -0
- package/dist/tenant/subscribers/tenant.scope.subscriber.d.ts.map +1 -0
- package/dist/tenant/subscribers/tenant.scope.subscriber.js +56 -0
- package/dist/tenant/subscribers/tenant.scope.subscriber.js.map +1 -0
- package/dist/tenant/tenant.module.d.ts +3 -2
- package/dist/tenant/tenant.module.d.ts.map +1 -1
- package/dist/tenant/tenant.module.js +18 -2
- package/dist/tenant/tenant.module.js.map +1 -1
- package/dist/tenant/types/tenant.types.d.ts +2 -0
- package/dist/tenant/types/tenant.types.d.ts.map +1 -1
- package/dist/tenant/utilities/tenant.revocation.d.ts +5 -0
- package/dist/tenant/utilities/tenant.revocation.d.ts.map +1 -0
- package/dist/tenant/utilities/tenant.revocation.js +17 -0
- package/dist/tenant/utilities/tenant.revocation.js.map +1 -0
- package/package.json +9 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../src/auth/utilities/duration.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAA2B;IACtC,EAAE,EAAE,CAAC;IACL,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,CAAC;IACf,CAAC,EAAE,IAAI;IACP,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,IAAI;IACb,CAAC,EAAE,MAAM;IACT,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,MAAM;IACf,CAAC,EAAE,SAAS;IACZ,EAAE,EAAE,SAAS;IACb,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,CAAC,EAAE,UAAU;IACb,GAAG,EAAE,UAAU;IACf,IAAI,EAAE,UAAU;IAChB,CAAC,EAAE,WAAW;IACd,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,WAAW;CACnB,CAAC;AAEF,MAAM,OAAO,GAAG,qCAAqC,CAAC;AAStD,MAAa,QAAQ;IACnB,MAAM,CAAC,IAAI,CAAC,KAAsB;QAChC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAC3B,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;QAEhD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEnE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3C,IAAI,CAAC,MAAM;YACT,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC;QAEvE,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IACzE,CAAC;IAGD,MAAM,CAAC,SAAS,CAAC,KAAsB;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;IAEO,MAAM,CAAC,QAAQ,CAAC,EAAU,EAAE,GAAoB;QACtD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AA1BD,4BA0BC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Request } from 'express';
|
|
2
|
+
import type { TokenIssueContext } from '../types/auth.types';
|
|
3
|
+
export declare class RequestCredentials {
|
|
4
|
+
static bearerToken(request: Request): string | undefined;
|
|
5
|
+
static apiKey(request: Request, headerName: string): string | null;
|
|
6
|
+
static issueContext(request: Request): TokenIssueContext;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=request.credentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.credentials.d.ts","sourceRoot":"","sources":["../../../src/auth/utilities/request.credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,qBAAa,kBAAkB;IAE7B,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IASxD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAYlE,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB;CAOzD"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RequestCredentials = void 0;
|
|
4
|
+
class RequestCredentials {
|
|
5
|
+
static bearerToken(request) {
|
|
6
|
+
const header = request.headers.authorization;
|
|
7
|
+
if (typeof header !== 'string')
|
|
8
|
+
return undefined;
|
|
9
|
+
const [scheme, value] = header.trim().split(/\s+/);
|
|
10
|
+
if (scheme?.toLowerCase() !== 'bearer' || !value)
|
|
11
|
+
return undefined;
|
|
12
|
+
return value;
|
|
13
|
+
}
|
|
14
|
+
static apiKey(request, headerName) {
|
|
15
|
+
const headerKey = request.headers[headerName.toLowerCase()];
|
|
16
|
+
const fromHeader = Array.isArray(headerKey) ? headerKey[0] : headerKey;
|
|
17
|
+
if (fromHeader)
|
|
18
|
+
return fromHeader.trim();
|
|
19
|
+
const authorization = request.headers.authorization;
|
|
20
|
+
if (authorization?.toLowerCase().startsWith('apikey '))
|
|
21
|
+
return authorization.slice('apikey '.length).trim() || null;
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
static issueContext(request) {
|
|
25
|
+
const userAgent = request.headers['user-agent'];
|
|
26
|
+
return {
|
|
27
|
+
ip_address: request.ip,
|
|
28
|
+
...(userAgent ? { user_agent: userAgent.slice(0, 1000) } : {}),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.RequestCredentials = RequestCredentials;
|
|
33
|
+
//# sourceMappingURL=request.credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.credentials.js","sourceRoot":"","sources":["../../../src/auth/utilities/request.credentials.ts"],"names":[],"mappings":";;;AAIA,MAAa,kBAAkB;IAE7B,MAAM,CAAC,WAAW,CAAC,OAAgB;QACjC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;QAC7C,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACjD,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,MAAM,EAAE,WAAW,EAAE,KAAK,QAAQ,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QACnE,OAAO,KAAK,CAAC;IACf,CAAC;IAGD,MAAM,CAAC,MAAM,CAAC,OAAgB,EAAE,UAAkB;QAChD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvE,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC;QAEzC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;QACpD,IAAI,aAAa,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YACpD,OAAO,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,MAAM,CAAC,YAAY,CAAC,OAAgB;QAClC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAChD,OAAO;YACL,UAAU,EAAE,OAAO,CAAC,EAAE;YACtB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,CAAC;IACJ,CAAC;CACF;AA9BD,gDA8BC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EntityManager } from 'typeorm';
|
|
2
|
+
import { ScopeEntity } from '../entities/scope.entity';
|
|
3
|
+
import { KeyScopeGrant } from '../types/api.key.types';
|
|
4
|
+
export declare class ScopeCascade {
|
|
5
|
+
static staleGrantIds(keyGrants: KeyScopeGrant[], effective: Pick<ScopeEntity, 'id' | 'identifier'>[]): string[];
|
|
6
|
+
static expand(manager: EntityManager, granted: ScopeEntity[]): Promise<ScopeEntity[]>;
|
|
7
|
+
static tenantEffective(manager: EntityManager, tenantId: string): Promise<ScopeEntity[]>;
|
|
8
|
+
static pruneTenantKeys(manager: EntityManager, tenantId: string, revokedBy?: string): Promise<number>;
|
|
9
|
+
static setTenantScopes(manager: EntityManager, tenantId: string, scopeIds: string[], actorId?: string): Promise<void>;
|
|
10
|
+
static retire(manager: EntityManager, grantIds: string[], revokedBy?: string): Promise<number>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=scope.cascade.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope.cascade.d.ts","sourceRoot":"","sources":["../../../src/auth/utilities/scope.cascade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAM,MAAM,SAAS,CAAC;AAG5C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAMvD,qBAAa,YAAY;IAKvB,MAAM,CAAC,aAAa,CAClB,SAAS,EAAE,aAAa,EAAE,EAC1B,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,YAAY,CAAC,EAAE,GAClD,MAAM,EAAE;WAcE,MAAM,CACjB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,WAAW,EAAE,GACrB,OAAO,CAAC,WAAW,EAAE,CAAC;WAgBZ,eAAe,CAC1B,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,EAAE,CAAC;WAiBZ,eAAe,CAC1B,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC;WAkBL,eAAe,CAC1B,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;WAyCH,MAAM,CACjB,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,MAAM,EAAE,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC;CAWnB"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ScopeCascade = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
5
|
+
const not_found_exception_1 = require("../../global/exceptions/not.found.exception");
|
|
6
|
+
const api_scope_entity_1 = require("../entities/api.scope.entity");
|
|
7
|
+
const scope_entity_1 = require("../entities/scope.entity");
|
|
8
|
+
const tenant_scope_entity_1 = require("../entities/tenant.scope.entity");
|
|
9
|
+
const api_key_default_enum_1 = require("../enums/api.key.default.enum");
|
|
10
|
+
class ScopeCascade {
|
|
11
|
+
static staleGrantIds(keyGrants, effective) {
|
|
12
|
+
if (effective.some((scope) => scope.identifier === String(api_key_default_enum_1.ApiKeyDefault.WILDCARD_SCOPE)))
|
|
13
|
+
return [];
|
|
14
|
+
const allowed = new Set(effective.map((scope) => scope.id));
|
|
15
|
+
return keyGrants
|
|
16
|
+
.filter((grant) => !allowed.has(grant.scope_id))
|
|
17
|
+
.map((grant) => grant.id);
|
|
18
|
+
}
|
|
19
|
+
static async expand(manager, granted) {
|
|
20
|
+
if (!granted.length)
|
|
21
|
+
return [];
|
|
22
|
+
const parentIds = granted
|
|
23
|
+
.filter((scope) => !scope.parent_id)
|
|
24
|
+
.map((scope) => scope.id);
|
|
25
|
+
const children = parentIds.length
|
|
26
|
+
? await manager.find(scope_entity_1.ScopeEntity, { where: { parent_id: (0, typeorm_1.In)(parentIds) } })
|
|
27
|
+
: [];
|
|
28
|
+
return [
|
|
29
|
+
...new Map([...granted, ...children].map((scope) => [scope.id, scope])).values(),
|
|
30
|
+
];
|
|
31
|
+
}
|
|
32
|
+
static async tenantEffective(manager, tenantId) {
|
|
33
|
+
const grants = await manager.find(tenant_scope_entity_1.TenantScopeEntity, {
|
|
34
|
+
where: { tenant_id: tenantId },
|
|
35
|
+
relations: { scope: true },
|
|
36
|
+
});
|
|
37
|
+
return ScopeCascade.expand(manager, grants
|
|
38
|
+
.map((grant) => grant.scope)
|
|
39
|
+
.filter((scope) => !!scope));
|
|
40
|
+
}
|
|
41
|
+
static async pruneTenantKeys(manager, tenantId, revokedBy) {
|
|
42
|
+
const keyGrants = await manager.find(api_scope_entity_1.ApiScopeEntity, {
|
|
43
|
+
where: { apiKey: { tenant_id: tenantId } },
|
|
44
|
+
select: { id: true, scope_id: true },
|
|
45
|
+
});
|
|
46
|
+
if (!keyGrants.length)
|
|
47
|
+
return 0;
|
|
48
|
+
const stale = ScopeCascade.staleGrantIds(keyGrants, await ScopeCascade.tenantEffective(manager, tenantId));
|
|
49
|
+
return ScopeCascade.retire(manager, stale, revokedBy);
|
|
50
|
+
}
|
|
51
|
+
static async setTenantScopes(manager, tenantId, scopeIds, actorId) {
|
|
52
|
+
await manager.query('select pg_advisory_xact_lock(hashtext($1))', [
|
|
53
|
+
`tenant-scopes:${tenantId}`,
|
|
54
|
+
]);
|
|
55
|
+
const wanted = new Set(scopeIds);
|
|
56
|
+
if (wanted.size) {
|
|
57
|
+
const found = await manager.countBy(scope_entity_1.ScopeEntity, { id: (0, typeorm_1.In)([...wanted]) });
|
|
58
|
+
if (found !== wanted.size)
|
|
59
|
+
throw new not_found_exception_1.NotFoundException('One or more scopes do not exist');
|
|
60
|
+
}
|
|
61
|
+
const existing = await manager.findBy(tenant_scope_entity_1.TenantScopeEntity, {
|
|
62
|
+
tenant_id: tenantId,
|
|
63
|
+
});
|
|
64
|
+
const held = new Set(existing.map((grant) => grant.scope_id));
|
|
65
|
+
const removed = existing.filter((grant) => !wanted.has(grant.scope_id));
|
|
66
|
+
if (removed.length)
|
|
67
|
+
await manager.softDelete(tenant_scope_entity_1.TenantScopeEntity, {
|
|
68
|
+
id: (0, typeorm_1.In)(removed.map((grant) => grant.id)),
|
|
69
|
+
});
|
|
70
|
+
const added = [...wanted].filter((scopeId) => !held.has(scopeId));
|
|
71
|
+
if (added.length)
|
|
72
|
+
await manager.save(added.map((scope_id) => manager.create(tenant_scope_entity_1.TenantScopeEntity, {
|
|
73
|
+
tenant_id: tenantId,
|
|
74
|
+
scope_id,
|
|
75
|
+
...(actorId ? { created_by: actorId } : {}),
|
|
76
|
+
})));
|
|
77
|
+
if (removed.length)
|
|
78
|
+
await ScopeCascade.pruneTenantKeys(manager, tenantId, actorId);
|
|
79
|
+
}
|
|
80
|
+
static async retire(manager, grantIds, revokedBy) {
|
|
81
|
+
if (!grantIds.length)
|
|
82
|
+
return 0;
|
|
83
|
+
if (revokedBy)
|
|
84
|
+
await manager.update(api_scope_entity_1.ApiScopeEntity, { id: (0, typeorm_1.In)(grantIds) }, { revoked_by: revokedBy });
|
|
85
|
+
await manager.softDelete(api_scope_entity_1.ApiScopeEntity, { id: (0, typeorm_1.In)(grantIds) });
|
|
86
|
+
return grantIds.length;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
exports.ScopeCascade = ScopeCascade;
|
|
90
|
+
//# sourceMappingURL=scope.cascade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope.cascade.js","sourceRoot":"","sources":["../../../src/auth/utilities/scope.cascade.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import { EntityManager } from 'typeorm';
|
|
2
|
+
import { SystemRoleEntity } from '../entities/system.role.entity';
|
|
2
3
|
export declare class TenantAccess {
|
|
3
4
|
static join(manager: EntityManager, userId: string, tenantId: string, roleIds: string[], actorId?: string): Promise<void>;
|
|
4
5
|
static reconcileRoles(manager: EntityManager, userId: string, tenantId: string, roleIds: string[], actorId?: string): Promise<void>;
|
|
5
|
-
static remove(manager: EntityManager, userId: string, tenantId: string): Promise<void>;
|
|
6
|
-
|
|
6
|
+
static remove(manager: EntityManager, userId: string, tenantId: string, actorId?: string): Promise<void>;
|
|
7
|
+
static revokeInvitationsBy(manager: EntityManager, userId: string, tenantId: string, actorId?: string): Promise<void>;
|
|
8
|
+
static activeRoles(manager: EntityManager, userId: string, tenantId: string | null | undefined): Promise<SystemRoleEntity[]>;
|
|
9
|
+
static adminRoleIds(manager: EntityManager): Promise<string[]>;
|
|
10
|
+
static assertAdminRemains(manager: EntityManager, tenantId: string, userId: string, nextRoleIds?: string[]): Promise<void>;
|
|
11
|
+
static orphansTenant(activeAdminIds: string[], userId: string, remainsAdmin: boolean): boolean;
|
|
12
|
+
static liveRoleIds(manager: EntityManager, roleIds: string[]): Promise<string[]>;
|
|
7
13
|
}
|
|
8
14
|
//# sourceMappingURL=tenant.access.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant.access.d.ts","sourceRoot":"","sources":["../../../src/auth/utilities/tenant.access.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAM,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"tenant.access.d.ts","sourceRoot":"","sources":["../../../src/auth/utilities/tenant.access.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAM,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAgBlE,qBAAa,YAAY;WAEV,IAAI,CACf,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;WAuCH,cAAc,CACzB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;WAuCH,MAAM,CACjB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;WASH,mBAAmB,CAC9B,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;WAgBH,WAAW,CACtB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAClC,OAAO,CAAC,gBAAgB,EAAE,CAAC;WAgBjB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;WAavD,kBAAkB,CAC7B,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,IAAI,CAAC;IAyChB,MAAM,CAAC,aAAa,CAClB,cAAc,EAAE,MAAM,EAAE,EACxB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,OAAO,GACpB,OAAO;WAQG,WAAW,CACtB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,MAAM,EAAE,CAAC;CAUrB"}
|
|
@@ -2,27 +2,41 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TenantAccess = void 0;
|
|
4
4
|
const typeorm_1 = require("typeorm");
|
|
5
|
+
const operation_exception_1 = require("../../global/exceptions/operation.exception");
|
|
5
6
|
const system_role_entity_1 = require("../entities/system.role.entity");
|
|
7
|
+
const tenant_invitation_entity_1 = require("../entities/tenant.invitation.entity");
|
|
6
8
|
const tenant_user_entity_1 = require("../entities/tenant.user.entity");
|
|
9
|
+
const user_entity_1 = require("../entities/user.entity");
|
|
7
10
|
const user_role_entity_1 = require("../entities/user.role.entity");
|
|
11
|
+
const tenant_invitation_status_enum_1 = require("../enums/tenant.invitation.status.enum");
|
|
12
|
+
const tenant_role_enum_1 = require("../enums/tenant.role.enum");
|
|
8
13
|
const access_revocation_1 = require("./access.revocation");
|
|
9
14
|
class TenantAccess {
|
|
10
15
|
static async join(manager, userId, tenantId, roleIds, actorId) {
|
|
11
16
|
const membership = { user_id: userId, tenant_id: tenantId };
|
|
12
17
|
if (!(await manager.existsBy(tenant_user_entity_1.TenantUserEntity, membership)))
|
|
13
|
-
await manager
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
18
|
+
await manager
|
|
19
|
+
.createQueryBuilder()
|
|
20
|
+
.insert()
|
|
21
|
+
.into(tenant_user_entity_1.TenantUserEntity)
|
|
22
|
+
.values({ ...membership, created_by: actorId })
|
|
23
|
+
.orIgnore()
|
|
24
|
+
.execute();
|
|
17
25
|
const held = await manager.findBy(user_role_entity_1.UserRoleEntity, membership);
|
|
18
26
|
const heldRoleIds = new Set(held.map((grant) => grant.role_id));
|
|
19
27
|
const missing = (await TenantAccess.liveRoleIds(manager, roleIds)).filter((roleId) => !heldRoleIds.has(roleId));
|
|
20
28
|
if (missing.length)
|
|
21
|
-
await manager
|
|
29
|
+
await manager
|
|
30
|
+
.createQueryBuilder()
|
|
31
|
+
.insert()
|
|
32
|
+
.into(user_role_entity_1.UserRoleEntity)
|
|
33
|
+
.values(missing.map((roleId) => ({
|
|
22
34
|
...membership,
|
|
23
35
|
role_id: roleId,
|
|
24
36
|
created_by: actorId,
|
|
25
|
-
})))
|
|
37
|
+
})))
|
|
38
|
+
.orIgnore()
|
|
39
|
+
.execute();
|
|
26
40
|
}
|
|
27
41
|
static async reconcileRoles(manager, userId, tenantId, roleIds, actorId) {
|
|
28
42
|
const membership = { user_id: userId, tenant_id: tenantId };
|
|
@@ -39,12 +53,77 @@ class TenantAccess {
|
|
|
39
53
|
role_id: roleId,
|
|
40
54
|
created_by: actorId,
|
|
41
55
|
})));
|
|
56
|
+
const adminRoleIds = await TenantAccess.adminRoleIds(manager);
|
|
57
|
+
if (!adminRoleIds.some((roleId) => wanted.has(roleId)))
|
|
58
|
+
await TenantAccess.revokeInvitationsBy(manager, userId, tenantId, actorId);
|
|
42
59
|
}
|
|
43
|
-
static async remove(manager, userId, tenantId) {
|
|
60
|
+
static async remove(manager, userId, tenantId, actorId) {
|
|
44
61
|
const membership = { user_id: userId, tenant_id: tenantId };
|
|
45
62
|
await manager.softDelete(user_role_entity_1.UserRoleEntity, membership);
|
|
46
63
|
await manager.softDelete(tenant_user_entity_1.TenantUserEntity, membership);
|
|
47
64
|
await access_revocation_1.AccessRevocation.revokeTenant(manager, userId, tenantId);
|
|
65
|
+
await TenantAccess.revokeInvitationsBy(manager, userId, tenantId, actorId);
|
|
66
|
+
}
|
|
67
|
+
static async revokeInvitationsBy(manager, userId, tenantId, actorId) {
|
|
68
|
+
await manager.update(tenant_invitation_entity_1.TenantInvitationEntity, {
|
|
69
|
+
tenant_id: tenantId,
|
|
70
|
+
created_by: userId,
|
|
71
|
+
status: tenant_invitation_status_enum_1.TenantInvitationStatus.PENDING,
|
|
72
|
+
}, {
|
|
73
|
+
status: tenant_invitation_status_enum_1.TenantInvitationStatus.REVOKED,
|
|
74
|
+
...(actorId ? { updated_by: actorId } : {}),
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
static async activeRoles(manager, userId, tenantId) {
|
|
78
|
+
if (!tenantId)
|
|
79
|
+
return [];
|
|
80
|
+
const grants = await manager.find(user_role_entity_1.UserRoleEntity, {
|
|
81
|
+
where: {
|
|
82
|
+
user_id: userId,
|
|
83
|
+
tenant_id: tenantId,
|
|
84
|
+
role: { is_active: true },
|
|
85
|
+
},
|
|
86
|
+
relations: { role: true },
|
|
87
|
+
});
|
|
88
|
+
return grants
|
|
89
|
+
.map((grant) => grant.role)
|
|
90
|
+
.filter((role) => !!role);
|
|
91
|
+
}
|
|
92
|
+
static async adminRoleIds(manager) {
|
|
93
|
+
const roles = await manager.findBy(system_role_entity_1.SystemRoleEntity, {
|
|
94
|
+
identifier: tenant_role_enum_1.TenantRole.GLOBAL_ADMIN,
|
|
95
|
+
is_active: true,
|
|
96
|
+
});
|
|
97
|
+
return roles.map((role) => role.id);
|
|
98
|
+
}
|
|
99
|
+
static async assertAdminRemains(manager, tenantId, userId, nextRoleIds) {
|
|
100
|
+
await manager.query('select pg_advisory_xact_lock(hashtext($1))', [
|
|
101
|
+
`tenant-admins:${tenantId}`,
|
|
102
|
+
]);
|
|
103
|
+
const adminRoleIds = await TenantAccess.adminRoleIds(manager);
|
|
104
|
+
if (!adminRoleIds.length)
|
|
105
|
+
return;
|
|
106
|
+
const admins = await manager
|
|
107
|
+
.getRepository(user_role_entity_1.UserRoleEntity)
|
|
108
|
+
.createQueryBuilder('ur')
|
|
109
|
+
.innerJoin(tenant_user_entity_1.TenantUserEntity, 'tu', 'tu.user_id = ur.user_id and tu.tenant_id = ur.tenant_id and tu.deleted_at is null and tu.is_active = true')
|
|
110
|
+
.innerJoin(user_entity_1.UserEntity, 'u', 'u.id = ur.user_id and u.deleted_at is null and u.active = true')
|
|
111
|
+
.select('ur.user_id', 'user_id')
|
|
112
|
+
.where('ur.tenant_id = :tenantId', { tenantId })
|
|
113
|
+
.andWhere('ur.role_id in (:...roleIds)', { roleIds: adminRoleIds })
|
|
114
|
+
.distinct(true)
|
|
115
|
+
.getRawMany();
|
|
116
|
+
const remainsAdmin = !!nextRoleIds?.some((id) => adminRoleIds.includes(id));
|
|
117
|
+
if (TenantAccess.orphansTenant(admins.map((admin) => admin.user_id), userId, remainsAdmin))
|
|
118
|
+
throw new operation_exception_1.OperationException('The organization needs at least one global.admin.');
|
|
119
|
+
}
|
|
120
|
+
static orphansTenant(activeAdminIds, userId, remainsAdmin) {
|
|
121
|
+
if (remainsAdmin)
|
|
122
|
+
return false;
|
|
123
|
+
const admins = new Set(activeAdminIds);
|
|
124
|
+
if (!admins.has(userId))
|
|
125
|
+
return false;
|
|
126
|
+
return admins.size <= 1;
|
|
48
127
|
}
|
|
49
128
|
static async liveRoleIds(manager, roleIds) {
|
|
50
129
|
const unique = [...new Set(roleIds)];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant.access.js","sourceRoot":"","sources":["../../../src/auth/utilities/tenant.access.ts"],"names":[],"mappings":";;;AAAA,qCAA4C;AAC5C,uEAAkE;AAClE,uEAAkE;AAClE,mEAA8D;AAC9D,2DAAuD;AASvD,MAAa,YAAY;IAEvB,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,OAAsB,EACtB,MAAc,EACd,QAAgB,EAChB,OAAiB,EACjB,OAAgB;QAEhB,MAAM,UAAU,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"tenant.access.js","sourceRoot":"","sources":["../../../src/auth/utilities/tenant.access.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { MonitoringAdapter, MonitoringContext } from '../types/monitoring.types';
|
|
1
|
+
import { MonitoringAdapter, MonitoringContext, SentryEventLike } from '../types/monitoring.types';
|
|
2
2
|
export declare class SentryMonitoringAdapter implements MonitoringAdapter {
|
|
3
3
|
readonly name = "sentry";
|
|
4
4
|
private readonly sentry;
|
|
5
5
|
constructor();
|
|
6
|
+
static sampleRate(): number;
|
|
7
|
+
static scrubEvent<E extends SentryEventLike>(event: E): E;
|
|
6
8
|
static isAvailable(): boolean;
|
|
7
9
|
captureException(error: Error, context?: MonitoringContext): void;
|
|
8
10
|
captureMessage(message: string, context?: MonitoringContext): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sentry.monitoring.adapter.d.ts","sourceRoot":"","sources":["../../../src/common/adapters/sentry.monitoring.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"sentry.monitoring.adapter.d.ts","sourceRoot":"","sources":["../../../src/common/adapters/sentry.monitoring.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EAEhB,MAAM,2BAA2B,CAAC;AASnC,qBAAa,uBAAwB,YAAW,iBAAiB;IAC/D,QAAQ,CAAC,IAAI,YAAY;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;;IAmBpC,MAAM,CAAC,UAAU,IAAI,MAAM;IAM3B,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IAgCzD,MAAM,CAAC,WAAW,IAAI,OAAO;IAU7B,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI;IAIjE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI;CAMnE"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SentryMonitoringAdapter = void 0;
|
|
4
|
+
const monitoring_default_enum_1 = require("../enums/monitoring.default.enum");
|
|
4
5
|
const server_environment_enum_1 = require("../enums/server.environment.enum");
|
|
6
|
+
const redaction_util_1 = require("../../global/utilities/redaction.util");
|
|
5
7
|
class SentryMonitoringAdapter {
|
|
6
8
|
constructor() {
|
|
7
9
|
this.name = 'sentry';
|
|
@@ -10,10 +12,48 @@ class SentryMonitoringAdapter {
|
|
|
10
12
|
this.sentry.init({
|
|
11
13
|
dsn: process.env.SENTRY_DSN,
|
|
12
14
|
environment: process.env.SERVER_ENV || server_environment_enum_1.ServerEnvironmentEnum.DEVELOPMENT,
|
|
13
|
-
tracesSampleRate:
|
|
15
|
+
tracesSampleRate: SentryMonitoringAdapter.sampleRate(),
|
|
16
|
+
sendDefaultPii: false,
|
|
17
|
+
beforeSend: (event) => SentryMonitoringAdapter.scrubEvent(event),
|
|
14
18
|
});
|
|
15
19
|
}
|
|
16
20
|
}
|
|
21
|
+
static sampleRate() {
|
|
22
|
+
const rate = parseFloat(process.env.SENTRY_TRACES_SAMPLE_RATE || '0');
|
|
23
|
+
return Number.isFinite(rate) ? Math.min(Math.max(rate, 0), 1) : 0;
|
|
24
|
+
}
|
|
25
|
+
static scrubEvent(event) {
|
|
26
|
+
const request = event?.request;
|
|
27
|
+
if (request) {
|
|
28
|
+
if (request.headers)
|
|
29
|
+
for (const header of Object.keys(request.headers))
|
|
30
|
+
if (monitoring_default_enum_1.MonitoringPattern.SENSITIVE_HEADER.test(header))
|
|
31
|
+
delete request.headers[header];
|
|
32
|
+
delete request.cookies;
|
|
33
|
+
delete request.data;
|
|
34
|
+
delete request.query_string;
|
|
35
|
+
if (typeof request.url === 'string')
|
|
36
|
+
request.url = request.url.split('?')[0];
|
|
37
|
+
}
|
|
38
|
+
if (event?.extra)
|
|
39
|
+
event.extra = redaction_util_1.Redaction.redact(event.extra).value;
|
|
40
|
+
const crumbs = Array.isArray(event?.breadcrumbs)
|
|
41
|
+
? event.breadcrumbs
|
|
42
|
+
: event?.breadcrumbs?.values;
|
|
43
|
+
for (const crumb of crumbs ?? []) {
|
|
44
|
+
if (crumb.data) {
|
|
45
|
+
const data = redaction_util_1.Redaction.redact(crumb.data).value;
|
|
46
|
+
if (typeof data.url === 'string')
|
|
47
|
+
data.url = data.url.split('?')[0];
|
|
48
|
+
delete data['http.query'];
|
|
49
|
+
delete data['http.fragment'];
|
|
50
|
+
crumb.data = data;
|
|
51
|
+
}
|
|
52
|
+
if (typeof crumb.message === 'string')
|
|
53
|
+
crumb.message = crumb.message.replace(/\?[^\s]*/g, '');
|
|
54
|
+
}
|
|
55
|
+
return event;
|
|
56
|
+
}
|
|
17
57
|
static isAvailable() {
|
|
18
58
|
if (!process.env.SENTRY_DSN)
|
|
19
59
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sentry.monitoring.adapter.js","sourceRoot":"","sources":["../../../src/common/adapters/sentry.monitoring.adapter.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"sentry.monitoring.adapter.js","sourceRoot":"","sources":["../../../src/common/adapters/sentry.monitoring.adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { NestExpressApplication } from '@nestjs/platform-express';
|
|
2
|
+
import type { SecureDefaultsOptions } from '../types/bootstrap.types';
|
|
3
|
+
export declare function resolveTrustProxy(value?: string | undefined): boolean | number | string;
|
|
4
|
+
export declare function resolveCorsOrigins(value?: string | undefined): string[];
|
|
5
|
+
export declare function applySecureDefaults(app: NestExpressApplication, options?: SecureDefaultsOptions): void;
|
|
6
|
+
//# sourceMappingURL=secure.bootstrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secure.bootstrap.d.ts","sourceRoot":"","sources":["../../../src/common/bootstrap/secure.bootstrap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAYvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAKtE,wBAAgB,iBAAiB,CAC/B,KAAK,GAAE,MAAM,GAAG,SAAmC,GAClD,OAAO,GAAG,MAAM,GAAG,MAAM,CAM3B;AAGD,wBAAgB,kBAAkB,CAChC,KAAK,GAAE,MAAM,GAAG,SAAoC,GACnD,MAAM,EAAE,CAQV;AAOD,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,sBAAsB,EAC3B,OAAO,GAAE,qBAA0B,GAClC,IAAI,CAiDN"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveTrustProxy = resolveTrustProxy;
|
|
4
|
+
exports.resolveCorsOrigins = resolveCorsOrigins;
|
|
5
|
+
exports.applySecureDefaults = applySecureDefaults;
|
|
6
|
+
const common_1 = require("@nestjs/common");
|
|
7
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
8
|
+
const global_exception_filter_1 = require("../../global/filters/global.exception.filter");
|
|
9
|
+
const environment_util_1 = require("../../global/utilities/environment.util");
|
|
10
|
+
const logging_interceptor_1 = require("../interceptors/logging.interceptor");
|
|
11
|
+
const monitoring_interceptor_1 = require("../interceptors/monitoring.interceptor");
|
|
12
|
+
const security_headers_middleware_1 = require("../middlewares/security.headers.middleware");
|
|
13
|
+
const strict_validation_pipe_1 = require("../pipes/strict.validation.pipe");
|
|
14
|
+
const bootstrap_default_enum_1 = require("../enums/bootstrap.default.enum");
|
|
15
|
+
const logger = new common_1.Logger('Bootstrap');
|
|
16
|
+
function resolveTrustProxy(value = process.env.TRUST_PROXY) {
|
|
17
|
+
const raw = (value ?? '').trim();
|
|
18
|
+
if (!raw || raw === 'false')
|
|
19
|
+
return false;
|
|
20
|
+
if (raw === 'true')
|
|
21
|
+
return true;
|
|
22
|
+
if (/^\d+$/.test(raw))
|
|
23
|
+
return Number(raw);
|
|
24
|
+
return raw;
|
|
25
|
+
}
|
|
26
|
+
function resolveCorsOrigins(value = process.env.CORS_ORIGINS) {
|
|
27
|
+
const origins = (value ?? '')
|
|
28
|
+
.split(',')
|
|
29
|
+
.map((origin) => origin.trim())
|
|
30
|
+
.filter(Boolean);
|
|
31
|
+
if (origins.includes('*'))
|
|
32
|
+
throw new Error('CORS_ORIGINS must list explicit origins, not "*"');
|
|
33
|
+
return origins;
|
|
34
|
+
}
|
|
35
|
+
function applySecureDefaults(app, options = {}) {
|
|
36
|
+
const swagger = (0, environment_util_1.envBool)(process.env.ENABLE_SWAGGER);
|
|
37
|
+
app.disable('x-powered-by');
|
|
38
|
+
app.set('trust proxy', resolveTrustProxy());
|
|
39
|
+
app.set('query parser', 'simple');
|
|
40
|
+
app.use((0, security_headers_middleware_1.securityHeaders)({
|
|
41
|
+
relaxedCspPaths: swagger ? [`/${bootstrap_default_enum_1.BootstrapDefault.DOCS_PATH}`] : [],
|
|
42
|
+
}));
|
|
43
|
+
const limit = process.env.HTTP_BODY_LIMIT || bootstrap_default_enum_1.BootstrapDefault.HTTP_BODY_LIMIT;
|
|
44
|
+
app.useBodyParser('json', { limit });
|
|
45
|
+
app.useBodyParser('urlencoded', { limit, extended: false });
|
|
46
|
+
const origins = resolveCorsOrigins();
|
|
47
|
+
if (origins.length)
|
|
48
|
+
app.enableCors({
|
|
49
|
+
origin: origins,
|
|
50
|
+
credentials: true,
|
|
51
|
+
maxAge: bootstrap_default_enum_1.BootstrapLimit.CORS_MAX_AGE_SECONDS,
|
|
52
|
+
});
|
|
53
|
+
app.useGlobalPipes(new strict_validation_pipe_1.StrictValidationPipe());
|
|
54
|
+
app.useGlobalFilters(new global_exception_filter_1.GlobalExceptionFilter());
|
|
55
|
+
if (!options.skipInterceptors)
|
|
56
|
+
app.useGlobalInterceptors(app.get(logging_interceptor_1.LoggingInterceptor), app.get(monitoring_interceptor_1.MonitoringInterceptor));
|
|
57
|
+
app.enableShutdownHooks();
|
|
58
|
+
if (swagger) {
|
|
59
|
+
const config = new swagger_1.DocumentBuilder()
|
|
60
|
+
.setTitle(options.swaggerTitle ?? 'API')
|
|
61
|
+
.setDescription(options.swaggerDescription ?? '')
|
|
62
|
+
.setVersion('1.0')
|
|
63
|
+
.addBearerAuth()
|
|
64
|
+
.build();
|
|
65
|
+
swagger_1.SwaggerModule.setup(bootstrap_default_enum_1.BootstrapDefault.DOCS_PATH, app, swagger_1.SwaggerModule.createDocument(app, config));
|
|
66
|
+
logger.warn(`Swagger docs exposed at /${bootstrap_default_enum_1.BootstrapDefault.DOCS_PATH} (ENABLE_SWAGGER=true).`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=secure.bootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secure.bootstrap.js","sourceRoot":"","sources":["../../../src/common/bootstrap/secure.bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.module.d.ts","sourceRoot":"","sources":["../../src/common/common.module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"common.module.d.ts","sourceRoot":"","sources":["../../src/common/common.module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AA0BvC,wBAAgB,qBAAqB,IAAI,YAAY,CAsBpD;AAiCD,qBAKa,YAAY;IAWvB,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,YAAY,GAAG,OAAO,YAAY;CAI1E"}
|
|
@@ -8,6 +8,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var CommonModule_1;
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.CommonModule = void 0;
|
|
11
|
+
exports.createCacheConnection = createCacheConnection;
|
|
11
12
|
const common_1 = require("@nestjs/common");
|
|
12
13
|
const logging_interceptor_1 = require("./interceptors/logging.interceptor");
|
|
13
14
|
const monitoring_interceptor_1 = require("./interceptors/monitoring.interceptor");
|
|
@@ -18,15 +19,28 @@ const list_filter_service_1 = require("./services/list.filter.service");
|
|
|
18
19
|
const monitoring_service_1 = require("./services/monitoring.service");
|
|
19
20
|
const remote_request_service_1 = require("./services/remote.request.service");
|
|
20
21
|
const sql_service_1 = require("./services/sql.service");
|
|
22
|
+
const environment_util_1 = require("../global/utilities/environment.util");
|
|
21
23
|
let providedCacheConnection;
|
|
22
24
|
function createCacheConnection() {
|
|
23
25
|
if (providedCacheConnection)
|
|
24
26
|
return providedCacheConnection;
|
|
25
27
|
return {
|
|
26
28
|
host: process.env.CACHE_REDIS_HOST || 'localhost',
|
|
27
|
-
port:
|
|
29
|
+
port: (0, environment_util_1.envInt)(process.env.CACHE_REDIS_PORT, 6379, { min: 1, max: 65535 }),
|
|
28
30
|
password: process.env.CACHE_REDIS_PASSWORD || undefined,
|
|
29
|
-
db:
|
|
31
|
+
db: (0, environment_util_1.envInt)(process.env.CACHE_REDIS_DB, 1, { max: 15 }),
|
|
32
|
+
...((0, environment_util_1.envBool)(process.env.CACHE_REDIS_TLS)
|
|
33
|
+
? {
|
|
34
|
+
tls: {
|
|
35
|
+
rejectUnauthorized: process.env.CACHE_REDIS_TLS_REJECT_UNAUTHORIZED !== 'false',
|
|
36
|
+
},
|
|
37
|
+
}
|
|
38
|
+
: {}),
|
|
39
|
+
maxRetriesPerRequest: 1,
|
|
40
|
+
commandTimeout: (0, environment_util_1.envInt)(process.env.CACHE_REDIS_COMMAND_TIMEOUT_MS, 2000, {
|
|
41
|
+
min: 1,
|
|
42
|
+
}),
|
|
43
|
+
connectTimeout: 5000,
|
|
30
44
|
};
|
|
31
45
|
}
|
|
32
46
|
const cacheProvider = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.module.js","sourceRoot":"","sources":["../../src/common/common.module.ts"],"names":[],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"common.module.js","sourceRoot":"","sources":["../../src/common/common.module.ts"],"names":[],"mappings":";;;;;;;;;;AA2BA,sDAsBC;AAjDD,2CAA0D;AAE1D,4EAAwE;AACxE,kFAA8E;AAC9E,4DAAwD;AACxD,4DAAwD;AACxD,sEAAkE;AAClE,wEAAmE;AACnE,sEAAkE;AAClE,8EAAyE;AACzE,wDAAoD;AACpD,2EAAuE;AAavE,IAAI,uBAAiD,CAAC;AAGtD,SAAgB,qBAAqB;IACnC,IAAI,uBAAuB;QAAE,OAAO,uBAAuB,CAAC;IAC5D,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,WAAW;QACjD,IAAI,EAAE,IAAA,yBAAM,EAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QACxE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,SAAS;QACvD,EAAE,EAAE,IAAA,yBAAM,EAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QACtD,GAAG,CAAC,IAAA,0BAAO,EAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;YACtC,CAAC,CAAC;gBACE,GAAG,EAAE;oBACH,kBAAkB,EAChB,OAAO,CAAC,GAAG,CAAC,mCAAmC,KAAK,OAAO;iBAC9D;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QAEP,oBAAoB,EAAE,CAAC;QACvB,cAAc,EAAE,IAAA,yBAAM,EAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,IAAI,EAAE;YACvE,GAAG,EAAE,CAAC;SACP,CAAC;QACF,cAAc,EAAE,IAAI;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,aAAa,GAAa;IAC9B,OAAO,EAAE,4BAAY;IACrB,UAAU,EAAE,CAAC,iBAAoC,EAAE,EAAE,CACnD,IAAI,4BAAY,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,CAAC;IAC9D,MAAM,EAAE,CAAC,sCAAiB,CAAC;CAC5B,CAAC;AAEF,MAAM,eAAe,GAAG;IACtB,4BAAY;IACZ,aAAa;IACb,sCAAiB;IACjB,uCAAiB;IACjB,sCAAiB;IACjB,6CAAoB;IACpB,wBAAU;IACV,wCAAkB;IAClB,8CAAqB;CACtB,CAAC;AAEF,MAAM,aAAa,GAAG;IACpB,4BAAY;IACZ,4BAAY;IACZ,sCAAiB;IACjB,uCAAiB;IACjB,sCAAiB;IACjB,6CAAoB;IACpB,wBAAU;IACV,wCAAkB;IAClB,8CAAqB;CACtB,CAAC;AAOK,IAAM,YAAY,oBAAlB,MAAM,YAAY;IAWvB,MAAM,CAAC,mBAAmB,CAAC,UAAwB;QACjD,uBAAuB,GAAG,UAAU,CAAC;QACrC,OAAO,cAAY,CAAC;IACtB,CAAC;CACF,CAAA;AAfY,oCAAY;uBAAZ,YAAY;IALxB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,eAAe;QAC1B,OAAO,EAAE,aAAa;KACvB,CAAC;GACW,YAAY,CAexB"}
|
|
@@ -14,6 +14,7 @@ export declare class JobConsumer extends WorkerHost implements OnApplicationBoot
|
|
|
14
14
|
private lastWorkerErrorAt;
|
|
15
15
|
private readonly onUnhandledRejection;
|
|
16
16
|
private readonly onUncaughtException;
|
|
17
|
+
private crashing;
|
|
17
18
|
constructor(queueService: QueueService);
|
|
18
19
|
onApplicationBootstrap(): void;
|
|
19
20
|
private resolveReadiness;
|
|
@@ -34,6 +35,7 @@ export declare class JobConsumer extends WorkerHost implements OnApplicationBoot
|
|
|
34
35
|
onError(error: Error): void;
|
|
35
36
|
onReady(): void;
|
|
36
37
|
private enrolScheduledEventDriver;
|
|
38
|
+
private enrolFailedJobPurge;
|
|
37
39
|
private persistFinalFailure;
|
|
38
40
|
private persistFailure;
|
|
39
41
|
private elapsed;
|