@neohm/nestend 8.0.0 → 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +111 -4
- package/dist/admin/controllers/admin.api.key.controller.js +2 -2
- package/dist/admin/controllers/admin.api.key.controller.js.map +1 -1
- package/dist/admin/controllers/admin.constant.controller.d.ts +23 -0
- package/dist/admin/controllers/admin.constant.controller.d.ts.map +1 -0
- package/dist/admin/controllers/admin.constant.controller.js +138 -0
- package/dist/admin/controllers/admin.constant.controller.js.map +1 -0
- package/dist/admin/controllers/admin.payment.controller.js +1 -1
- package/dist/admin/controllers/admin.payment.controller.js.map +1 -1
- package/dist/admin/controllers/admin.system.user.controller.js +1 -1
- package/dist/admin/controllers/admin.system.user.controller.js.map +1 -1
- package/dist/admin/controllers/admin.tenant.controller.d.ts +5 -1
- package/dist/admin/controllers/admin.tenant.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.tenant.controller.js +27 -3
- package/dist/admin/controllers/admin.tenant.controller.js.map +1 -1
- package/dist/admin/controllers/admin.tenant.user.controller.d.ts.map +1 -1
- package/dist/admin/controllers/admin.tenant.user.controller.js +1 -1
- package/dist/admin/controllers/admin.tenant.user.controller.js.map +1 -1
- package/dist/admin/dtos/add.constant.dto.d.ts +10 -0
- package/dist/admin/dtos/add.constant.dto.d.ts.map +1 -0
- package/dist/admin/dtos/add.constant.dto.js +70 -0
- package/dist/admin/dtos/add.constant.dto.js.map +1 -0
- package/dist/admin/dtos/add.constant.type.dto.d.ts +8 -0
- package/dist/admin/dtos/add.constant.type.dto.d.ts.map +1 -0
- package/dist/admin/dtos/add.constant.type.dto.js +56 -0
- package/dist/admin/dtos/add.constant.type.dto.js.map +1 -0
- package/dist/admin/dtos/add.plan.dto.d.ts +2 -2
- package/dist/admin/dtos/add.plan.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.plan.dto.js +2 -2
- package/dist/admin/dtos/add.plan.dto.js.map +1 -1
- package/dist/admin/dtos/add.scheduled.task.dto.d.ts +3 -3
- package/dist/admin/dtos/add.scheduled.task.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.scheduled.task.dto.js +8 -5
- package/dist/admin/dtos/add.scheduled.task.dto.js.map +1 -1
- package/dist/admin/dtos/add.tenant.dto.d.ts +2 -2
- package/dist/admin/dtos/add.tenant.dto.d.ts.map +1 -1
- package/dist/admin/dtos/add.tenant.dto.js +8 -2
- package/dist/admin/dtos/add.tenant.dto.js.map +1 -1
- package/dist/admin/dtos/assign.tenant.plan.dto.d.ts +2 -2
- package/dist/admin/dtos/assign.tenant.plan.dto.d.ts.map +1 -1
- package/dist/admin/dtos/assign.tenant.plan.dto.js +9 -3
- package/dist/admin/dtos/assign.tenant.plan.dto.js.map +1 -1
- package/dist/admin/dtos/change.tenant.poc.dto.d.ts +7 -0
- package/dist/admin/dtos/change.tenant.poc.dto.d.ts.map +1 -0
- package/dist/admin/dtos/change.tenant.poc.dto.js +47 -0
- package/dist/admin/dtos/change.tenant.poc.dto.js.map +1 -0
- package/dist/admin/dtos/constant.type.list.dto.d.ts +4 -0
- package/dist/admin/dtos/constant.type.list.dto.d.ts.map +1 -0
- package/dist/admin/dtos/constant.type.list.dto.js +8 -0
- package/dist/admin/dtos/constant.type.list.dto.js.map +1 -0
- package/dist/admin/enums/constant.enum.d.ts +18 -0
- package/dist/admin/enums/constant.enum.d.ts.map +1 -0
- package/dist/admin/enums/constant.enum.js +23 -0
- package/dist/admin/enums/constant.enum.js.map +1 -0
- package/dist/admin/libraries/bulk.user.data.processor.js +1 -1
- package/dist/admin/libraries/bulk.user.data.processor.js.map +1 -1
- package/dist/admin/libraries/client.membership.data.processor.js +1 -1
- package/dist/admin/libraries/client.membership.data.processor.js.map +1 -1
- package/dist/admin/libraries/client.user.data.processor.js +2 -2
- package/dist/admin/libraries/client.user.data.processor.js.map +1 -1
- package/dist/admin/libraries/client.user.delete.processor.js +1 -1
- package/dist/admin/libraries/client.user.delete.processor.js.map +1 -1
- package/dist/admin/libraries/client.user.filter.processor.js +1 -1
- package/dist/admin/libraries/client.user.filter.processor.js.map +1 -1
- package/dist/admin/libraries/constant.data.processor.d.ts +22 -0
- package/dist/admin/libraries/constant.data.processor.d.ts.map +1 -0
- package/dist/admin/libraries/constant.data.processor.js +102 -0
- package/dist/admin/libraries/constant.data.processor.js.map +1 -0
- package/dist/admin/libraries/constant.type.data.processor.d.ts +20 -0
- package/dist/admin/libraries/constant.type.data.processor.d.ts.map +1 -0
- package/dist/admin/libraries/constant.type.data.processor.js +75 -0
- package/dist/admin/libraries/constant.type.data.processor.js.map +1 -0
- package/dist/admin/libraries/constant.type.filter.processor.d.ts +11 -0
- package/dist/admin/libraries/constant.type.filter.processor.d.ts.map +1 -0
- package/dist/admin/libraries/constant.type.filter.processor.js +47 -0
- package/dist/admin/libraries/constant.type.filter.processor.js.map +1 -0
- package/dist/admin/libraries/payment.filter.processor.d.ts.map +1 -1
- package/dist/admin/libraries/payment.filter.processor.js +3 -2
- package/dist/admin/libraries/payment.filter.processor.js.map +1 -1
- package/dist/admin/libraries/plan.data.processor.d.ts +1 -0
- package/dist/admin/libraries/plan.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/plan.data.processor.js +12 -3
- package/dist/admin/libraries/plan.data.processor.js.map +1 -1
- package/dist/admin/libraries/plan.filter.processor.d.ts.map +1 -1
- package/dist/admin/libraries/plan.filter.processor.js +3 -2
- package/dist/admin/libraries/plan.filter.processor.js.map +1 -1
- package/dist/admin/libraries/scheduled.task.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/scheduled.task.data.processor.js +12 -9
- 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 +3 -3
- package/dist/admin/libraries/scheduled.task.delete.processor.js.map +1 -1
- package/dist/admin/libraries/scheduled.task.filter.processor.d.ts.map +1 -1
- package/dist/admin/libraries/scheduled.task.filter.processor.js +5 -3
- package/dist/admin/libraries/scheduled.task.filter.processor.js.map +1 -1
- package/dist/admin/libraries/system.user.data.processor.js +2 -2
- package/dist/admin/libraries/system.user.data.processor.js.map +1 -1
- package/dist/admin/libraries/system.user.filter.processor.d.ts.map +1 -1
- package/dist/admin/libraries/system.user.filter.processor.js +4 -3
- package/dist/admin/libraries/system.user.filter.processor.js.map +1 -1
- package/dist/admin/libraries/tenant.plan.data.processor.d.ts.map +1 -1
- package/dist/admin/libraries/tenant.plan.data.processor.js +8 -5
- package/dist/admin/libraries/tenant.plan.data.processor.js.map +1 -1
- package/dist/admin/libraries/tenant.poc.data.processor.d.ts +11 -0
- package/dist/admin/libraries/tenant.poc.data.processor.d.ts.map +1 -0
- package/dist/admin/libraries/tenant.poc.data.processor.js +49 -0
- package/dist/admin/libraries/tenant.poc.data.processor.js.map +1 -0
- package/dist/admin/libraries/webhook.event.filter.processor.d.ts.map +1 -1
- package/dist/admin/libraries/webhook.event.filter.processor.js +3 -2
- package/dist/admin/libraries/webhook.event.filter.processor.js.map +1 -1
- package/dist/admin/module.registry.d.ts +10 -4
- package/dist/admin/module.registry.d.ts.map +1 -1
- package/dist/admin/module.registry.js +16 -0
- package/dist/admin/module.registry.js.map +1 -1
- package/dist/admin/services/admin.constant.service.d.ts +13 -0
- package/dist/admin/services/admin.constant.service.d.ts.map +1 -0
- package/dist/admin/services/admin.constant.service.js +116 -0
- package/dist/admin/services/admin.constant.service.js.map +1 -0
- package/dist/admin/services/system.user.service.js +1 -1
- package/dist/admin/services/system.user.service.js.map +1 -1
- package/dist/admin/types/admin.types.d.ts +1 -1
- package/dist/admin/types/admin.types.d.ts.map +1 -1
- package/dist/admin/utilities/admin.audit.d.ts.map +1 -1
- package/dist/admin/utilities/admin.audit.js +3 -1
- package/dist/admin/utilities/admin.audit.js.map +1 -1
- package/dist/admin/utilities/scheduled.event.discard.d.ts +4 -0
- package/dist/admin/utilities/scheduled.event.discard.d.ts.map +1 -0
- package/dist/admin/utilities/scheduled.event.discard.js +16 -0
- package/dist/admin/utilities/scheduled.event.discard.js.map +1 -0
- package/dist/auth/entities/payment.entity.d.ts +4 -2
- package/dist/auth/entities/payment.entity.d.ts.map +1 -1
- package/dist/auth/entities/payment.entity.js +7 -1
- package/dist/auth/entities/payment.entity.js.map +1 -1
- package/dist/auth/entities/plan.entity.d.ts +4 -2
- package/dist/auth/entities/plan.entity.d.ts.map +1 -1
- package/dist/auth/entities/plan.entity.js +7 -1
- package/dist/auth/entities/plan.entity.js.map +1 -1
- package/dist/auth/entities/tenant.invitation.entity.d.ts +4 -2
- package/dist/auth/entities/tenant.invitation.entity.d.ts.map +1 -1
- package/dist/auth/entities/tenant.invitation.entity.js +7 -1
- package/dist/auth/entities/tenant.invitation.entity.js.map +1 -1
- package/dist/auth/entities/tenant.plan.entity.d.ts +6 -3
- package/dist/auth/entities/tenant.plan.entity.d.ts.map +1 -1
- package/dist/auth/entities/tenant.plan.entity.js +15 -4
- package/dist/auth/entities/tenant.plan.entity.js.map +1 -1
- package/dist/auth/entities/user.entity.d.ts +2 -2
- package/dist/auth/entities/user.entity.d.ts.map +1 -1
- package/dist/auth/entities/user.entity.js +2 -2
- package/dist/auth/entities/user.entity.js.map +1 -1
- package/dist/auth/enums/payment.enum.d.ts +8 -1
- package/dist/auth/enums/payment.enum.d.ts.map +1 -1
- package/dist/auth/enums/payment.enum.js +17 -9
- package/dist/auth/enums/payment.enum.js.map +1 -1
- package/dist/auth/enums/tenant.invitation.status.enum.d.ts +7 -1
- package/dist/auth/enums/tenant.invitation.status.enum.d.ts.map +1 -1
- package/dist/auth/enums/tenant.invitation.status.enum.js +15 -8
- package/dist/auth/enums/tenant.invitation.status.enum.js.map +1 -1
- package/dist/auth/enums/tenant.plan.enum.d.ts +17 -3
- package/dist/auth/enums/tenant.plan.enum.d.ts.map +1 -1
- package/dist/auth/enums/tenant.plan.enum.js +35 -18
- package/dist/auth/enums/tenant.plan.enum.js.map +1 -1
- package/dist/auth/enums/user.type.enum.d.ts +5 -1
- package/dist/auth/enums/user.type.enum.d.ts.map +1 -1
- package/dist/auth/enums/user.type.enum.js +11 -6
- package/dist/auth/enums/user.type.enum.js.map +1 -1
- package/dist/auth/helpers/admin.auth.d.ts +1 -0
- package/dist/auth/helpers/admin.auth.d.ts.map +1 -1
- package/dist/auth/helpers/admin.auth.js +3 -0
- package/dist/auth/helpers/admin.auth.js.map +1 -1
- package/dist/auth/helpers/api.key.context.d.ts +1 -0
- package/dist/auth/helpers/api.key.context.d.ts.map +1 -1
- package/dist/auth/helpers/api.key.context.js +3 -0
- package/dist/auth/helpers/api.key.context.js.map +1 -1
- package/dist/auth/helpers/auth.d.ts +1 -0
- package/dist/auth/helpers/auth.d.ts.map +1 -1
- package/dist/auth/helpers/auth.js +6 -1
- package/dist/auth/helpers/auth.js.map +1 -1
- package/dist/auth/middlewares/admin.jwt.middleware.d.ts.map +1 -1
- package/dist/auth/middlewares/admin.jwt.middleware.js +5 -1
- package/dist/auth/middlewares/admin.jwt.middleware.js.map +1 -1
- package/dist/auth/middlewares/api.key.middleware.d.ts.map +1 -1
- package/dist/auth/middlewares/api.key.middleware.js +5 -1
- package/dist/auth/middlewares/api.key.middleware.js.map +1 -1
- package/dist/auth/middlewares/jwt.middleware.d.ts.map +1 -1
- package/dist/auth/middlewares/jwt.middleware.js +5 -1
- package/dist/auth/middlewares/jwt.middleware.js.map +1 -1
- package/dist/auth/processors/google.user.data.processor.d.ts.map +1 -1
- package/dist/auth/processors/google.user.data.processor.js +6 -3
- 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 +1 -1
- package/dist/auth/processors/register.user.data.processor.js.map +1 -1
- package/dist/auth/processors/tenant.invitation.data.processor.js +6 -6
- package/dist/auth/processors/tenant.invitation.data.processor.js.map +1 -1
- package/dist/auth/processors/tenant.invitation.filter.processor.d.ts.map +1 -1
- package/dist/auth/processors/tenant.invitation.filter.processor.js +2 -1
- package/dist/auth/processors/tenant.invitation.filter.processor.js.map +1 -1
- package/dist/auth/services/auth.service.js +2 -2
- package/dist/auth/services/auth.service.js.map +1 -1
- package/dist/auth/services/impersonation.service.js +1 -1
- package/dist/auth/services/impersonation.service.js.map +1 -1
- package/dist/auth/services/payment.service.d.ts +5 -2
- package/dist/auth/services/payment.service.d.ts.map +1 -1
- package/dist/auth/services/payment.service.js +54 -35
- package/dist/auth/services/payment.service.js.map +1 -1
- package/dist/auth/services/tenant.invitation.service.d.ts +1 -1
- package/dist/auth/services/tenant.invitation.service.d.ts.map +1 -1
- package/dist/auth/services/tenant.invitation.service.js +20 -12
- package/dist/auth/services/tenant.invitation.service.js.map +1 -1
- package/dist/auth/services/tenant.membership.service.js +2 -2
- package/dist/auth/services/tenant.membership.service.js.map +1 -1
- package/dist/auth/services/tenant.plan.service.d.ts.map +1 -1
- package/dist/auth/services/tenant.plan.service.js +7 -3
- package/dist/auth/services/tenant.plan.service.js.map +1 -1
- package/dist/auth/services/tenant.provisioning.service.d.ts.map +1 -1
- package/dist/auth/services/tenant.provisioning.service.js +9 -5
- package/dist/auth/services/tenant.provisioning.service.js.map +1 -1
- package/dist/auth/types/api.key.types.d.ts +1 -0
- package/dist/auth/types/api.key.types.d.ts.map +1 -1
- package/dist/auth/types/auth.types.d.ts +2 -0
- package/dist/auth/types/auth.types.d.ts.map +1 -1
- package/dist/auth/types/google.auth.types.d.ts +1 -1
- package/dist/auth/types/google.auth.types.d.ts.map +1 -1
- package/dist/auth/types/payment.types.d.ts +4 -1
- package/dist/auth/types/payment.types.d.ts.map +1 -1
- package/dist/auth/types/tenant.plan.types.d.ts +6 -6
- package/dist/auth/types/tenant.plan.types.d.ts.map +1 -1
- package/dist/auth/types/tenant.provisioning.types.d.ts +2 -2
- package/dist/auth/types/tenant.provisioning.types.d.ts.map +1 -1
- package/dist/auth/utilities/tenant.access.js +2 -2
- package/dist/auth/utilities/tenant.access.js.map +1 -1
- package/dist/auth/utilities/tenant.limits.js +2 -2
- package/dist/auth/utilities/tenant.limits.js.map +1 -1
- package/dist/auth/utilities/tenant.plans.js +8 -8
- package/dist/auth/utilities/tenant.plans.js.map +1 -1
- package/dist/common/common.module.d.ts.map +1 -1
- package/dist/common/common.module.js +6 -0
- package/dist/common/common.module.js.map +1 -1
- package/dist/common/entities/activity.log.entity.d.ts +3 -1
- package/dist/common/entities/activity.log.entity.d.ts.map +1 -1
- package/dist/common/entities/activity.log.entity.js +7 -1
- package/dist/common/entities/activity.log.entity.js.map +1 -1
- package/dist/common/entities/idempotency.key.entity.d.ts +11 -0
- package/dist/common/entities/idempotency.key.entity.d.ts.map +1 -0
- package/dist/common/entities/idempotency.key.entity.js +49 -0
- package/dist/common/entities/idempotency.key.entity.js.map +1 -0
- package/dist/common/entities/scheduled.event.entity.d.ts +2 -2
- package/dist/common/entities/scheduled.event.entity.d.ts.map +1 -1
- package/dist/common/entities/scheduled.event.entity.js +2 -2
- package/dist/common/entities/scheduled.event.entity.js.map +1 -1
- package/dist/common/entities/system.audit.log.entity.d.ts +4 -1
- package/dist/common/entities/system.audit.log.entity.d.ts.map +1 -1
- package/dist/common/entities/system.audit.log.entity.js +8 -1
- package/dist/common/entities/system.audit.log.entity.js.map +1 -1
- package/dist/common/entities/system.constant.entity.d.ts +2 -0
- package/dist/common/entities/system.constant.entity.d.ts.map +1 -1
- package/dist/common/entities/system.constant.entity.js +11 -3
- package/dist/common/entities/system.constant.entity.js.map +1 -1
- package/dist/common/entities/system.constant.type.entity.d.ts +1 -0
- package/dist/common/entities/system.constant.type.entity.d.ts.map +1 -1
- package/dist/common/entities/system.constant.type.entity.js +6 -2
- package/dist/common/entities/system.constant.type.entity.js.map +1 -1
- package/dist/common/entities/system.notification.entity.d.ts +3 -1
- package/dist/common/entities/system.notification.entity.d.ts.map +1 -1
- package/dist/common/entities/system.notification.entity.js +7 -1
- package/dist/common/entities/system.notification.entity.js.map +1 -1
- package/dist/common/entities/system.scheduled.task.entity.d.ts +3 -3
- package/dist/common/entities/system.scheduled.task.entity.d.ts.map +1 -1
- package/dist/common/entities/system.scheduled.task.entity.js +4 -4
- package/dist/common/entities/system.scheduled.task.entity.js.map +1 -1
- package/dist/common/enums/audit.action.enum.d.ts +28 -11
- package/dist/common/enums/audit.action.enum.d.ts.map +1 -1
- package/dist/common/enums/audit.action.enum.js +30 -12
- package/dist/common/enums/audit.action.enum.js.map +1 -1
- package/dist/common/enums/idempotency.enum.d.ts +42 -0
- package/dist/common/enums/idempotency.enum.d.ts.map +1 -0
- package/dist/common/enums/idempotency.enum.js +50 -0
- package/dist/common/enums/idempotency.enum.js.map +1 -0
- package/dist/common/enums/notification.type.enum.d.ts +12 -5
- package/dist/common/enums/notification.type.enum.d.ts.map +1 -1
- package/dist/common/enums/notification.type.enum.js +14 -6
- package/dist/common/enums/notification.type.enum.js.map +1 -1
- package/dist/common/enums/otp.enum.d.ts +3 -5
- package/dist/common/enums/otp.enum.d.ts.map +1 -1
- package/dist/common/enums/otp.enum.js +8 -9
- package/dist/common/enums/otp.enum.js.map +1 -1
- package/dist/common/enums/record.history.enum.d.ts +2 -0
- package/dist/common/enums/record.history.enum.d.ts.map +1 -0
- package/dist/common/enums/record.history.enum.js +12 -0
- package/dist/common/enums/record.history.enum.js.map +1 -0
- package/dist/common/enums/schedule.enum.d.ts +20 -3
- package/dist/common/enums/schedule.enum.d.ts.map +1 -1
- package/dist/common/enums/schedule.enum.js +40 -20
- package/dist/common/enums/schedule.enum.js.map +1 -1
- package/dist/common/enums/storage.driver.enum.d.ts +8 -1
- package/dist/common/enums/storage.driver.enum.d.ts.map +1 -1
- package/dist/common/enums/storage.driver.enum.js +17 -9
- package/dist/common/enums/storage.driver.enum.js.map +1 -1
- package/dist/common/enums/system.constant.enum.d.ts +55 -0
- package/dist/common/enums/system.constant.enum.d.ts.map +1 -0
- package/dist/common/enums/system.constant.enum.js +63 -0
- package/dist/common/enums/system.constant.enum.js.map +1 -0
- package/dist/common/helpers/canonical.json.d.ts +2 -0
- package/dist/common/helpers/canonical.json.d.ts.map +1 -0
- package/dist/common/helpers/canonical.json.js +23 -0
- package/dist/common/helpers/canonical.json.js.map +1 -0
- package/dist/common/helpers/constant.pair.d.ts +5 -0
- package/dist/common/helpers/constant.pair.d.ts.map +1 -0
- package/dist/common/helpers/constant.pair.js +19 -0
- package/dist/common/helpers/constant.pair.js.map +1 -0
- package/dist/common/helpers/request.idempotency.d.ts +9 -0
- package/dist/common/helpers/request.idempotency.d.ts.map +1 -0
- package/dist/common/helpers/request.idempotency.js +40 -0
- package/dist/common/helpers/request.idempotency.js.map +1 -0
- package/dist/common/jobs/dispatch.scheduled.event.job.d.ts +1 -0
- package/dist/common/jobs/dispatch.scheduled.event.job.d.ts.map +1 -1
- package/dist/common/jobs/dispatch.scheduled.event.job.js +45 -19
- package/dist/common/jobs/dispatch.scheduled.event.job.js.map +1 -1
- package/dist/common/jobs/purge.idempotency.keys.job.d.ts +11 -0
- package/dist/common/jobs/purge.idempotency.keys.job.d.ts.map +1 -0
- package/dist/common/jobs/purge.idempotency.keys.job.js +37 -0
- package/dist/common/jobs/purge.idempotency.keys.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 +11 -10
- package/dist/common/jobs/set.scheduled.event.job.js.map +1 -1
- package/dist/common/libraries/base.data.processor.d.ts +9 -0
- package/dist/common/libraries/base.data.processor.d.ts.map +1 -1
- package/dist/common/libraries/base.data.processor.js +46 -1
- package/dist/common/libraries/base.data.processor.js.map +1 -1
- package/dist/common/module.registry.d.ts +6 -2
- package/dist/common/module.registry.d.ts.map +1 -1
- package/dist/common/module.registry.js +8 -0
- package/dist/common/module.registry.js.map +1 -1
- package/dist/common/queue.module.d.ts.map +1 -1
- package/dist/common/queue.module.js +4 -0
- 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 +7 -2
- package/dist/common/services/audit.service.js.map +1 -1
- package/dist/common/services/idempotency.service.d.ts +25 -0
- package/dist/common/services/idempotency.service.d.ts.map +1 -0
- package/dist/common/services/idempotency.service.js +181 -0
- package/dist/common/services/idempotency.service.js.map +1 -0
- package/dist/common/services/record.history.service.d.ts +16 -0
- package/dist/common/services/record.history.service.d.ts.map +1 -0
- package/dist/common/services/record.history.service.js +153 -0
- package/dist/common/services/record.history.service.js.map +1 -0
- package/dist/common/services/system.constant.service.d.ts +24 -0
- package/dist/common/services/system.constant.service.d.ts.map +1 -0
- package/dist/common/services/system.constant.service.js +151 -0
- package/dist/common/services/system.constant.service.js.map +1 -0
- package/dist/common/system.property.module.d.ts.map +1 -1
- package/dist/common/system.property.module.js +11 -2
- package/dist/common/system.property.module.js.map +1 -1
- package/dist/common/types/audit.types.d.ts +3 -2
- package/dist/common/types/audit.types.d.ts.map +1 -1
- package/dist/common/types/idempotency.types.d.ts +29 -0
- package/dist/common/types/idempotency.types.d.ts.map +1 -0
- package/dist/common/types/idempotency.types.js +3 -0
- package/dist/common/types/idempotency.types.js.map +1 -0
- package/dist/common/types/record.history.types.d.ts +40 -0
- package/dist/common/types/record.history.types.d.ts.map +1 -0
- package/dist/common/types/record.history.types.js +3 -0
- package/dist/common/types/record.history.types.js.map +1 -0
- package/dist/common/types/system.constant.types.d.ts +16 -0
- package/dist/common/types/system.constant.types.d.ts.map +1 -0
- package/dist/common/types/system.constant.types.js +3 -0
- package/dist/common/types/system.constant.types.js.map +1 -0
- package/dist/common/validators/idempotency.patterns.d.ts +2 -0
- package/dist/common/validators/idempotency.patterns.d.ts.map +1 -0
- package/dist/common/validators/idempotency.patterns.js +5 -0
- package/dist/common/validators/idempotency.patterns.js.map +1 -0
- package/dist/constants/entity.constants.d.ts +1 -0
- package/dist/constants/entity.constants.d.ts.map +1 -1
- package/dist/constants/entity.constants.js +1 -0
- package/dist/constants/entity.constants.js.map +1 -1
- package/dist/constants/entity.maps.d.ts +2 -0
- package/dist/constants/entity.maps.d.ts.map +1 -1
- package/dist/constants/entity.maps.js +2 -0
- package/dist/constants/entity.maps.js.map +1 -1
- package/dist/constants/job.constants.d.ts +2 -0
- package/dist/constants/job.constants.d.ts.map +1 -1
- package/dist/constants/job.constants.js +2 -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/document/entities/document.upload.entity.d.ts +2 -1
- package/dist/document/entities/document.upload.entity.d.ts.map +1 -1
- package/dist/document/entities/document.upload.entity.js +3 -2
- package/dist/document/entities/document.upload.entity.js.map +1 -1
- package/dist/document/services/document.service.d.ts +1 -0
- package/dist/document/services/document.service.d.ts.map +1 -1
- package/dist/document/services/document.service.js +14 -10
- package/dist/document/services/document.service.js.map +1 -1
- package/dist/document/services/minio.bucket.document.service.d.ts +2 -2
- package/dist/document/services/minio.bucket.document.service.d.ts.map +1 -1
- package/dist/document/services/minio.bucket.document.service.js +1 -1
- package/dist/document/services/minio.bucket.document.service.js.map +1 -1
- package/dist/document/services/s3.bucket.document.service.d.ts +2 -2
- package/dist/document/services/s3.bucket.document.service.d.ts.map +1 -1
- package/dist/document/services/s3.bucket.document.service.js +1 -1
- package/dist/document/services/s3.bucket.document.service.js.map +1 -1
- package/dist/global/exceptions/idempotency.exception.d.ts +8 -0
- package/dist/global/exceptions/idempotency.exception.d.ts.map +1 -0
- package/dist/global/exceptions/idempotency.exception.js +18 -0
- package/dist/global/exceptions/idempotency.exception.js.map +1 -0
- package/dist/global/utilities/seeder.utility.d.ts +1 -1
- package/dist/global/utilities/seeder.utility.d.ts.map +1 -1
- package/dist/global/utilities/seeder.utility.js +2 -2
- package/dist/global/utilities/seeder.utility.js.map +1 -1
- package/dist/global/utilities/table.builder.d.ts.map +1 -1
- package/dist/global/utilities/table.builder.js +1 -0
- package/dist/global/utilities/table.builder.js.map +1 -1
- package/dist/index.d.ts +22 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +53 -17
- package/dist/index.js.map +1 -1
- package/dist/migrations/1749600000003.CreateSysUsersTable.d.ts.map +1 -1
- package/dist/migrations/1749600000003.CreateSysUsersTable.js +3 -3
- package/dist/migrations/1749600000003.CreateSysUsersTable.js.map +1 -1
- package/dist/migrations/1749600000007.CreateSysConstantTypesTable.d.ts.map +1 -1
- package/dist/migrations/1749600000007.CreateSysConstantTypesTable.js +5 -4
- package/dist/migrations/1749600000007.CreateSysConstantTypesTable.js.map +1 -1
- package/dist/migrations/1749600000008.CreateSysConstantsTable.d.ts +3 -0
- package/dist/migrations/1749600000008.CreateSysConstantsTable.d.ts.map +1 -1
- package/dist/migrations/1749600000008.CreateSysConstantsTable.js +26 -4
- package/dist/migrations/1749600000008.CreateSysConstantsTable.js.map +1 -1
- package/dist/migrations/1749600000011.CreateSysNotificationsTable.d.ts.map +1 -1
- package/dist/migrations/1749600000011.CreateSysNotificationsTable.js +8 -2
- package/dist/migrations/1749600000011.CreateSysNotificationsTable.js.map +1 -1
- package/dist/migrations/1749600000012.CreateSysAuditLogsTable.d.ts.map +1 -1
- package/dist/migrations/1749600000012.CreateSysAuditLogsTable.js +5 -1
- package/dist/migrations/1749600000012.CreateSysAuditLogsTable.js.map +1 -1
- package/dist/migrations/1749600000013.CreateSysDocumentUploadsTable.d.ts.map +1 -1
- package/dist/migrations/1749600000013.CreateSysDocumentUploadsTable.js +5 -1
- package/dist/migrations/1749600000013.CreateSysDocumentUploadsTable.js.map +1 -1
- package/dist/migrations/1749600000015.CreateSysActivityLogsTable.d.ts.map +1 -1
- package/dist/migrations/1749600000015.CreateSysActivityLogsTable.js +5 -1
- package/dist/migrations/1749600000015.CreateSysActivityLogsTable.js.map +1 -1
- package/dist/migrations/1749600000018.CreateSysScheduledTasksTable.d.ts.map +1 -1
- package/dist/migrations/1749600000018.CreateSysScheduledTasksTable.js +12 -6
- package/dist/migrations/1749600000018.CreateSysScheduledTasksTable.js.map +1 -1
- package/dist/migrations/1749600000019.CreateSysScheduledEventsTable.d.ts.map +1 -1
- package/dist/migrations/1749600000019.CreateSysScheduledEventsTable.js +7 -4
- package/dist/migrations/1749600000019.CreateSysScheduledEventsTable.js.map +1 -1
- package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.d.ts.map +1 -1
- package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.js +12 -7
- package/dist/migrations/1749600000031.CreateSysTenantInvitationsTable.js.map +1 -1
- package/dist/migrations/1749600000036.SeedGlobalAdminRole.d.ts +1 -1
- package/dist/migrations/1749600000036.SeedGlobalAdminRole.d.ts.map +1 -1
- package/dist/migrations/1749600000036.SeedGlobalAdminRole.js +2 -2
- package/dist/migrations/1749600000036.SeedGlobalAdminRole.js.map +1 -1
- package/dist/migrations/1749600000040.SeedTenantLimits.d.ts +1 -1
- package/dist/migrations/1749600000040.SeedTenantLimits.d.ts.map +1 -1
- package/dist/migrations/1749600000040.SeedTenantLimits.js +2 -2
- package/dist/migrations/1749600000040.SeedTenantLimits.js.map +1 -1
- package/dist/migrations/1749600000041.CreateSysPlansTable.d.ts.map +1 -1
- package/dist/migrations/1749600000041.CreateSysPlansTable.js +6 -3
- package/dist/migrations/1749600000041.CreateSysPlansTable.js.map +1 -1
- package/dist/migrations/1749600000044.CreateSysTenantPlansTable.d.ts.map +1 -1
- package/dist/migrations/1749600000044.CreateSysTenantPlansTable.js +14 -7
- package/dist/migrations/1749600000044.CreateSysTenantPlansTable.js.map +1 -1
- package/dist/migrations/1749600000045.CreateSysPaymentsTable.d.ts.map +1 -1
- package/dist/migrations/1749600000045.CreateSysPaymentsTable.js +6 -5
- package/dist/migrations/1749600000045.CreateSysPaymentsTable.js.map +1 -1
- package/dist/migrations/1749600000046.CreateSysWebhookEventsTable.d.ts.map +1 -1
- package/dist/migrations/1749600000046.CreateSysWebhookEventsTable.js +5 -4
- package/dist/migrations/1749600000046.CreateSysWebhookEventsTable.js.map +1 -1
- package/dist/migrations/1749600000048.SeedOtpActivityConstants.d.ts +1 -1
- package/dist/migrations/1749600000048.SeedOtpActivityConstants.d.ts.map +1 -1
- package/dist/migrations/1749600000048.SeedOtpActivityConstants.js +6 -3
- package/dist/migrations/1749600000048.SeedOtpActivityConstants.js.map +1 -1
- package/dist/migrations/1749600000054.SeedCoreConstants.d.ts +101 -0
- package/dist/migrations/1749600000054.SeedCoreConstants.d.ts.map +1 -0
- package/dist/migrations/1749600000054.SeedCoreConstants.js +146 -0
- package/dist/migrations/1749600000054.SeedCoreConstants.js.map +1 -0
- package/dist/migrations/1749600000055.CreateSysIdempotencyKeysTable.d.ts +6 -0
- package/dist/migrations/1749600000055.CreateSysIdempotencyKeysTable.d.ts.map +1 -0
- package/dist/migrations/1749600000055.CreateSysIdempotencyKeysTable.js +38 -0
- package/dist/migrations/1749600000055.CreateSysIdempotencyKeysTable.js.map +1 -0
- package/dist/notification/enums/email.template.identifier.enum.d.ts +2 -1
- package/dist/notification/enums/email.template.identifier.enum.d.ts.map +1 -1
- package/dist/notification/enums/email.template.identifier.enum.js +1 -0
- package/dist/notification/enums/email.template.identifier.enum.js.map +1 -1
- package/dist/notification/jobs/tenant.poc.changed.mail.job.d.ts +11 -0
- package/dist/notification/jobs/tenant.poc.changed.mail.job.d.ts.map +1 -0
- package/dist/notification/jobs/tenant.poc.changed.mail.job.js +55 -0
- package/dist/notification/jobs/tenant.poc.changed.mail.job.js.map +1 -0
- package/dist/notification/module.registry.d.ts +2 -1
- package/dist/notification/module.registry.d.ts.map +1 -1
- package/dist/notification/module.registry.js +2 -0
- package/dist/notification/module.registry.js.map +1 -1
- package/dist/notification/notification.module.d.ts.map +1 -1
- package/dist/notification/notification.module.js +6 -2
- package/dist/notification/notification.module.js.map +1 -1
- package/dist/notification/services/notification.service.d.ts +4 -1
- package/dist/notification/services/notification.service.d.ts.map +1 -1
- package/dist/notification/services/notification.service.js +21 -3
- package/dist/notification/services/notification.service.js.map +1 -1
- package/dist/notification/types/email.notification.types.d.ts +3 -0
- package/dist/notification/types/email.notification.types.d.ts.map +1 -1
- package/dist/tenant/utilities/tenant.revocation.js +1 -1
- package/dist/tenant/utilities/tenant.revocation.js.map +1 -1
- package/dist/webhook/entities/webhook.event.entity.d.ts +4 -2
- package/dist/webhook/entities/webhook.event.entity.d.ts.map +1 -1
- package/dist/webhook/entities/webhook.event.entity.js +7 -1
- package/dist/webhook/entities/webhook.event.entity.js.map +1 -1
- package/dist/webhook/enums/webhook.enum.d.ts +8 -1
- package/dist/webhook/enums/webhook.enum.d.ts.map +1 -1
- package/dist/webhook/enums/webhook.enum.js +17 -9
- package/dist/webhook/enums/webhook.enum.js.map +1 -1
- package/dist/webhook/services/webhook.service.d.ts.map +1 -1
- package/dist/webhook/services/webhook.service.js +22 -15
- package/dist/webhook/services/webhook.service.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -16,6 +16,9 @@ import {
|
|
|
16
16
|
|
|
17
17
|
> Full, verbose reference (every service, method, env variable, and an end-to-end
|
|
18
18
|
> integration guide): see [`documentation.tex`](./documentation.tex).
|
|
19
|
+
>
|
|
20
|
+
> Setting up a project: every `sys_properties` row, seed and role it needs —
|
|
21
|
+
> [`docs/architecture/19-properties-and-access.md`](./docs/architecture/19-properties-and-access.md).
|
|
19
22
|
|
|
20
23
|
## Installation
|
|
21
24
|
|
|
@@ -101,7 +104,7 @@ these are free to change without a breaking release.
|
|
|
101
104
|
| Area | Key exports | Notes |
|
|
102
105
|
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
103
106
|
| Entities | `RootEntity`, `CommonEntity`, `CommonAdminEntity`, `UserEntity`, `AdminUserEntity`, `SystemRoleEntity`, `SystemAdminRoleEntity`, ... | uuid PK, soft deletes, `created_by`/`updated_by` (+ `creator`/`updater` relations), jsonb `attributes`; entity-level `findOneOrNew`, `hardDelete`, `restore`, `paginate` statics plus a row-wise `softDelete()` |
|
|
104
|
-
| Migrations | `CreateTable`, `AlterTable`, `TableBuilder`, `SeederUtility` (the 31 table migrations ship in `dist/migrations` — glob them, they are not barrel exports) | `tableBuilder.ids().string().audit()` chains, typed partial-index `where`, `addRecord()` seeding |
|
|
107
|
+
| Migrations | `CreateTable`, `AlterTable`, `TableBuilder`, `SeederUtility` (override `seed()`; the 31 table migrations ship in `dist/migrations` — glob them, they are not barrel exports) | `tableBuilder.ids().string().audit()` chains, typed partial-index `where`, `addRecord()` seeding |
|
|
105
108
|
| Queue | `QueueModule`, `QueueModule.withConnection()`, `QueueService`, `BaseJob` | BullMQ `@Processor`/`WorkerHost` consumer; auto-discovered jobs, duplicate prevention, recurring schedulers, completed jobs cleared from Redis on success (1-day TTL on failures), `clearQueue()`, retries, failures persisted to `sys_failed_jobs`; connection from `BULL_REDIS_*` or supplied by the app — never register `BullModule.forRoot()` yourself, two roots race over the worker's connection |
|
|
106
109
|
| Scheduled events | `SystemScheduledTaskEntity`, `ScheduledEventEntity`, `ScheduleKind`, `ScheduleSpec`, `IsCronExpression` | schedule definitions in `sys_scheduled_tasks` → events in `sys_scheduled_events`; interval / cron / once specs with timezones, drift-free slots, horizon materialisation, catch-up + overlap policies, fire-once dispatch with backoff, cadence via `SCHEDULED_EVENT_MIN` |
|
|
107
110
|
| Auth | `AuthModule`, `AuthService.validateRole()`/`validatePermission()`, `RoleHierarchy`, `TenantRole`, `Auth`, `JwtMiddleware` | imperative auth (open by default); scoped RBAC — roles ranked by priority within a scope (parent scopes cover children), permissions per role, scope admins granting their scope's roles, with `global.admin` overriding every check; JwtMiddleware resolves the user into `Auth`'s AsyncLocalStorage context per request; access + rotating refresh tokens; session-based logout invalidation (`sys_auth_sessions`); Google SSO via ID token at `POST /auth/google`; impersonation — a tenantless `has_global_access` user signs into one organization at `POST /auth/impersonation/login`; multi-organization membership with per-organization roles, organization switching and invitations by `global.admin` or scope admins (`TenantMembershipService`, `TenantInvitationService`) |
|
|
@@ -109,10 +112,13 @@ these are free to change without a breaking release.
|
|
|
109
112
|
| API keys | `ApiKeyService`, `ApiKeyGuard` / `ApiKeyMiddleware`, `@ApiKeyScopes()`/`@ApiKeyRoles()`/`@ApiKeyPermissions()`, `ApiKeyContext` | hashed keys in `sys_api_keys` (admin-owned), one tenant per key, roles inside its scopes, expiry/revocation, `x-api-key` header; `validateAccess(scope, role?)`/`validatePermission()` return the tenant the key acts for |
|
|
110
113
|
| Scopes | `ScopeService`, `AuthService.validateAccess()`, `ScopeEntity`, `TenantScopeEntity`, `ApiScopeEntity` | one feature named once in `sys_scopes`, optionally with child scopes under it, then granted per organization (`sys_tenant_scopes`) or per API key (`sys_api_scopes`) — never an array on the principal |
|
|
111
114
|
| Multi-tenancy | `TenantModule`, `TenantEntity`, `CommonTenantEntity`, `TenantContextService`, `TenantContextMiddleware` | AsyncLocalStorage tenant context bound from the authenticated session (or API key), never a client-supplied header; tenants are onboarded by admins (`TenantEntity.creator` → `AdminUserEntity`) |
|
|
112
|
-
| Admin | `AdminModule` (its controllers, DTOs and processors are internal — import the module and hit the endpoints), `GlobalAdminRoles` | back-office APIs: tenant onboarding, client/admin/system user registration (single + bulk), the `has_global_access` grant that enables impersonation, tenant + scheduled-task listing, the email/PDF template catalogues (read at content-reader, written at content-manager, deleted at global admin); 4-tier `GlobalAdminRoles` gate over `sys_admin_roles`; Swagger at `/docs` (hidden in production) |
|
|
115
|
+
| Admin | `AdminModule` (its controllers, DTOs and processors are internal — import the module and hit the endpoints), `GlobalAdminRoles` | back-office APIs: tenant onboarding, point-of-contact change (global admin, optional `notify` mail via a job), client/admin/system user registration (single + bulk), the `has_global_access` grant that enables impersonation, tenant + scheduled-task listing, the email/PDF template catalogues (read at content-reader, written at content-manager, deleted at global admin); 4-tier `GlobalAdminRoles` gate over `sys_admin_roles`; Swagger at `/docs` (hidden in production) |
|
|
113
116
|
| Notifications | `NotificationModule`, `NotificationService`, `FcmPushNotificationService` | in-app rows + FCM push (optional `firebase-admin`); device token registry |
|
|
114
117
|
| Email (SES) | `EmailNotificationService`, `ProcessEmailNotification`, `EmailTemplateEntity`, `EmailNotificationLogEntity` | templates in `sys_email_templates` (managed from the admin surface) rendered by a remote service, dispatched via SES per recipient (to/cc/bcc); logged to `sys_email_notification_logs` outside production; dispatch skipped when `AWS_SES_FROM_ADDRESS` unset |
|
|
115
118
|
| Audit | `AuditService` | `saveAuditLog(old, new)` with changed-value diffing into `sys_audit_logs` |
|
|
119
|
+
| System constants | `SystemConstantService`, `SystemConstantEntity`, `SystemConstantTypeEntity`, `ConstantTypeIdentifier`, `ConstantTypeSeedId`, `ConstantPair` | `sys_constants` catalogue (`identifier`, `is_system`) behind every closed set; admin CRUD at `/api/admin/constant-types`, `/api/admin/constants` |
|
|
120
|
+
| Idempotency | `IdempotencyService`, `IdempotencyKeyEntity`, `BaseDataProcessor.claimIdempotency()`, `RequestIdempotency` | `Idempotency-Key` header makes a create replay-safe (`sys_idempotency_keys`); purged by `PurgeIdempotencyKeysJob` |
|
|
121
|
+
| Record history | `RecordHistoryService`, `RecordHistoryEntry` | transaction-aware field diffs into `sys_audit_logs`; `history()` lists them newest first |
|
|
116
122
|
| Cache | `CacheService` | Redis, TTL objects (`{days, hours, min}`), transparent encryption |
|
|
117
123
|
| Encryption | `EncryptionService` | AES-256-GCM, scrypt-derived keys |
|
|
118
124
|
| One-time codes | `OtpService`, `OtpActivity`, `SystemOtpEntity` | 6-digit codes per activity on one row (`sys_otps`, activities are `sys_constants` rows); keyed digest only, single use, expiry, 5 guesses; always `000000` when `SERVER_ENV` is set and not `production` |
|
|
@@ -1019,10 +1025,19 @@ reach:
|
|
|
1019
1025
|
| ----------------------- | ------------------------- | ------------------ | --------------------------------------------------------------------------- |
|
|
1020
1026
|
| `tenant-onboarded` | `TenantDataProcessor` | tenant's POC email | `tenant_name`, `tenant_poc`, `tenant_email`, `onboarded_on`, support fields |
|
|
1021
1027
|
| `tenant-user-onboarded` | `ClientUserDataProcessor` | the new user | `user_name`, `user_email`, `tenant_name`, `onboarded_on`, support fields |
|
|
1028
|
+
| `tenant-poc-changed` | `TenantPocChangedMailJob` | the new POC email | `tenant_name`, `poc_name`, `poc_email`, `poc_contact`, support fields |
|
|
1022
1029
|
|
|
1023
|
-
|
|
1030
|
+
All add `support_email` and `support_link`, read from the `support_email` /
|
|
1024
1031
|
`support_link` system properties and falling back to the placeholders in
|
|
1025
|
-
`EmailNotificationDefault`.
|
|
1032
|
+
`EmailNotificationDefault`.
|
|
1033
|
+
|
|
1034
|
+
**Changing a tenant's point of contact** — `POST /api/admin/tenants/:id/poc`
|
|
1035
|
+
(global admin and above; editing the rest of the tenant stays super admin) takes
|
|
1036
|
+
`{ poc_name, poc_email, poc_contact?, notify? }`, replaces only those fields (audited,
|
|
1037
|
+
omitted `poc_contact` keeps the stored value) and, when `notify` is true, queues
|
|
1038
|
+
`TenantPocChangedMailJob` after the change commits — whether or not the address
|
|
1039
|
+
changed. The job carries only `tenant_id` and reads the current POC when it runs; it
|
|
1040
|
+
retries and lands in `sys_failed_jobs` like the other mail jobs. Neither send can fail its flow: the row is committed
|
|
1026
1041
|
first, so a missing template or SES error is logged as a warning and the request
|
|
1027
1042
|
still succeeds.
|
|
1028
1043
|
|
|
@@ -1304,6 +1319,75 @@ Interactive docs are served at `GET /docs` (JSON at `/docs-json`) in every
|
|
|
1304
1319
|
environment **except production** — `main.ts` only mounts Swagger when
|
|
1305
1320
|
`SERVER_ENV !== 'production'`, so the schema is never exposed in prod.
|
|
1306
1321
|
|
|
1322
|
+
## System Constants, Idempotency & Record History
|
|
1323
|
+
|
|
1324
|
+
### System constants
|
|
1325
|
+
|
|
1326
|
+
Every closed set (payment/invitation/plan/event/webhook status, schedule policies, billing
|
|
1327
|
+
interval, user type, storage driver, audit action, activity type, notification type) is a
|
|
1328
|
+
`sys_constants` row under a `sys_constant_types` row, referenced by a `<name>_id` FK. Both tables
|
|
1329
|
+
carry `identifier` (unique among live rows; per type for constants) and `is_system`
|
|
1330
|
+
(package/app seeded = protected). Seeded ids are fixed: types
|
|
1331
|
+
`00000000-0000-4000-8000-000000000NNN` (`ConstantTypeSeedId`, 301 OTP, 302-315 core), constants
|
|
1332
|
+
`...NNNSSS`. Code compares ids from the `*Id` enums; the matching `*Identifier` enums hold the strings
|
|
1333
|
+
clients still send and receive (list filters, DTO inputs and session `user_type` keep the strings).
|
|
1334
|
+
`ConstantPair.id(Identifiers, Ids, value)` / `.identifier(...)` map between them without a read.
|
|
1335
|
+
|
|
1336
|
+
`SystemConstantService` (global `CommonModule`, in-memory catalogue refreshed every
|
|
1337
|
+
`constants.cache.ttl.seconds`, default 300, bounds 30-3600):
|
|
1338
|
+
|
|
1339
|
+
| Method | Use |
|
|
1340
|
+
|---|---|
|
|
1341
|
+
| `id(typeIdentifier, constantIdentifier)` | id of a constant; throws when not seeded |
|
|
1342
|
+
| `resolve(id)` | `{ id, type_identifier, identifier, name, value, is_system }` or `null` |
|
|
1343
|
+
| `list(typeIdentifier)` | a type's constants, ordered by `attributes.sort_order` then name |
|
|
1344
|
+
| `assertOfType(id, typeIdentifier)` | 400 when a client-sent id is of another type |
|
|
1345
|
+
| `invalidate()` | drop this node's cache (the admin write path calls it); other nodes converge within the TTL |
|
|
1346
|
+
|
|
1347
|
+
Admin endpoints (content reader reads, content manager writes, super admin deletes):
|
|
1348
|
+
`POST /api/admin/constant-types/list`, `GET /api/admin/constant-types/:id`,
|
|
1349
|
+
`POST /api/admin/constant-types`, `POST /api/admin/constants` (body `id?` edits),
|
|
1350
|
+
`DELETE /api/admin/constant-types/:id`, `DELETE /api/admin/constants/:id`. `is_system` is never
|
|
1351
|
+
accepted from the client; on a system row `identifier`, `type_id` and `value` are immutable and it
|
|
1352
|
+
cannot be deleted. A type with live constants, or a constant still referenced by a FK, cannot be
|
|
1353
|
+
deleted (400). Every write is audited.
|
|
1354
|
+
|
|
1355
|
+
Apps extend the open sets (`activity.type`, `notification.type`, `audit.action`) by seeding their own
|
|
1356
|
+
constants (fixed ids in their own enum, `is_system = true`) in their migrations. nestend seeds no
|
|
1357
|
+
`activity.type` rows.
|
|
1358
|
+
|
|
1359
|
+
### Idempotency
|
|
1360
|
+
|
|
1361
|
+
Send `Idempotency-Key` (1-255 of `A-Za-z0-9._:-`) on a create. Same key + same payload returns the
|
|
1362
|
+
record the first request created; same key + different payload is 422 (`IDEMPOTENCY_KEY_REUSED`);
|
|
1363
|
+
same key still in flight is 409 (`IDEMPOTENCY_IN_PROGRESS`, after `idempotency.lock.timeout.ms`).
|
|
1364
|
+
Keys are scoped per tenant (none for admins) and entity type, stored in `sys_idempotency_keys`
|
|
1365
|
+
(`request_hash` = sha256 of the canonical payload, `source_id` set in the same transaction, no status
|
|
1366
|
+
column) and expire after `idempotency.ttl.minutes`.
|
|
1367
|
+
|
|
1368
|
+
| `sys_properties` | Default | Bounds |
|
|
1369
|
+
|---|---|---|
|
|
1370
|
+
| `idempotency.ttl.minutes` | 1440 | 1-10080 (cached 30 s per process) |
|
|
1371
|
+
| `idempotency.lock.timeout.ms` | 10000 | 1000-60000 (cached 30 s per process) |
|
|
1372
|
+
| `constants.cache.ttl.seconds` | 300 | 30-3600 |
|
|
1373
|
+
|
|
1374
|
+
Opt in per processor: pass `IdempotencyService` to `super(...)`, then inside the create transaction
|
|
1375
|
+
`claimIdempotency(manager, sourceType, payload, { required? })` (returns the replay id or `null`;
|
|
1376
|
+
edits with an `id` skip it; the header is required for user/admin callers and optional for API keys)
|
|
1377
|
+
and `completeIdempotency(manager, saved.id)` after `set()`. A missing/invalid header is an
|
|
1378
|
+
`idempotency_key` field error. A rollback releases the key. `PurgeIdempotencyKeysJob`
|
|
1379
|
+
(`purge.idempotency.keys.job`, schedulable) deletes expired rows in batches of 1000; schedule it from
|
|
1380
|
+
the admin scheduled-tasks API.
|
|
1381
|
+
|
|
1382
|
+
### Record history
|
|
1383
|
+
|
|
1384
|
+
`RecordHistoryService.log({ sourceType, sourceId }, before, after, actorId, { manager?, action?, skip?, entity? })`
|
|
1385
|
+
writes one `sys_audit_logs` row holding only the changed fields (action defaults to `update`),
|
|
1386
|
+
skipping audit columns, `sn`, relations, `select: false` columns and `skip`; no change writes
|
|
1387
|
+
nothing; with `manager` it rolls back with the edit. `history(sourceType, sourceId, { page?, limit? })`
|
|
1388
|
+
returns `RecordHistoryEntry[]` newest first. Apps expose `GET .../:id/history` themselves, loading
|
|
1389
|
+
the record within the tenant first (`sys_audit_logs` has no `tenant_id`).
|
|
1390
|
+
|
|
1307
1391
|
## Security
|
|
1308
1392
|
|
|
1309
1393
|
The library ships secure defaults; most hardening needs no code. The full audit and
|
|
@@ -1363,6 +1447,29 @@ its remediation status live outside the package (`security-audit/`).
|
|
|
1363
1447
|
- Impersonation login returns no refresh token; OTP accounts are limited to change-password until it is replaced.
|
|
1364
1448
|
- `POST /auth/change-password` needs `otp` from `POST /auth/change-password/request` (except when replacing a one-time password).
|
|
1365
1449
|
|
|
1450
|
+
## Breaking changes in 8.1.0
|
|
1451
|
+
|
|
1452
|
+
- **Create migrations were edited** (new files only: `SeedCoreConstants` `...054` and
|
|
1453
|
+
`CreateSysIdempotencyKeysTable` `...055`): rebuild dev databases; there is no backfill path.
|
|
1454
|
+
- **String columns became `*_id` FKs to `sys_constants`**: `status` (payments, scheduled events,
|
|
1455
|
+
tenant invitations, tenant plans, webhook events), `catch_up_policy`, `overlap_policy`, `source`
|
|
1456
|
+
(tenant plans), `billing_interval`, `user_type`, `storage_driver`, audit `action`, `activity_type`
|
|
1457
|
+
and notification `type` are now `status_id`, `catch_up_policy_id`, `overlap_policy_id`, `source_id`,
|
|
1458
|
+
`billing_interval_id`, `user_type_id`, `storage_driver_id`, `action_id`, `activity_type_id` and
|
|
1459
|
+
`type_id`. Update entity property access, query builders and raw SQL, and compare with the `*Id`
|
|
1460
|
+
enums. List identifiers, DTO inputs and the session `user_type` are still identifier strings.
|
|
1461
|
+
- **`sys_constants.identifier` is required** and `type_id` is not null: constants an app seeds must
|
|
1462
|
+
carry an `identifier`.
|
|
1463
|
+
- **Apps must seed their own** `audit.action` (beyond the seeded set), `activity.type` and
|
|
1464
|
+
`notification.type` constants. `SaveAuditLogOptions.action`, `AuditLogFilter.action`,
|
|
1465
|
+
`AdminAuditEntry.action` and `RecordHistoryOptions.action` are typed `AuditAction` (was `string`);
|
|
1466
|
+
`REVEAL` and `DISABLE` are now enum members.
|
|
1467
|
+
- **Lower-case identifiers**: `AuditAction` and `NotificationType` values are lower-case (`create`,
|
|
1468
|
+
`info`); update FE filters and any stored-string comparisons.
|
|
1469
|
+
- **`SeederUtility.process()` is now `seed()`**: rename the override in app seed migrations.
|
|
1470
|
+
- **`TableBuilder.foreign()` honours `default`.**
|
|
1471
|
+
- Opt-in, non-breaking: idempotency and `RecordHistoryService`; the new `sys_properties` above.
|
|
1472
|
+
|
|
1366
1473
|
## License
|
|
1367
1474
|
|
|
1368
1475
|
MIT
|
|
@@ -68,14 +68,14 @@ let AdminApiKeyController = AdminApiKeyController_1 = class AdminApiKeyControlle
|
|
|
68
68
|
actor: user,
|
|
69
69
|
sourceType: entity_constants_1.baseEntityConstants.apiKey,
|
|
70
70
|
sourceId: id,
|
|
71
|
-
action:
|
|
71
|
+
action: audit_action_enum_1.AuditAction.REVEAL,
|
|
72
72
|
});
|
|
73
73
|
return { id, key };
|
|
74
74
|
}
|
|
75
75
|
async disable(id) {
|
|
76
76
|
const { user } = await this.adminAccessService.validateAdmin();
|
|
77
77
|
const result = await this.apiKeyService.disableApiKey(id, user.id);
|
|
78
|
-
await this.audit(user, id,
|
|
78
|
+
await this.audit(user, id, audit_action_enum_1.AuditAction.DISABLE);
|
|
79
79
|
return result;
|
|
80
80
|
}
|
|
81
81
|
async remove(id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.api.key.controller.js","sourceRoot":"","sources":["../../../src/admin/controllers/admin.api.key.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAUwB;AACxB,6CAAuE;AACvE,mFAA8E;AAC9E,yEAAoE;AACpE,qEAAiE;AACjE,2EAAsE;AACtE,sFAAiF;AACjF,uEAAmE;AACnE,4EAAmE;AACnE,uEAAuE;AACvE,uEAAkE;AAClE,+EAA2E;AAC3E,0DAAsD;AACtD,gFAA0E;AAC1E,oFAA8E;AAC9E,6DAAuD;AACvD,+DAAyD;AACzD,iEAA2D;AAC3D,4FAAqF;AAY9E,IAAM,qBAAqB,6BAA3B,MAAM,qBAAqB;IAChC,YACmB,kBAAsC,EACtC,aAA4B,EAC5B,YAA0B,EAC1B,iBAAoC,EACpC,YAA0B;QAJ1B,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,kBAAa,GAAb,aAAa,CAAe;QAC5B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,iBAAY,GAAZ,YAAY,CAAc;IAC1C,CAAC;IAYE,AAAN,KAAK,CAAC,KAAK,CAAS,GAAiB;QACnC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;QAC/D,OAAO,IAAI,4CAAmB,CAC5B,IAAI,EACJ,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,YAAY,CAClB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IAQK,AAAN,KAAK,CAAC,IAAI,CAAS,GAAkB;QACnC,MAAM,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;QACtD,OAAO,IAAI,gDAAqB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxE,CAAC;IAQK,AAAN,KAAK,CAAC,MAAM,CAA6B,EAAU;QACjD,MAAM,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IASK,AAAN,KAAK,CAAC,QAAQ,CACgB,EAAU,EAC9B,GAAmB;QAE3B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;QAC/D,MAAM,OAAO,GAAG,MAAM,IAAI,uDAAwB,CAChD,IAAI,EACJ,IAAI,CAAC,aAAa,CACnB,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACnB,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC;IASK,AAAN,KAAK,CAAC,MAAM,CAA6B,EAAU;QACjD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,CAAC;QAEpE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAC7C,wBAAwB,IAAI,CAAC,EAAE,EAAE,EACjC,uBAAqB,CAAC,iBAAiB,CACxC,CAAC;QACF,IAAI,KAAK,GAAG,uBAAqB,CAAC,YAAY;YAC5C,MAAM,IAAI,kCAAe,CAAC,4CAA4C,CAAC,CAAC;QAE1E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACtD,MAAM,wBAAU,CAAC,MAAM,CAAC,6BAAY,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE;YAC5D,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,sCAAmB,CAAC,MAAM;YACtC,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"admin.api.key.controller.js","sourceRoot":"","sources":["../../../src/admin/controllers/admin.api.key.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SystemConstantEntity } from '../../common/entities/system.constant.entity';
|
|
2
|
+
import { SystemConstantTypeEntity } from '../../common/entities/system.constant.type.entity';
|
|
3
|
+
import { ListFilterService } from '../../common/services/list.filter.service';
|
|
4
|
+
import { SystemConstantService } from '../../common/services/system.constant.service';
|
|
5
|
+
import { AddConstantDto } from '../dtos/add.constant.dto';
|
|
6
|
+
import { AddConstantTypeDto } from '../dtos/add.constant.type.dto';
|
|
7
|
+
import { ConstantTypeListDto } from '../dtos/constant.type.list.dto';
|
|
8
|
+
import { AdminAccessService } from '../services/admin.access.service';
|
|
9
|
+
import { AdminConstantService } from '../services/admin.constant.service';
|
|
10
|
+
export declare class AdminConstantController {
|
|
11
|
+
private readonly adminAccessService;
|
|
12
|
+
private readonly adminConstantService;
|
|
13
|
+
private readonly systemConstantService;
|
|
14
|
+
private readonly listFilterService;
|
|
15
|
+
constructor(adminAccessService: AdminAccessService, adminConstantService: AdminConstantService, systemConstantService: SystemConstantService, listFilterService: ListFilterService);
|
|
16
|
+
listTypes(dto: ConstantTypeListDto): Promise<import("../..").CommonListResult>;
|
|
17
|
+
typeDetail(id: string): Promise<SystemConstantTypeEntity>;
|
|
18
|
+
saveType(dto: AddConstantTypeDto): Promise<SystemConstantTypeEntity>;
|
|
19
|
+
saveConstant(dto: AddConstantDto): Promise<SystemConstantEntity>;
|
|
20
|
+
removeType(id: string): Promise<void>;
|
|
21
|
+
removeConstant(id: string): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=admin.constant.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.constant.controller.d.ts","sourceRoot":"","sources":["../../../src/admin/controllers/admin.constant.controller.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAE7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAG1E,qBAIa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAHjB,kBAAkB,EAAE,kBAAkB,EACtC,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB,EAC5C,iBAAiB,EAAE,iBAAiB;IAQjD,SAAS,CAAS,GAAG,EAAE,mBAAmB;IAU1C,UAAU,CACc,EAAE,EAAE,MAAM,GACrC,OAAO,CAAC,wBAAwB,CAAC;IAW9B,QAAQ,CACJ,GAAG,EAAE,kBAAkB,GAC9B,OAAO,CAAC,wBAAwB,CAAC;IAc9B,YAAY,CACR,GAAG,EAAE,cAAc,GAC1B,OAAO,CAAC,oBAAoB,CAAC;IAc1B,UAAU,CAA6B,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjE,cAAc,CAA6B,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAI5E"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.AdminConstantController = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
18
|
+
const strict_validation_pipe_1 = require("../../common/pipes/strict.validation.pipe");
|
|
19
|
+
const list_filter_service_1 = require("../../common/services/list.filter.service");
|
|
20
|
+
const system_constant_service_1 = require("../../common/services/system.constant.service");
|
|
21
|
+
const add_constant_dto_1 = require("../dtos/add.constant.dto");
|
|
22
|
+
const add_constant_type_dto_1 = require("../dtos/add.constant.type.dto");
|
|
23
|
+
const constant_type_list_dto_1 = require("../dtos/constant.type.list.dto");
|
|
24
|
+
const constant_data_processor_1 = require("../libraries/constant.data.processor");
|
|
25
|
+
const constant_type_data_processor_1 = require("../libraries/constant.type.data.processor");
|
|
26
|
+
const constant_type_filter_processor_1 = require("../libraries/constant.type.filter.processor");
|
|
27
|
+
const admin_access_service_1 = require("../services/admin.access.service");
|
|
28
|
+
const admin_constant_service_1 = require("../services/admin.constant.service");
|
|
29
|
+
let AdminConstantController = class AdminConstantController {
|
|
30
|
+
constructor(adminAccessService, adminConstantService, systemConstantService, listFilterService) {
|
|
31
|
+
this.adminAccessService = adminAccessService;
|
|
32
|
+
this.adminConstantService = adminConstantService;
|
|
33
|
+
this.systemConstantService = systemConstantService;
|
|
34
|
+
this.listFilterService = listFilterService;
|
|
35
|
+
}
|
|
36
|
+
async listTypes(dto) {
|
|
37
|
+
await this.adminAccessService.validateContentReader();
|
|
38
|
+
return new constant_type_filter_processor_1.ConstantTypeFilterProcessor(this.listFilterService).process(dto);
|
|
39
|
+
}
|
|
40
|
+
async typeDetail(id) {
|
|
41
|
+
await this.adminAccessService.validateContentReader();
|
|
42
|
+
return this.adminConstantService.typeDetail(id);
|
|
43
|
+
}
|
|
44
|
+
async saveType(dto) {
|
|
45
|
+
const access = await this.adminAccessService.validateContentManager();
|
|
46
|
+
return new constant_type_data_processor_1.ConstantTypeDataProcessor(access, this.systemConstantService).process(dto);
|
|
47
|
+
}
|
|
48
|
+
async saveConstant(dto) {
|
|
49
|
+
const access = await this.adminAccessService.validateContentManager();
|
|
50
|
+
return new constant_data_processor_1.ConstantDataProcessor(access, this.systemConstantService).process(dto);
|
|
51
|
+
}
|
|
52
|
+
async removeType(id) {
|
|
53
|
+
const { user } = await this.adminAccessService.validateSuperAdmin();
|
|
54
|
+
return this.adminConstantService.deleteType(id, user);
|
|
55
|
+
}
|
|
56
|
+
async removeConstant(id) {
|
|
57
|
+
const { user } = await this.adminAccessService.validateSuperAdmin();
|
|
58
|
+
return this.adminConstantService.deleteConstant(id, user);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
exports.AdminConstantController = AdminConstantController;
|
|
62
|
+
__decorate([
|
|
63
|
+
(0, common_1.Post)('constant-types/list'),
|
|
64
|
+
(0, swagger_1.ApiOperation)({
|
|
65
|
+
summary: 'List, search and filter constant types.',
|
|
66
|
+
description: 'Requires at least the global content reader role.',
|
|
67
|
+
}),
|
|
68
|
+
__param(0, (0, common_1.Body)()),
|
|
69
|
+
__metadata("design:type", Function),
|
|
70
|
+
__metadata("design:paramtypes", [constant_type_list_dto_1.ConstantTypeListDto]),
|
|
71
|
+
__metadata("design:returntype", Promise)
|
|
72
|
+
], AdminConstantController.prototype, "listTypes", null);
|
|
73
|
+
__decorate([
|
|
74
|
+
(0, common_1.Get)('constant-types/:id'),
|
|
75
|
+
(0, swagger_1.ApiOperation)({
|
|
76
|
+
summary: 'One constant type with its constants.',
|
|
77
|
+
description: 'Requires at least the global content reader role.',
|
|
78
|
+
}),
|
|
79
|
+
__param(0, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
|
|
80
|
+
__metadata("design:type", Function),
|
|
81
|
+
__metadata("design:paramtypes", [String]),
|
|
82
|
+
__metadata("design:returntype", Promise)
|
|
83
|
+
], AdminConstantController.prototype, "typeDetail", null);
|
|
84
|
+
__decorate([
|
|
85
|
+
(0, common_1.Post)('constant-types'),
|
|
86
|
+
(0, swagger_1.ApiOperation)({
|
|
87
|
+
summary: 'Define a constant type, or update an existing one.',
|
|
88
|
+
description: 'Send an `id` to edit; omit it to create. `identifier` is fixed once created; omitted optional fields keep their stored value. Requires at least the global content manager role. Other nodes pick the change up within `constants.cache.ttl.seconds` (default 300).',
|
|
89
|
+
}),
|
|
90
|
+
__param(0, (0, common_1.Body)()),
|
|
91
|
+
__metadata("design:type", Function),
|
|
92
|
+
__metadata("design:paramtypes", [add_constant_type_dto_1.AddConstantTypeDto]),
|
|
93
|
+
__metadata("design:returntype", Promise)
|
|
94
|
+
], AdminConstantController.prototype, "saveType", null);
|
|
95
|
+
__decorate([
|
|
96
|
+
(0, common_1.Post)('constants'),
|
|
97
|
+
(0, swagger_1.ApiOperation)({
|
|
98
|
+
summary: 'Define a constant, or update an existing one.',
|
|
99
|
+
description: 'Send an `id` to edit; omit it to create. `identifier` is fixed once created; a system constant also keeps its type and value. Requires at least the global content manager role. Other nodes pick the change up within `constants.cache.ttl.seconds` (default 300).',
|
|
100
|
+
}),
|
|
101
|
+
__param(0, (0, common_1.Body)()),
|
|
102
|
+
__metadata("design:type", Function),
|
|
103
|
+
__metadata("design:paramtypes", [add_constant_dto_1.AddConstantDto]),
|
|
104
|
+
__metadata("design:returntype", Promise)
|
|
105
|
+
], AdminConstantController.prototype, "saveConstant", null);
|
|
106
|
+
__decorate([
|
|
107
|
+
(0, common_1.Delete)('constant-types/:id'),
|
|
108
|
+
(0, swagger_1.ApiOperation)({
|
|
109
|
+
summary: 'Delete a constant type.',
|
|
110
|
+
description: 'Soft delete. Refused for system types and types that still have constants. Requires the global super admin role. Other nodes pick the change up within `constants.cache.ttl.seconds` (default 300).',
|
|
111
|
+
}),
|
|
112
|
+
__param(0, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
|
|
113
|
+
__metadata("design:type", Function),
|
|
114
|
+
__metadata("design:paramtypes", [String]),
|
|
115
|
+
__metadata("design:returntype", Promise)
|
|
116
|
+
], AdminConstantController.prototype, "removeType", null);
|
|
117
|
+
__decorate([
|
|
118
|
+
(0, common_1.Delete)('constants/:id'),
|
|
119
|
+
(0, swagger_1.ApiOperation)({
|
|
120
|
+
summary: 'Delete a constant.',
|
|
121
|
+
description: 'Soft delete. Refused for system constants and constants still referenced by a record. Requires the global super admin role. Other nodes pick the change up within `constants.cache.ttl.seconds` (default 300).',
|
|
122
|
+
}),
|
|
123
|
+
__param(0, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
|
|
124
|
+
__metadata("design:type", Function),
|
|
125
|
+
__metadata("design:paramtypes", [String]),
|
|
126
|
+
__metadata("design:returntype", Promise)
|
|
127
|
+
], AdminConstantController.prototype, "removeConstant", null);
|
|
128
|
+
exports.AdminConstantController = AdminConstantController = __decorate([
|
|
129
|
+
(0, swagger_1.ApiTags)('Admin - Constants'),
|
|
130
|
+
(0, swagger_1.ApiBearerAuth)(),
|
|
131
|
+
(0, common_1.UsePipes)(strict_validation_pipe_1.StrictValidationPipe),
|
|
132
|
+
(0, common_1.Controller)('api/admin'),
|
|
133
|
+
__metadata("design:paramtypes", [admin_access_service_1.AdminAccessService,
|
|
134
|
+
admin_constant_service_1.AdminConstantService,
|
|
135
|
+
system_constant_service_1.SystemConstantService,
|
|
136
|
+
list_filter_service_1.ListFilterService])
|
|
137
|
+
], AdminConstantController);
|
|
138
|
+
//# sourceMappingURL=admin.constant.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.constant.controller.js","sourceRoot":"","sources":["../../../src/admin/controllers/admin.constant.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,7 @@ let AdminPaymentController = class AdminPaymentController {
|
|
|
36
36
|
await this.adminAccessService.validateContentReader();
|
|
37
37
|
const payment = await payment_entity_1.PaymentEntity.findOne({
|
|
38
38
|
where: { id },
|
|
39
|
-
relations: { tenant: true },
|
|
39
|
+
relations: { tenant: true, status: true },
|
|
40
40
|
});
|
|
41
41
|
if (!payment)
|
|
42
42
|
throw new not_found_exception_1.NotFoundException(payment_enum_1.PaymentMessage.ID_NOT_FOUND);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.payment.controller.js","sourceRoot":"","sources":["../../../src/admin/controllers/admin.payment.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAQwB;AACxB,6CAAuE;AACvE,mFAA8E;AAC9E,sFAAiF;AACjF,qFAAgF;AAChF,uEAAmE;AACnE,gEAA+D;AAC/D,2EAAsE;AACtE,oFAA+E;AAC/E,+DAA0D;AAUnD,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IACjC,YACmB,kBAAsC,EACtC,iBAAoC;QADpC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,sBAAiB,GAAjB,iBAAiB,CAAmB;IACpD,CAAC;IAQE,AAAN,KAAK,CAAC,IAAI,CAAS,GAAmB;QACpC,MAAM,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;QACtD,OAAO,IAAI,iDAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzE,CAAC;IAQK,AAAN,KAAK,CAAC,MAAM,CAA6B,EAAU;QACjD,MAAM,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,8BAAa,CAAC,OAAO,CAAC;YAC1C,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"admin.payment.controller.js","sourceRoot":"","sources":["../../../src/admin/controllers/admin.payment.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAQwB;AACxB,6CAAuE;AACvE,mFAA8E;AAC9E,sFAAiF;AACjF,qFAAgF;AAChF,uEAAmE;AACnE,gEAA+D;AAC/D,2EAAsE;AACtE,oFAA+E;AAC/E,+DAA0D;AAUnD,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IACjC,YACmB,kBAAsC,EACtC,iBAAoC;QADpC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,sBAAiB,GAAjB,iBAAiB,CAAmB;IACpD,CAAC;IAQE,AAAN,KAAK,CAAC,IAAI,CAAS,GAAmB;QACpC,MAAM,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;QACtD,OAAO,IAAI,iDAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzE,CAAC;IAQK,AAAN,KAAK,CAAC,MAAM,CAA6B,EAAU;QACjD,MAAM,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,8BAAa,CAAC,OAAO,CAAC;YAC1C,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;SAC1C,CAAC,CAAC;QACH,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,uCAAiB,CAAC,6BAAc,CAAC,YAAY,CAAC,CAAC;QACvE,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AAhCY,wDAAsB;AAY3B;IANL,IAAA,aAAI,EAAC,MAAM,CAAC;IACZ,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,mCAAmC;QAC5C,WAAW,EACT,8JAA8J;KACjK,CAAC;IACU,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAM,iCAAc;;kDAGrC;AAQK;IANL,IAAA,YAAG,EAAC,KAAK,CAAC;IACV,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,cAAc;QACvB,WAAW,EACT,gFAAgF;KACnF,CAAC;IACY,WAAA,IAAA,cAAK,EAAC,IAAI,EAAE,sBAAa,CAAC,CAAA;;;;oDAQvC;iCA/BU,sBAAsB;IAJlC,IAAA,iBAAO,EAAC,kBAAkB,CAAC;IAC3B,IAAA,uBAAa,GAAE;IACf,IAAA,iBAAQ,EAAC,6CAAoB,CAAC;IAC9B,IAAA,mBAAU,EAAC,oBAAoB,CAAC;qCAGQ,yCAAkB;QACnB,uCAAiB;GAH5C,sBAAsB,CAgClC"}
|
|
@@ -35,7 +35,7 @@ let AdminSystemUserController = class AdminSystemUserController {
|
|
|
35
35
|
async systemUserDetail(id) {
|
|
36
36
|
await this.adminAccessService.validateContentReader();
|
|
37
37
|
const user = await user_entity_1.UserEntity.findOne({
|
|
38
|
-
where: { id,
|
|
38
|
+
where: { id, user_type_id: user_type_enum_1.UserTypeId.SYSTEM_USER },
|
|
39
39
|
});
|
|
40
40
|
if (!user)
|
|
41
41
|
throw new not_found_exception_1.NotFoundException('No system user exists for this id');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.system.user.controller.js","sourceRoot":"","sources":["../../../src/admin/controllers/admin.system.user.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CASwB;AACxB,6CAAuE;AACvE,iEAA6D;AAC7D,
|
|
1
|
+
{"version":3,"file":"admin.system.user.controller.js","sourceRoot":"","sources":["../../../src/admin/controllers/admin.system.user.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,19 +12,23 @@ import { SetTenantLimitDto } from '../dtos/set.tenant.limit.dto';
|
|
|
12
12
|
import { TenantLimitService } from '../../auth/services/tenant.limit.service';
|
|
13
13
|
import { TenantLimitEntity } from '../../auth/entities/tenant.limit.entity';
|
|
14
14
|
import { LimitStatus } from '../../auth/types/tenant.limit.types';
|
|
15
|
+
import { ChangeTenantPocDto } from '../dtos/change.tenant.poc.dto';
|
|
16
|
+
import { TenantPocChangedMailJob } from '../../notification/jobs/tenant.poc.changed.mail.job';
|
|
15
17
|
export declare class AdminTenantController {
|
|
16
18
|
private readonly adminAccessService;
|
|
17
19
|
private readonly tenantProvisioningService;
|
|
18
20
|
private readonly listFilterService;
|
|
19
21
|
private readonly tenantLimitService;
|
|
20
22
|
private readonly tenantPlanService;
|
|
21
|
-
|
|
23
|
+
private readonly tenantPocChangedMailJob;
|
|
24
|
+
constructor(adminAccessService: AdminAccessService, tenantProvisioningService: TenantProvisioningService, listFilterService: ListFilterService, tenantLimitService: TenantLimitService, tenantPlanService: TenantPlanService, tenantPocChangedMailJob: TenantPocChangedMailJob);
|
|
22
25
|
onboard(dto: AddTenantDto): Promise<TenantEntity>;
|
|
23
26
|
list(dto: TenantListDto): Promise<import("../..").CommonListResult>;
|
|
24
27
|
detail(id: string): Promise<TenantDetail>;
|
|
25
28
|
plan(id: string): Promise<TenantPlanView>;
|
|
26
29
|
assignPlan(id: string, dto: AssignTenantPlanDto): Promise<TenantPlanSummary>;
|
|
27
30
|
endPlan(id: string): Promise<TenantPlanView>;
|
|
31
|
+
changePoc(id: string, dto: ChangeTenantPocDto): Promise<TenantEntity>;
|
|
28
32
|
limits(id: string): Promise<LimitStatus[]>;
|
|
29
33
|
setLimit(id: string, dto: SetTenantLimitDto): Promise<TenantLimitEntity>;
|
|
30
34
|
removeLimit(id: string, limitId: string): Promise<TenantLimitEntity>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.tenant.controller.d.ts","sourceRoot":"","sources":["../../../src/admin/controllers/admin.tenant.controller.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAMtE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAE5E,OAAO,EACL,iBAAiB,EACjB,cAAc,EACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"admin.tenant.controller.d.ts","sourceRoot":"","sources":["../../../src/admin/controllers/admin.tenant.controller.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAMtE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAE5E,OAAO,EACL,iBAAiB,EACjB,cAAc,EACf,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAIlE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAC;AAE9F,qBAIa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;gBALvB,kBAAkB,EAAE,kBAAkB,EACtC,yBAAyB,EAAE,yBAAyB,EACpD,iBAAiB,EAAE,iBAAiB,EACpC,kBAAkB,EAAE,kBAAkB,EACtC,iBAAiB,EAAE,iBAAiB,EACpC,uBAAuB,EAAE,uBAAuB;IAS7D,OAAO,CAAS,GAAG,EAAE,YAAY;IAcjC,IAAI,CAAS,GAAG,EAAE,aAAa;IAW/B,MAAM,CAA6B,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA2BrE,IAAI,CAA6B,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAarE,UAAU,CACc,EAAE,EAAE,MAAM,EAC9B,GAAG,EAAE,mBAAmB,GAC/B,OAAO,CAAC,iBAAiB,CAAC;IAcvB,OAAO,CACiB,EAAE,EAAE,MAAM,GACrC,OAAO,CAAC,cAAc,CAAC;IA0BpB,SAAS,CACe,EAAE,EAAE,MAAM,EAC9B,GAAG,EAAE,kBAAkB,GAC9B,OAAO,CAAC,YAAY,CAAC;IAelB,MAAM,CAA6B,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAatE,QAAQ,CACgB,EAAE,EAAE,MAAM,EAC9B,GAAG,EAAE,iBAAiB,GAC7B,OAAO,CAAC,iBAAiB,CAAC;IAWvB,WAAW,CACa,EAAE,EAAE,MAAM,EACL,OAAO,EAAE,MAAM,GAC/C,OAAO,CAAC,iBAAiB,CAAC;IA6BvB,MAAM,CAA6B,EAAE,EAAE,MAAM;CAIpD"}
|
|
@@ -38,13 +38,17 @@ const tenant_limit_entity_1 = require("../../auth/entities/tenant.limit.entity")
|
|
|
38
38
|
const admin_audit_1 = require("../utilities/admin.audit");
|
|
39
39
|
const audit_action_enum_1 = require("../../common/enums/audit.action.enum");
|
|
40
40
|
const entity_constants_1 = require("../../constants/entity.constants");
|
|
41
|
+
const change_tenant_poc_dto_1 = require("../dtos/change.tenant.poc.dto");
|
|
42
|
+
const tenant_poc_data_processor_1 = require("../libraries/tenant.poc.data.processor");
|
|
43
|
+
const tenant_poc_changed_mail_job_1 = require("../../notification/jobs/tenant.poc.changed.mail.job");
|
|
41
44
|
let AdminTenantController = class AdminTenantController {
|
|
42
|
-
constructor(adminAccessService, tenantProvisioningService, listFilterService, tenantLimitService, tenantPlanService) {
|
|
45
|
+
constructor(adminAccessService, tenantProvisioningService, listFilterService, tenantLimitService, tenantPlanService, tenantPocChangedMailJob) {
|
|
43
46
|
this.adminAccessService = adminAccessService;
|
|
44
47
|
this.tenantProvisioningService = tenantProvisioningService;
|
|
45
48
|
this.listFilterService = listFilterService;
|
|
46
49
|
this.tenantLimitService = tenantLimitService;
|
|
47
50
|
this.tenantPlanService = tenantPlanService;
|
|
51
|
+
this.tenantPocChangedMailJob = tenantPocChangedMailJob;
|
|
48
52
|
}
|
|
49
53
|
async onboard(dto) {
|
|
50
54
|
const { user } = await this.adminAccessService.validateSuperAdmin();
|
|
@@ -92,12 +96,19 @@ let AdminTenantController = class AdminTenantController {
|
|
|
92
96
|
oldValue: before
|
|
93
97
|
? { plan_id: before.plan_id, status: before.status }
|
|
94
98
|
: null,
|
|
95
|
-
newValue: { status: tenant_plan_enum_1.
|
|
99
|
+
newValue: { status: tenant_plan_enum_1.TenantPlanStatusIdentifier.ENDED },
|
|
96
100
|
context: { tenant_id: id },
|
|
97
101
|
});
|
|
98
102
|
});
|
|
99
103
|
return this.tenantPlanService.view(id);
|
|
100
104
|
}
|
|
105
|
+
async changePoc(id, dto) {
|
|
106
|
+
const access = await this.adminAccessService.validateAdmin();
|
|
107
|
+
const tenant = await new tenant_poc_data_processor_1.TenantPocDataProcessor(access).process(id, dto);
|
|
108
|
+
if (dto.notify)
|
|
109
|
+
await this.tenantPocChangedMailJob.dispatch({ tenant_id: tenant.id });
|
|
110
|
+
return tenant;
|
|
111
|
+
}
|
|
101
112
|
async limits(id) {
|
|
102
113
|
await this.adminAccessService.validateContentReader();
|
|
103
114
|
if (!(await tenant_entity_1.TenantEntity.existsBy({ id })))
|
|
@@ -199,6 +210,18 @@ __decorate([
|
|
|
199
210
|
__metadata("design:paramtypes", [String]),
|
|
200
211
|
__metadata("design:returntype", Promise)
|
|
201
212
|
], AdminTenantController.prototype, "endPlan", null);
|
|
213
|
+
__decorate([
|
|
214
|
+
(0, common_1.Post)(':id/poc'),
|
|
215
|
+
(0, swagger_1.ApiOperation)({
|
|
216
|
+
summary: "Change a tenant's point of contact.",
|
|
217
|
+
description: 'Replaces `poc_name` and `poc_email` (and `poc_contact` when sent; omitted keeps it). `notify: true` queues an email to the new point of contact after the change is saved (template `tenant-poc-changed`), whether or not the address changed. Requires at least the global admin role.',
|
|
218
|
+
}),
|
|
219
|
+
__param(0, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
|
|
220
|
+
__param(1, (0, common_1.Body)()),
|
|
221
|
+
__metadata("design:type", Function),
|
|
222
|
+
__metadata("design:paramtypes", [String, change_tenant_poc_dto_1.ChangeTenantPocDto]),
|
|
223
|
+
__metadata("design:returntype", Promise)
|
|
224
|
+
], AdminTenantController.prototype, "changePoc", null);
|
|
202
225
|
__decorate([
|
|
203
226
|
(0, common_1.Get)(':id/limits'),
|
|
204
227
|
(0, swagger_1.ApiOperation)({
|
|
@@ -254,6 +277,7 @@ exports.AdminTenantController = AdminTenantController = __decorate([
|
|
|
254
277
|
tenant_provisioning_service_1.TenantProvisioningService,
|
|
255
278
|
list_filter_service_1.ListFilterService,
|
|
256
279
|
tenant_limit_service_1.TenantLimitService,
|
|
257
|
-
tenant_plan_service_1.TenantPlanService
|
|
280
|
+
tenant_plan_service_1.TenantPlanService,
|
|
281
|
+
tenant_poc_changed_mail_job_1.TenantPocChangedMailJob])
|
|
258
282
|
], AdminTenantController);
|
|
259
283
|
//# sourceMappingURL=admin.tenant.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.tenant.controller.js","sourceRoot":"","sources":["../../../src/admin/controllers/admin.tenant.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CASwB;AACxB,6CAAuE;AACvE,mFAA8E;AAC9E,2EAAsE;AACtE,sFAAiF;AACjF,qFAAgF;AAChF,8EAAyE;AACzE,kFAA6E;AAC7E,kFAA6E;AAC7E,2DAAsD;AACtD,6DAAwD;AACxD,iGAA4F;AAC5F,uEAAmE;AACnE,iFAA4E;AAE5E,0FAAoF;AACpF,wFAAkF;AAClF,2EAAqE;AACrE,iFAA4E;AAC5E,
|
|
1
|
+
{"version":3,"file":"admin.tenant.controller.js","sourceRoot":"","sources":["../../../src/admin/controllers/admin.tenant.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.tenant.user.controller.d.ts","sourceRoot":"","sources":["../../../src/admin/controllers/admin.tenant.user.controller.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAO7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAKjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wDAAwD,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAI3E,qBAIa,yBAAyB;IAElC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB;IACzD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAC/C,SAAS,CAAC,QAAQ,CAAC,0BAA0B,EAAE,0BAA0B;IACzE,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;gBAJrB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,EAAE,aAAa,EAC5B,0BAA0B,EAAE,0BAA0B,EACxD,iBAAiB,EAAE,iBAAiB,EACpC,uBAAuB,EAAE,uBAAuB;IAS7D,gBAAgB,CAA6B,EAAE,EAAE,MAAM;IAkBvD,aAAa,CAAS,GAAG,EAAE,gBAAgB;IAe3C,kBAAkB,CAAS,GAAG,EAAE,eAAe;IAW/C,aAAa,CAAS,GAAG,EAAE,sBAAsB;
|
|
1
|
+
{"version":3,"file":"admin.tenant.user.controller.d.ts","sourceRoot":"","sources":["../../../src/admin/controllers/admin.tenant.user.controller.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAO7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAKjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wDAAwD,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAI3E,qBAIa,yBAAyB;IAElC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB;IACzD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAC/C,SAAS,CAAC,QAAQ,CAAC,0BAA0B,EAAE,0BAA0B;IACzE,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;gBAJrB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,EAAE,aAAa,EAC5B,0BAA0B,EAAE,0BAA0B,EACxD,iBAAiB,EAAE,iBAAiB,EACpC,uBAAuB,EAAE,uBAAuB;IAS7D,gBAAgB,CAA6B,EAAE,EAAE,MAAM;IAkBvD,aAAa,CAAS,GAAG,EAAE,gBAAgB;IAe3C,kBAAkB,CAAS,GAAG,EAAE,eAAe;IAW/C,aAAa,CAAS,GAAG,EAAE,sBAAsB;IAcjD,oBAAoB,CACI,EAAE,EAAE,MAAM,EACJ,QAAQ,EAAE,MAAM;IAW9C,oBAAoB,CACI,EAAE,EAAE,MAAM,EACJ,QAAQ,EAAE,MAAM;IAY9C,gBAAgB,CACQ,EAAE,EAAE,MAAM,EACJ,QAAQ,EAAE,MAAM;;;;;IAuB9C,eAAe,CAAS,GAAG,EAAE,iBAAiB;IAW9C,gBAAgB,CAA6B,EAAE,EAAE,MAAM;YAK/C,mBAAmB;IAsBjC,OAAO,CAAC,eAAe;CAcxB"}
|
|
@@ -48,7 +48,7 @@ let AdminTenantUserController = class AdminTenantUserController {
|
|
|
48
48
|
async clientUserDetail(id) {
|
|
49
49
|
await this.adminAccessService.validateContentReader();
|
|
50
50
|
const user = await user_entity_1.UserEntity.findOne({
|
|
51
|
-
where: { id,
|
|
51
|
+
where: { id, user_type_id: user_type_enum_1.UserTypeId.TENANT_USER },
|
|
52
52
|
relations: { memberships: { tenant: true }, userRoles: { role: true } },
|
|
53
53
|
});
|
|
54
54
|
if (!user)
|