mongodb-dynamic-api 4.24.1 → 5.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/CHANGELOG.md +154 -0
- package/README.md +79 -2
- package/codemods/migrate-v5/cli.d.ts +3 -0
- package/codemods/migrate-v5/cli.js +38 -0
- package/codemods/migrate-v5/cli.js.map +1 -0
- package/codemods/migrate-v5/migrate-v5.d.ts +18 -0
- package/codemods/migrate-v5/migrate-v5.js +263 -0
- package/codemods/migrate-v5/migrate-v5.js.map +1 -0
- package/codemods/migrate-v5/removed-symbols.d.ts +7 -0
- package/codemods/migrate-v5/removed-symbols.js +122 -0
- package/codemods/migrate-v5/removed-symbols.js.map +1 -0
- package/package.json +44 -55
- package/schematics/resource/files/__name@dasherize__.entity.ts.template +3 -3
- package/schematics.tsbuildinfo +1 -1
- package/src/adapters/socket-adapter.js +5 -6
- package/src/adapters/socket-adapter.js.map +1 -1
- package/src/builders/route-decorators/auth-decorators.builder.d.ts +1 -1
- package/src/builders/route-decorators/route-decorators.builder.d.ts +2 -1
- package/src/builders/route-decorators/route-decorators.builder.js +5 -4
- package/src/builders/route-decorators/route-decorators.builder.js.map +1 -1
- package/src/decorators/entity-exists.decorator.js +2 -2
- package/src/decorators/entity-exists.decorator.js.map +1 -1
- package/src/decorators/index.d.ts +2 -5
- package/src/decorators/index.js +4 -5
- package/src/decorators/index.js.map +1 -1
- package/src/decorators/is-unique.decorator.js +2 -2
- package/src/decorators/is-unique.decorator.js.map +1 -1
- package/src/decorators/schema.decorator.d.ts +5 -0
- package/src/decorators/schema.decorator.js +15 -0
- package/src/decorators/schema.decorator.js.map +1 -0
- package/src/dtos/index.d.ts +0 -4
- package/src/dtos/index.js +0 -4
- package/src/dtos/index.js.map +1 -1
- package/src/dynamic-api.module.d.ts +1 -1
- package/src/dynamic-api.module.js +25 -20
- package/src/dynamic-api.module.js.map +1 -1
- package/src/gateways/base.gateway.js +9 -8
- package/src/gateways/base.gateway.js.map +1 -1
- package/src/gateways/dynamic-api-broadcast.gateway.d.ts +2 -2
- package/src/gateways/dynamic-api-broadcast.gateway.js +5 -5
- package/src/gateways/dynamic-api-broadcast.gateway.js.map +1 -1
- package/src/guards/base-policies.guard.d.ts +1 -1
- package/src/guards/base-policies.guard.js +5 -5
- package/src/guards/base-policies.guard.js.map +1 -1
- package/src/guards/dynamic-api-jwt-auth.guard.d.ts +1 -1
- package/src/guards/dynamic-api-jwt-auth.guard.js +7 -4
- package/src/guards/dynamic-api-jwt-auth.guard.js.map +1 -1
- package/src/guards/jwt-socket.guard.d.ts +1 -1
- package/src/guards/jwt-socket.guard.js +9 -10
- package/src/guards/jwt-socket.guard.js.map +1 -1
- package/src/helpers/event-registry.store.js +2 -2
- package/src/helpers/event-registry.store.js.map +1 -1
- package/src/helpers/index-sync.helper.js +4 -4
- package/src/helpers/index-sync.helper.js.map +1 -1
- package/src/helpers/index.d.ts +4 -21
- package/src/helpers/index.js +8 -21
- package/src/helpers/index.js.map +1 -1
- package/src/helpers/mint-token-pair.helper.js +12 -12
- package/src/helpers/mint-token-pair.helper.js.map +1 -1
- package/src/helpers/mixin-data.helper.d.ts +2 -2
- package/src/helpers/mixin-data.helper.js +2 -2
- package/src/helpers/mixin-data.helper.js.map +1 -1
- package/src/helpers/mongo-transaction.helper.js.map +1 -1
- package/src/helpers/paging-presenter-warning.helper.js +2 -2
- package/src/helpers/paging-presenter-warning.helper.js.map +1 -1
- package/src/helpers/repository.helper.js +2 -2
- package/src/helpers/repository.helper.js.map +1 -1
- package/src/helpers/route-decorators.helper.d.ts +1 -1
- package/src/helpers/schema.helper.js.map +1 -1
- package/src/helpers/socket-config.helper.d.ts +0 -1
- package/src/helpers/socket-config.helper.js +9 -19
- package/src/helpers/socket-config.helper.js.map +1 -1
- package/src/helpers/swagger-config.helper.d.ts +2 -2
- package/src/helpers/swagger-config.helper.js.map +1 -1
- package/src/helpers/validation-config.helper.js.map +1 -1
- package/src/helpers/versioning-config.helper.js.map +1 -1
- package/src/index.d.ts +0 -9
- package/src/index.js +0 -9
- package/src/index.js.map +1 -1
- package/src/interceptors/dynamic-api-cache.interceptor.d.ts +1 -1
- package/src/interceptors/dynamic-api-cache.interceptor.js +4 -0
- package/src/interceptors/dynamic-api-cache.interceptor.js.map +1 -1
- package/src/interfaces/dynamic-api-options.interface.d.ts +2 -2
- package/src/interfaces/dynamic-api-presence.interface.d.ts +1 -0
- package/src/interfaces/dynamic-api-presence.interface.js.map +1 -1
- package/src/interfaces/dynamic-api-route-config.interface.d.ts +1 -2
- package/src/interfaces/dynamic-api-route-config.interface.js.map +1 -1
- package/src/interfaces/dynamic-api-schema-options.interface.d.ts +2 -3
- package/src/interfaces/dynamic-api-service-before-save-callback.interface.d.ts +1 -15
- package/src/interfaces/dynamic-api-service-callback.interface.d.ts +1 -3
- package/src/interfaces/dynamic-api-service-provider.interface.d.ts +1 -2
- package/src/interfaces/dynamic-api-swagger-options.type.d.ts +1 -3
- package/src/interfaces/index.d.ts +4 -7
- package/src/interfaces/index.js +0 -7
- package/src/interfaces/index.js.map +1 -1
- package/src/logger/index.d.ts +1 -1
- package/src/logger/index.js +0 -15
- package/src/logger/index.js.map +1 -1
- package/src/mixins/policies-guard.mixin.d.ts +2 -1
- package/src/mixins/policies-guard.mixin.js +3 -3
- package/src/mixins/policies-guard.mixin.js.map +1 -1
- package/src/models/base-entity.model.js.map +1 -1
- package/src/models/soft-deletable-entity.model.js.map +1 -1
- package/src/modules/auth/auth-broadcast.helper.js +2 -2
- package/src/modules/auth/auth-broadcast.helper.js.map +1 -1
- package/src/modules/auth/auth.helper.d.ts +3 -3
- package/src/modules/auth/auth.helper.js +12 -11
- package/src/modules/auth/auth.helper.js.map +1 -1
- package/src/modules/auth/auth.module.js +15 -11
- package/src/modules/auth/auth.module.js.map +1 -1
- package/src/modules/auth/guards/jwt-socket-auth/jwt-socket-auth.guard.d.ts +1 -1
- package/src/modules/auth/guards/jwt-socket-auth/jwt-socket-auth.guard.js +7 -8
- package/src/modules/auth/guards/jwt-socket-auth/jwt-socket-auth.guard.js.map +1 -1
- package/src/modules/auth/guards/jwt-socket-refresh/jwt-socket-refresh.guard.js +4 -4
- package/src/modules/auth/guards/jwt-socket-refresh/jwt-socket-refresh.guard.js.map +1 -1
- package/src/modules/auth/interfaces/auth-controller.interface.d.ts +1 -1
- package/src/modules/auth/interfaces/auth-gateway.interface.d.ts +2 -1
- package/src/modules/auth/mixins/auth-controller.mixin.js +23 -17
- package/src/modules/auth/mixins/auth-controller.mixin.js.map +1 -1
- package/src/modules/auth/mixins/auth-gateway.mixin.js +8 -6
- package/src/modules/auth/mixins/auth-gateway.mixin.js.map +1 -1
- package/src/modules/auth/mixins/auth-policies-guard.mixin.d.ts +2 -1
- package/src/modules/auth/mixins/auth-policies-guard.mixin.js +1 -1
- package/src/modules/auth/mixins/auth-policies-guard.mixin.js.map +1 -1
- package/src/modules/auth/models/otp-code.model.d.ts +4 -4
- package/src/modules/auth/services/base-auth.service.d.ts +2 -1
- package/src/modules/auth/services/base-auth.service.js +8 -6
- package/src/modules/auth/services/base-auth.service.js.map +1 -1
- package/src/modules/dynamic-api-config/dynamic-api-config.module.d.ts +1 -1
- package/src/modules/dynamic-api-config/dynamic-api-config.module.js +3 -3
- package/src/modules/dynamic-api-config/dynamic-api-config.module.js.map +1 -1
- package/src/modules/health/index.d.ts +1 -2
- package/src/modules/health/index.js +3 -16
- package/src/modules/health/index.js.map +1 -1
- package/src/modules/presence/index.d.ts +1 -5
- package/src/modules/presence/index.js +3 -19
- package/src/modules/presence/index.js.map +1 -1
- package/src/modules/presence/presence.gateway.d.ts +1 -1
- package/src/modules/presence/presence.gateway.js +5 -5
- package/src/modules/presence/presence.gateway.js.map +1 -1
- package/src/modules/presence/presence.module.js +10 -9
- package/src/modules/presence/presence.module.js.map +1 -1
- package/src/routes/aggregate/aggregate-controller.mixin.d.ts +2 -2
- package/src/routes/aggregate/aggregate-controller.mixin.js +12 -8
- package/src/routes/aggregate/aggregate-controller.mixin.js.map +1 -1
- package/src/routes/aggregate/aggregate-gateway.interface.d.ts +2 -1
- package/src/routes/aggregate/aggregate-gateway.mixin.d.ts +2 -2
- package/src/routes/aggregate/aggregate-gateway.mixin.js +10 -7
- package/src/routes/aggregate/aggregate-gateway.mixin.js.map +1 -1
- package/src/routes/aggregate/aggregate.helper.d.ts +5 -4
- package/src/routes/aggregate/aggregate.helper.js +10 -10
- package/src/routes/aggregate/aggregate.helper.js.map +1 -1
- package/src/routes/aggregate/aggregate.module.d.ts +2 -2
- package/src/routes/aggregate/aggregate.module.js +4 -3
- package/src/routes/aggregate/aggregate.module.js.map +1 -1
- package/src/routes/aggregate/base-aggregate.service.d.ts +1 -1
- package/src/routes/aggregate/base-aggregate.service.js +2 -2
- package/src/routes/aggregate/base-aggregate.service.js.map +1 -1
- package/src/routes/create-many/base-create-many.service.d.ts +1 -1
- package/src/routes/create-many/base-create-many.service.js +5 -5
- package/src/routes/create-many/base-create-many.service.js.map +1 -1
- package/src/routes/create-many/create-many-controller.interface.d.ts +1 -1
- package/src/routes/create-many/create-many-controller.mixin.d.ts +2 -2
- package/src/routes/create-many/create-many-controller.mixin.js +16 -11
- package/src/routes/create-many/create-many-controller.mixin.js.map +1 -1
- package/src/routes/create-many/create-many-gateway.interface.d.ts +2 -1
- package/src/routes/create-many/create-many-gateway.mixin.d.ts +2 -2
- package/src/routes/create-many/create-many-gateway.mixin.js +10 -7
- package/src/routes/create-many/create-many-gateway.mixin.js.map +1 -1
- package/src/routes/create-many/create-many.helper.d.ts +5 -4
- package/src/routes/create-many/create-many.helper.js +13 -13
- package/src/routes/create-many/create-many.helper.js.map +1 -1
- package/src/routes/create-many/create-many.module.js +6 -5
- package/src/routes/create-many/create-many.module.js.map +1 -1
- package/src/routes/create-one/base-create-one.service.d.ts +1 -1
- package/src/routes/create-one/base-create-one.service.js +5 -5
- package/src/routes/create-one/base-create-one.service.js.map +1 -1
- package/src/routes/create-one/create-one-controller.interface.d.ts +1 -1
- package/src/routes/create-one/create-one-controller.mixin.d.ts +2 -2
- package/src/routes/create-one/create-one-controller.mixin.js +14 -10
- package/src/routes/create-one/create-one-controller.mixin.js.map +1 -1
- package/src/routes/create-one/create-one-gateway.interface.d.ts +2 -1
- package/src/routes/create-one/create-one-gateway.mixin.d.ts +2 -2
- package/src/routes/create-one/create-one-gateway.mixin.js +10 -7
- package/src/routes/create-one/create-one-gateway.mixin.js.map +1 -1
- package/src/routes/create-one/create-one.helper.d.ts +5 -4
- package/src/routes/create-one/create-one.helper.js +13 -13
- package/src/routes/create-one/create-one.helper.js.map +1 -1
- package/src/routes/create-one/create-one.module.js +6 -5
- package/src/routes/create-one/create-one.module.js.map +1 -1
- package/src/routes/custom/create-custom-route-controller.js +15 -13
- package/src/routes/custom/create-custom-route-controller.js.map +1 -1
- package/src/routes/custom/create-custom-route-gateway.js +12 -10
- package/src/routes/custom/create-custom-route-gateway.js.map +1 -1
- package/src/routes/custom/custom-route-callback.service.d.ts +1 -1
- package/src/routes/custom/custom-route-callback.service.js +2 -2
- package/src/routes/custom/custom-route-callback.service.js.map +1 -1
- package/src/routes/delete-many/base-delete-many.service.d.ts +2 -2
- package/src/routes/delete-many/base-delete-many.service.js +5 -5
- package/src/routes/delete-many/base-delete-many.service.js.map +1 -1
- package/src/routes/delete-many/delete-many-controller.interface.d.ts +2 -2
- package/src/routes/delete-many/delete-many-controller.mixin.d.ts +2 -2
- package/src/routes/delete-many/delete-many-controller.mixin.js +14 -10
- package/src/routes/delete-many/delete-many-controller.mixin.js.map +1 -1
- package/src/routes/delete-many/delete-many-gateway.interface.d.ts +3 -2
- package/src/routes/delete-many/delete-many-gateway.mixin.d.ts +2 -2
- package/src/routes/delete-many/delete-many-gateway.mixin.js +10 -7
- package/src/routes/delete-many/delete-many-gateway.mixin.js.map +1 -1
- package/src/routes/delete-many/delete-many.helper.d.ts +5 -4
- package/src/routes/delete-many/delete-many.helper.js +13 -13
- package/src/routes/delete-many/delete-many.helper.js.map +1 -1
- package/src/routes/delete-many/delete-many.module.js +6 -5
- package/src/routes/delete-many/delete-many.module.js.map +1 -1
- package/src/routes/delete-one/base-delete-one.service.d.ts +2 -2
- package/src/routes/delete-one/base-delete-one.service.js +5 -5
- package/src/routes/delete-one/base-delete-one.service.js.map +1 -1
- package/src/routes/delete-one/delete-one-controller.interface.d.ts +1 -1
- package/src/routes/delete-one/delete-one-controller.mixin.d.ts +2 -2
- package/src/routes/delete-one/delete-one-controller.mixin.js +14 -10
- package/src/routes/delete-one/delete-one-controller.mixin.js.map +1 -1
- package/src/routes/delete-one/delete-one-gateway.interface.d.ts +3 -2
- package/src/routes/delete-one/delete-one-gateway.mixin.d.ts +2 -2
- package/src/routes/delete-one/delete-one-gateway.mixin.js +10 -7
- package/src/routes/delete-one/delete-one-gateway.mixin.js.map +1 -1
- package/src/routes/delete-one/delete-one.helper.d.ts +5 -4
- package/src/routes/delete-one/delete-one.helper.js +13 -13
- package/src/routes/delete-one/delete-one.helper.js.map +1 -1
- package/src/routes/delete-one/delete-one.module.js +6 -5
- package/src/routes/delete-one/delete-one.module.js.map +1 -1
- package/src/routes/duplicate-many/base-duplicate-many.service.d.ts +1 -1
- package/src/routes/duplicate-many/base-duplicate-many.service.js +4 -4
- package/src/routes/duplicate-many/base-duplicate-many.service.js.map +1 -1
- package/src/routes/duplicate-many/duplicate-many-controller.interface.d.ts +1 -1
- package/src/routes/duplicate-many/duplicate-many-controller.mixin.d.ts +2 -2
- package/src/routes/duplicate-many/duplicate-many-controller.mixin.js +16 -11
- package/src/routes/duplicate-many/duplicate-many-controller.mixin.js.map +1 -1
- package/src/routes/duplicate-many/duplicate-many-gateway.interface.d.ts +3 -2
- package/src/routes/duplicate-many/duplicate-many-gateway.mixin.d.ts +2 -2
- package/src/routes/duplicate-many/duplicate-many-gateway.mixin.js +10 -7
- package/src/routes/duplicate-many/duplicate-many-gateway.mixin.js.map +1 -1
- package/src/routes/duplicate-many/duplicate-many.helper.d.ts +5 -4
- package/src/routes/duplicate-many/duplicate-many.helper.js +13 -13
- package/src/routes/duplicate-many/duplicate-many.helper.js.map +1 -1
- package/src/routes/duplicate-many/duplicate-many.module.js +6 -5
- package/src/routes/duplicate-many/duplicate-many.module.js.map +1 -1
- package/src/routes/duplicate-one/base-duplicate-one.service.d.ts +1 -1
- package/src/routes/duplicate-one/base-duplicate-one.service.js +4 -4
- package/src/routes/duplicate-one/base-duplicate-one.service.js.map +1 -1
- package/src/routes/duplicate-one/duplicate-one-controller.interface.d.ts +1 -1
- package/src/routes/duplicate-one/duplicate-one-controller.mixin.d.ts +2 -2
- package/src/routes/duplicate-one/duplicate-one-controller.mixin.js +18 -13
- package/src/routes/duplicate-one/duplicate-one-controller.mixin.js.map +1 -1
- package/src/routes/duplicate-one/duplicate-one-gateway.interface.d.ts +3 -2
- package/src/routes/duplicate-one/duplicate-one-gateway.mixin.d.ts +2 -2
- package/src/routes/duplicate-one/duplicate-one-gateway.mixin.js +10 -7
- package/src/routes/duplicate-one/duplicate-one-gateway.mixin.js.map +1 -1
- package/src/routes/duplicate-one/duplicate-one.helper.d.ts +5 -4
- package/src/routes/duplicate-one/duplicate-one.helper.js +13 -13
- package/src/routes/duplicate-one/duplicate-one.helper.js.map +1 -1
- package/src/routes/duplicate-one/duplicate-one.module.js +6 -5
- package/src/routes/duplicate-one/duplicate-one.module.js.map +1 -1
- package/src/routes/get-many/base-get-many.service.d.ts +1 -1
- package/src/routes/get-many/base-get-many.service.js +2 -2
- package/src/routes/get-many/base-get-many.service.js.map +1 -1
- package/src/routes/get-many/get-many-controller.mixin.d.ts +2 -2
- package/src/routes/get-many/get-many-controller.mixin.js +13 -10
- package/src/routes/get-many/get-many-controller.mixin.js.map +1 -1
- package/src/routes/get-many/get-many-gateway.interface.d.ts +2 -1
- package/src/routes/get-many/get-many-gateway.mixin.d.ts +2 -2
- package/src/routes/get-many/get-many-gateway.mixin.js +10 -8
- package/src/routes/get-many/get-many-gateway.mixin.js.map +1 -1
- package/src/routes/get-many/get-many.helper.d.ts +5 -4
- package/src/routes/get-many/get-many.helper.js +10 -10
- package/src/routes/get-many/get-many.helper.js.map +1 -1
- package/src/routes/get-many/get-many.module.js +4 -3
- package/src/routes/get-many/get-many.module.js.map +1 -1
- package/src/routes/get-one/base-get-one.service.d.ts +1 -1
- package/src/routes/get-one/base-get-one.service.js +2 -2
- package/src/routes/get-one/base-get-one.service.js.map +1 -1
- package/src/routes/get-one/get-one-controller.mixin.d.ts +2 -2
- package/src/routes/get-one/get-one-controller.mixin.js +11 -8
- package/src/routes/get-one/get-one-controller.mixin.js.map +1 -1
- package/src/routes/get-one/get-one-gateway.interface.d.ts +3 -2
- package/src/routes/get-one/get-one-gateway.mixin.d.ts +2 -2
- package/src/routes/get-one/get-one-gateway.mixin.js +9 -7
- package/src/routes/get-one/get-one-gateway.mixin.js.map +1 -1
- package/src/routes/get-one/get-one.helper.d.ts +5 -4
- package/src/routes/get-one/get-one.helper.js +10 -10
- package/src/routes/get-one/get-one.helper.js.map +1 -1
- package/src/routes/get-one/get-one.module.js +4 -3
- package/src/routes/get-one/get-one.module.js.map +1 -1
- package/src/routes/replace-one/base-replace-one.service.d.ts +1 -1
- package/src/routes/replace-one/base-replace-one.service.js +5 -5
- package/src/routes/replace-one/base-replace-one.service.js.map +1 -1
- package/src/routes/replace-one/replace-one-controller.interface.d.ts +1 -1
- package/src/routes/replace-one/replace-one-controller.mixin.d.ts +2 -2
- package/src/routes/replace-one/replace-one-controller.mixin.js +16 -12
- package/src/routes/replace-one/replace-one-controller.mixin.js.map +1 -1
- package/src/routes/replace-one/replace-one-gateway.interface.d.ts +3 -2
- package/src/routes/replace-one/replace-one-gateway.mixin.d.ts +2 -2
- package/src/routes/replace-one/replace-one-gateway.mixin.js +8 -6
- package/src/routes/replace-one/replace-one-gateway.mixin.js.map +1 -1
- package/src/routes/replace-one/replace-one.helper.d.ts +5 -4
- package/src/routes/replace-one/replace-one.helper.js +13 -13
- package/src/routes/replace-one/replace-one.helper.js.map +1 -1
- package/src/routes/replace-one/replace-one.module.js +6 -5
- package/src/routes/replace-one/replace-one.module.js.map +1 -1
- package/src/routes/update-many/base-update-many.service.d.ts +1 -1
- package/src/routes/update-many/base-update-many.service.js +4 -4
- package/src/routes/update-many/base-update-many.service.js.map +1 -1
- package/src/routes/update-many/update-many-controller.interface.d.ts +1 -1
- package/src/routes/update-many/update-many-controller.mixin.d.ts +2 -2
- package/src/routes/update-many/update-many-controller.mixin.js +16 -11
- package/src/routes/update-many/update-many-controller.mixin.js.map +1 -1
- package/src/routes/update-many/update-many-gateway.interface.d.ts +3 -2
- package/src/routes/update-many/update-many-gateway.mixin.d.ts +2 -2
- package/src/routes/update-many/update-many-gateway.mixin.js +10 -7
- package/src/routes/update-many/update-many-gateway.mixin.js.map +1 -1
- package/src/routes/update-many/update-many.helper.d.ts +5 -4
- package/src/routes/update-many/update-many.helper.js +13 -13
- package/src/routes/update-many/update-many.helper.js.map +1 -1
- package/src/routes/update-many/update-many.module.js +6 -5
- package/src/routes/update-many/update-many.module.js.map +1 -1
- package/src/routes/update-one/base-update-one.service.d.ts +1 -1
- package/src/routes/update-one/base-update-one.service.js +5 -5
- package/src/routes/update-one/base-update-one.service.js.map +1 -1
- package/src/routes/update-one/update-one-controller.interface.d.ts +1 -1
- package/src/routes/update-one/update-one-controller.mixin.d.ts +2 -2
- package/src/routes/update-one/update-one-controller.mixin.js +18 -13
- package/src/routes/update-one/update-one-controller.mixin.js.map +1 -1
- package/src/routes/update-one/update-one-gateway.interface.d.ts +3 -2
- package/src/routes/update-one/update-one-gateway.mixin.d.ts +2 -2
- package/src/routes/update-one/update-one-gateway.mixin.js +8 -6
- package/src/routes/update-one/update-one-gateway.mixin.js.map +1 -1
- package/src/routes/update-one/update-one.helper.d.ts +5 -4
- package/src/routes/update-one/update-one.helper.js +13 -13
- package/src/routes/update-one/update-one.helper.js.map +1 -1
- package/src/routes/update-one/update-one.module.js +6 -5
- package/src/routes/update-one/update-one.module.js.map +1 -1
- package/src/services/base/base.service.js +3 -4
- package/src/services/base/base.service.js.map +1 -1
- package/src/services/bcrypt/bcrypt.service.js.map +1 -1
- package/src/services/dynamic-api-broadcast/dynamic-api-broadcast.service.js +4 -4
- package/src/services/dynamic-api-broadcast/dynamic-api-broadcast.service.js.map +1 -1
- package/src/services/dynamic-api-cache/dynamic-api-cache.service.js +2 -2
- package/src/services/dynamic-api-cache/dynamic-api-cache.service.js.map +1 -1
- package/src/services/dynamic-api-entity/dynamic-api-entity.service.d.ts +6 -0
- package/src/services/dynamic-api-entity/dynamic-api-entity.service.js +11 -0
- package/src/services/dynamic-api-entity/dynamic-api-entity.service.js.map +1 -0
- package/src/services/dynamic-api-global-state/dynamic-api-global-state.service.d.ts +6 -2
- package/src/services/index.d.ts +1 -2
- package/src/services/index.js +1 -2
- package/src/services/index.js.map +1 -1
- package/src/testing/create-dynamic-api-testing-app.js +1 -1
- package/src/testing/create-dynamic-api-testing-app.js.map +1 -1
- package/src/utils/index.d.ts +0 -1
- package/src/utils/index.js +0 -1
- package/src/utils/index.js.map +1 -1
- package/src/version.json +1 -1
- package/test/e2e.setup.d.ts +3 -3
- package/test/e2e.setup.js +8 -7
- package/test/e2e.setup.js.map +1 -1
- package/test/for-feature/ability-predicate-filter.e2e-spec.js +20 -20
- package/test/for-feature/ability-predicate-filter.e2e-spec.js.map +1 -1
- package/test/for-feature/ability-predicates.e2e-spec.js +28 -27
- package/test/for-feature/ability-predicates.e2e-spec.js.map +1 -1
- package/test/for-feature/after-save-callback-reliability.e2e-spec.js +35 -34
- package/test/for-feature/after-save-callback-reliability.e2e-spec.js.map +1 -1
- package/test/for-feature/aggregate-ability-predicate-paging.e2e-spec.js +20 -19
- package/test/for-feature/aggregate-ability-predicate-paging.e2e-spec.js.map +1 -1
- package/test/for-feature/aggregate-paging-without-from-aggregate.e2e-spec.js +11 -10
- package/test/for-feature/aggregate-paging-without-from-aggregate.e2e-spec.js.map +1 -1
- package/test/for-feature/aggregate-swagger-paginated-response.e2e-spec.js +18 -17
- package/test/for-feature/aggregate-swagger-paginated-response.e2e-spec.js.map +1 -1
- package/test/for-feature/audit-log.e2e-spec.js +26 -25
- package/test/for-feature/audit-log.e2e-spec.js.map +1 -1
- package/test/for-feature/base-entity.e2e-spec.js +126 -125
- package/test/for-feature/base-entity.e2e-spec.js.map +1 -1
- package/test/for-feature/broadcast-event-registry.e2e-spec.js +20 -19
- package/test/for-feature/broadcast-event-registry.e2e-spec.js.map +1 -1
- package/test/for-feature/cache-identity-key.e2e-spec.js +22 -21
- package/test/for-feature/cache-identity-key.e2e-spec.js.map +1 -1
- package/test/for-feature/cache-scoped-invalidation.e2e-spec.js +33 -32
- package/test/for-feature/cache-scoped-invalidation.e2e-spec.js.map +1 -1
- package/test/for-feature/callbacks-user.e2e-spec.js +159 -158
- package/test/for-feature/callbacks-user.e2e-spec.js.map +1 -1
- package/test/for-feature/cascade-and-before-delete.e2e-spec.js +47 -46
- package/test/for-feature/cascade-and-before-delete.e2e-spec.js.map +1 -1
- package/test/for-feature/cascade-transaction-atomicity.e2e-spec.js +17 -16
- package/test/for-feature/cascade-transaction-atomicity.e2e-spec.js.map +1 -1
- package/test/for-feature/custom-route-auth-ability-predicate.e2e-spec.js +17 -16
- package/test/for-feature/custom-route-auth-ability-predicate.e2e-spec.js.map +1 -1
- package/test/for-feature/custom-route-inject.e2e-spec.js +9 -8
- package/test/for-feature/custom-route-inject.e2e-spec.js.map +1 -1
- package/test/for-feature/custom-route-params-openapi.e2e-spec.js +10 -9
- package/test/for-feature/custom-route-params-openapi.e2e-spec.js.map +1 -1
- package/test/for-feature/custom-route-target-param.e2e-spec.js +14 -13
- package/test/for-feature/custom-route-target-param.e2e-spec.js.map +1 -1
- package/test/for-feature/custom-routes.e2e-spec.js +38 -38
- package/test/for-feature/custom-routes.e2e-spec.js.map +1 -1
- package/test/for-feature/db-aware-validators.e2e-spec.js +40 -39
- package/test/for-feature/db-aware-validators.e2e-spec.js.map +1 -1
- package/test/for-feature/derived-fields-protected-from-user.e2e-spec.js +39 -38
- package/test/for-feature/derived-fields-protected-from-user.e2e-spec.js.map +1 -1
- package/test/for-feature/derived-fields-raw-write-recompute.e2e-spec.js +25 -24
- package/test/for-feature/derived-fields-raw-write-recompute.e2e-spec.js.map +1 -1
- package/test/for-feature/exclude-from-response.e2e-spec.js +21 -20
- package/test/for-feature/exclude-from-response.e2e-spec.js.map +1 -1
- package/test/for-feature/http-broadcast.e2e-spec.js +62 -61
- package/test/for-feature/http-broadcast.e2e-spec.js.map +1 -1
- package/test/for-feature/index-sync.e2e-spec.js +39 -28
- package/test/for-feature/index-sync.e2e-spec.js.map +1 -1
- package/test/for-feature/paging-query-helper.e2e-spec.js +21 -20
- package/test/for-feature/paging-query-helper.e2e-spec.js.map +1 -1
- package/test/for-feature/populate.e2e-spec.js +18 -17
- package/test/for-feature/populate.e2e-spec.js.map +1 -1
- package/test/for-feature/presence.e2e-spec.js +40 -18
- package/test/for-feature/presence.e2e-spec.js.map +1 -1
- package/test/for-feature/raw-update-callback-methods.e2e-spec.js +49 -48
- package/test/for-feature/raw-update-callback-methods.e2e-spec.js.map +1 -1
- package/test/for-feature/room-broadcast.e2e-spec.js +61 -60
- package/test/for-feature/room-broadcast.e2e-spec.js.map +1 -1
- package/test/for-feature/soft-deletable-entity.e2e-spec.js +136 -135
- package/test/for-feature/soft-deletable-entity.e2e-spec.js.map +1 -1
- package/test/for-feature/websockets.e2e-spec.js +54 -53
- package/test/for-feature/websockets.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-basic.e2e-spec.js +94 -93
- package/test/for-root/auth-api-basic.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-broadcast.e2e-spec.js +24 -23
- package/test/for-root/auth-api-broadcast.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-login.e2e-spec.js +99 -97
- package/test/for-root/auth-api-login.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-logout.e2e-spec.js +18 -17
- package/test/for-root/auth-api-logout.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-mint-token-pair.e2e-spec.js +17 -16
- package/test/for-root/auth-api-mint-token-pair.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-passwordless.e2e-spec.js +37 -36
- package/test/for-root/auth-api-passwordless.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-rate-limit.e2e-spec.js +14 -13
- package/test/for-root/auth-api-rate-limit.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-refresh-token-cookie.e2e-spec.js +27 -26
- package/test/for-root/auth-api-refresh-token-cookie.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-refresh-token.e2e-spec.js +93 -54
- package/test/for-root/auth-api-refresh-token.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-register.e2e-spec.js +29 -27
- package/test/for-root/auth-api-register.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-reset-password.e2e-spec.js +50 -48
- package/test/for-root/auth-api-reset-password.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-update-account-derived-field.e2e-spec.js +9 -8
- package/test/for-root/auth-api-update-account-derived-field.e2e-spec.js.map +1 -1
- package/test/for-root/auth-api-update-account.e2e-spec.js +38 -37
- package/test/for-root/auth-api-update-account.e2e-spec.js.map +1 -1
- package/test/for-root/health-check.e2e-spec.js +21 -20
- package/test/for-root/health-check.e2e-spec.js.map +1 -1
- package/test/for-root/initialization.e2e-spec.js +10 -9
- package/test/for-root/initialization.e2e-spec.js.map +1 -1
- package/test/for-root/websockets-auth-basic.e2e-spec.js +115 -114
- package/test/for-root/websockets-auth-basic.e2e-spec.js.map +1 -1
- package/test/for-root/websockets-auth-broadcast.e2e-spec.js +26 -25
- package/test/for-root/websockets-auth-broadcast.e2e-spec.js.map +1 -1
- package/test/for-root/websockets-auth-login.e2e-spec.js +40 -38
- package/test/for-root/websockets-auth-login.e2e-spec.js.map +1 -1
- package/test/for-root/websockets-auth-refresh-token.e2e-spec.js +22 -21
- package/test/for-root/websockets-auth-refresh-token.e2e-spec.js.map +1 -1
- package/test/for-root/websockets-auth-register.e2e-spec.js +36 -34
- package/test/for-root/websockets-auth-register.e2e-spec.js.map +1 -1
- package/test/for-root/websockets-auth-reset-password.e2e-spec.js +56 -54
- package/test/for-root/websockets-auth-reset-password.e2e-spec.js.map +1 -1
- package/test/helpers/create-mock.helper.d.ts +12 -0
- package/test/helpers/create-mock.helper.js +58 -0
- package/test/helpers/create-mock.helper.js.map +1 -0
- package/test/helpers/index.d.ts +1 -0
- package/test/helpers/index.js +18 -0
- package/test/helpers/index.js.map +1 -0
- package/test/helpers/register-ts-require-hook.d.ts +1 -0
- package/test/helpers/register-ts-require-hook.js +20 -0
- package/test/helpers/register-ts-require-hook.js.map +1 -0
- package/test/shared/entities/refresh-token-user.factory.d.ts +1 -0
- package/test/shared/entities/refresh-token-user.factory.js +4 -0
- package/test/shared/entities/refresh-token-user.factory.js.map +1 -1
- package/test/testing/create-dynamic-api-testing-app.e2e-spec.js +17 -15
- package/test/testing/create-dynamic-api-testing-app.e2e-spec.js.map +1 -1
- package/test/utils.d.ts +5 -1
- package/test/utils.js +2 -2
- package/test/utils.js.map +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/src/decorators/schema-options.decorator.d.ts +0 -5
- package/src/decorators/schema-options.decorator.js +0 -14
- package/src/decorators/schema-options.decorator.js.map +0 -1
- package/src/utils/deep-patial.d.ts +0 -1
- package/src/utils/deep-patial.js +0 -3
- package/src/utils/deep-patial.js.map +0 -1
|
@@ -9,6 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const vitest_1 = require("vitest");
|
|
12
13
|
const mongoose_1 = require("@nestjs/mongoose");
|
|
13
14
|
const testing_1 = require("@nestjs/testing");
|
|
14
15
|
const mongoose_2 = require("mongoose");
|
|
@@ -228,14 +229,14 @@ function buildRoutes(cb, opts) {
|
|
|
228
229
|
{ type: 'Aggregate', ...ws, subPath: 'aggregate', dTOs: { query: ItemAggregateQuery }, callback: cb.aggregateAfterSave },
|
|
229
230
|
];
|
|
230
231
|
}
|
|
231
|
-
describe('Callbacks receive authenticated user (e2e)', () => {
|
|
232
|
+
(0, vitest_1.describe)('Callbacks receive authenticated user (e2e)', () => {
|
|
232
233
|
const { UserEntity, ItemEntity, AuditLogEntity } = buildEntities('cb');
|
|
233
234
|
const callbacks = buildCallbacks(AuditLogEntity, '');
|
|
234
235
|
const routes = buildRoutes(callbacks);
|
|
235
236
|
let accessToken;
|
|
236
237
|
const userEmail = 'cb-test@test.co';
|
|
237
238
|
const userPassword = 'test';
|
|
238
|
-
beforeEach(async () => {
|
|
239
|
+
(0, vitest_1.beforeEach)(async () => {
|
|
239
240
|
src_1.DynamicApiModule.state['resetState']();
|
|
240
241
|
const uri = process.env.MONGO_DB_URL;
|
|
241
242
|
const moduleRef = await testing_1.Test.createTestingModule({
|
|
@@ -257,7 +258,7 @@ describe('Callbacks receive authenticated user (e2e)', () => {
|
|
|
257
258
|
const { body } = await e2e_setup_1.server.post('/auth/login', { email: userEmail, password: userPassword });
|
|
258
259
|
accessToken = body.accessToken;
|
|
259
260
|
});
|
|
260
|
-
afterEach(async () => {
|
|
261
|
+
(0, vitest_1.afterEach)(async () => {
|
|
261
262
|
await (0, e2e_setup_1.closeTestingApp)(mongoose_2.default.connections);
|
|
262
263
|
});
|
|
263
264
|
const auth = () => ({ authToken: accessToken });
|
|
@@ -265,175 +266,175 @@ describe('Callbacks receive authenticated user (e2e)', () => {
|
|
|
265
266
|
const { body } = await e2e_setup_1.server.get('/audit-logs', auth());
|
|
266
267
|
return body.filter((log) => log.action === action);
|
|
267
268
|
};
|
|
268
|
-
describe('CreateOne', () => {
|
|
269
|
-
it('beforeSaveCallback should set createdBy from user and afterSave should create audit log', async () => {
|
|
269
|
+
(0, vitest_1.describe)('CreateOne', () => {
|
|
270
|
+
(0, vitest_1.it)('beforeSaveCallback should set createdBy from user and afterSave should create audit log', async () => {
|
|
270
271
|
const { body, status } = await e2e_setup_1.server.post('/items', { name: 'item-1' }, auth());
|
|
271
|
-
expect(status).toBe(201);
|
|
272
|
-
expect(body.createdBy).toBe(userEmail);
|
|
272
|
+
(0, vitest_1.expect)(status).toBe(201);
|
|
273
|
+
(0, vitest_1.expect)(body.createdBy).toBe(userEmail);
|
|
273
274
|
const logs = await getAuditLogs('CreateOne');
|
|
274
|
-
expect(logs).toHaveLength(1);
|
|
275
|
-
expect(logs[0]).toEqual(expect.objectContaining({
|
|
275
|
+
(0, vitest_1.expect)(logs).toHaveLength(1);
|
|
276
|
+
(0, vitest_1.expect)(logs[0]).toEqual(vitest_1.expect.objectContaining({
|
|
276
277
|
action: 'CreateOne',
|
|
277
278
|
entityId: body.id,
|
|
278
279
|
performedBy: userEmail,
|
|
279
280
|
}));
|
|
280
281
|
});
|
|
281
282
|
});
|
|
282
|
-
describe('CreateMany', () => {
|
|
283
|
-
it('beforeSaveCallback should set createdBy from user and afterSave should create audit logs', async () => {
|
|
283
|
+
(0, vitest_1.describe)('CreateMany', () => {
|
|
284
|
+
(0, vitest_1.it)('beforeSaveCallback should set createdBy from user and afterSave should create audit logs', async () => {
|
|
284
285
|
const { body, status } = await e2e_setup_1.server.post('/items/many', { list: [{ name: 'item-a' }, { name: 'item-b' }] }, auth());
|
|
285
|
-
expect(status).toBe(201);
|
|
286
|
-
expect(body).toHaveLength(2);
|
|
287
|
-
expect(body[0].createdBy).toBe(userEmail);
|
|
288
|
-
expect(body[1].createdBy).toBe(userEmail);
|
|
286
|
+
(0, vitest_1.expect)(status).toBe(201);
|
|
287
|
+
(0, vitest_1.expect)(body).toHaveLength(2);
|
|
288
|
+
(0, vitest_1.expect)(body[0].createdBy).toBe(userEmail);
|
|
289
|
+
(0, vitest_1.expect)(body[1].createdBy).toBe(userEmail);
|
|
289
290
|
const logs = await getAuditLogs('CreateMany');
|
|
290
|
-
expect(logs).toHaveLength(2);
|
|
291
|
-
expect(logs.every((l) => l.performedBy === userEmail)).toBe(true);
|
|
291
|
+
(0, vitest_1.expect)(logs).toHaveLength(2);
|
|
292
|
+
(0, vitest_1.expect)(logs.every((l) => l.performedBy === userEmail)).toBe(true);
|
|
292
293
|
});
|
|
293
294
|
});
|
|
294
|
-
describe('UpdateOne', () => {
|
|
295
|
-
it('beforeSaveCallback should set updatedBy from user and afterSave should create audit log', async () => {
|
|
295
|
+
(0, vitest_1.describe)('UpdateOne', () => {
|
|
296
|
+
(0, vitest_1.it)('beforeSaveCallback should set updatedBy from user and afterSave should create audit log', async () => {
|
|
296
297
|
const { body: created } = await e2e_setup_1.server.post('/items', { name: 'to-update' }, auth());
|
|
297
298
|
const { body: updated, status } = await e2e_setup_1.server.patch(`/items/${created.id}`, { name: 'updated-name' }, auth());
|
|
298
|
-
expect(status).toBe(200);
|
|
299
|
-
expect(updated.updatedBy).toBe(userEmail);
|
|
300
|
-
expect(updated.name).toBe('updated-name');
|
|
299
|
+
(0, vitest_1.expect)(status).toBe(200);
|
|
300
|
+
(0, vitest_1.expect)(updated.updatedBy).toBe(userEmail);
|
|
301
|
+
(0, vitest_1.expect)(updated.name).toBe('updated-name');
|
|
301
302
|
const logs = await getAuditLogs('UpdateOne');
|
|
302
|
-
expect(logs).toHaveLength(1);
|
|
303
|
-
expect(logs[0].performedBy).toBe(userEmail);
|
|
303
|
+
(0, vitest_1.expect)(logs).toHaveLength(1);
|
|
304
|
+
(0, vitest_1.expect)(logs[0].performedBy).toBe(userEmail);
|
|
304
305
|
});
|
|
305
306
|
});
|
|
306
|
-
describe('UpdateMany', () => {
|
|
307
|
-
it('beforeSaveCallback should set updatedBy from user and afterSave should create audit logs', async () => {
|
|
307
|
+
(0, vitest_1.describe)('UpdateMany', () => {
|
|
308
|
+
(0, vitest_1.it)('beforeSaveCallback should set updatedBy from user and afterSave should create audit logs', async () => {
|
|
308
309
|
const { body: items } = await e2e_setup_1.server.post('/items/many', { list: [{ name: 'um-1' }, { name: 'um-2' }] }, auth());
|
|
309
310
|
const ids = items.map((i) => i.id);
|
|
310
311
|
const { body: updated, status } = await e2e_setup_1.server.patch('/items', { name: 'bulk-updated' }, { ...auth(), query: { ids } });
|
|
311
|
-
expect(status).toBe(200);
|
|
312
|
-
expect(updated).toHaveLength(2);
|
|
313
|
-
expect(updated.every((u) => u.updatedBy === userEmail)).toBe(true);
|
|
312
|
+
(0, vitest_1.expect)(status).toBe(200);
|
|
313
|
+
(0, vitest_1.expect)(updated).toHaveLength(2);
|
|
314
|
+
(0, vitest_1.expect)(updated.every((u) => u.updatedBy === userEmail)).toBe(true);
|
|
314
315
|
const logs = await getAuditLogs('UpdateMany');
|
|
315
|
-
expect(logs).toHaveLength(2);
|
|
316
|
-
expect(logs.every((l) => l.performedBy === userEmail)).toBe(true);
|
|
316
|
+
(0, vitest_1.expect)(logs).toHaveLength(2);
|
|
317
|
+
(0, vitest_1.expect)(logs.every((l) => l.performedBy === userEmail)).toBe(true);
|
|
317
318
|
});
|
|
318
319
|
});
|
|
319
|
-
describe('ReplaceOne', () => {
|
|
320
|
-
it('beforeSaveCallback should set updatedBy from user and afterSave should create audit log', async () => {
|
|
320
|
+
(0, vitest_1.describe)('ReplaceOne', () => {
|
|
321
|
+
(0, vitest_1.it)('beforeSaveCallback should set updatedBy from user and afterSave should create audit log', async () => {
|
|
321
322
|
const { body: created } = await e2e_setup_1.server.post('/items', { name: 'to-replace' }, auth());
|
|
322
323
|
const { body: replaced, status } = await e2e_setup_1.server.put(`/items/${created.id}`, { name: 'replaced-name' }, auth());
|
|
323
|
-
expect(status).toBe(200);
|
|
324
|
-
expect(replaced.updatedBy).toBe(userEmail);
|
|
325
|
-
expect(replaced.name).toBe('replaced-name');
|
|
324
|
+
(0, vitest_1.expect)(status).toBe(200);
|
|
325
|
+
(0, vitest_1.expect)(replaced.updatedBy).toBe(userEmail);
|
|
326
|
+
(0, vitest_1.expect)(replaced.name).toBe('replaced-name');
|
|
326
327
|
const logs = await getAuditLogs('ReplaceOne');
|
|
327
|
-
expect(logs).toHaveLength(1);
|
|
328
|
-
expect(logs[0].performedBy).toBe(userEmail);
|
|
328
|
+
(0, vitest_1.expect)(logs).toHaveLength(1);
|
|
329
|
+
(0, vitest_1.expect)(logs[0].performedBy).toBe(userEmail);
|
|
329
330
|
});
|
|
330
331
|
});
|
|
331
|
-
describe('DuplicateOne', () => {
|
|
332
|
-
it('beforeSaveCallback should set createdBy from user and afterSave should create audit log', async () => {
|
|
332
|
+
(0, vitest_1.describe)('DuplicateOne', () => {
|
|
333
|
+
(0, vitest_1.it)('beforeSaveCallback should set createdBy from user and afterSave should create audit log', async () => {
|
|
333
334
|
const { body: created } = await e2e_setup_1.server.post('/items', { name: 'to-dup' }, auth());
|
|
334
335
|
const { body: duplicated, status } = await e2e_setup_1.server.post(`/items/duplicate/${created.id}`, { name: 'dup-name' }, auth());
|
|
335
|
-
expect(status).toBe(201);
|
|
336
|
-
expect(duplicated.createdBy).toBe(userEmail);
|
|
336
|
+
(0, vitest_1.expect)(status).toBe(201);
|
|
337
|
+
(0, vitest_1.expect)(duplicated.createdBy).toBe(userEmail);
|
|
337
338
|
const logs = await getAuditLogs('DuplicateOne');
|
|
338
|
-
expect(logs).toHaveLength(1);
|
|
339
|
-
expect(logs[0]).toEqual(expect.objectContaining({
|
|
339
|
+
(0, vitest_1.expect)(logs).toHaveLength(1);
|
|
340
|
+
(0, vitest_1.expect)(logs[0]).toEqual(vitest_1.expect.objectContaining({
|
|
340
341
|
entityId: duplicated.id,
|
|
341
342
|
performedBy: userEmail,
|
|
342
343
|
}));
|
|
343
344
|
});
|
|
344
345
|
});
|
|
345
|
-
describe('DuplicateMany', () => {
|
|
346
|
-
it('beforeSaveCallback should set createdBy from user and afterSave should create audit logs', async () => {
|
|
346
|
+
(0, vitest_1.describe)('DuplicateMany', () => {
|
|
347
|
+
(0, vitest_1.it)('beforeSaveCallback should set createdBy from user and afterSave should create audit logs', async () => {
|
|
347
348
|
const { body: items } = await e2e_setup_1.server.post('/items/many', { list: [{ name: 'dm-1' }, { name: 'dm-2' }] }, auth());
|
|
348
349
|
const ids = items.map((i) => i.id);
|
|
349
350
|
const { body: duplicated, status } = await e2e_setup_1.server.post('/items/duplicate', {}, { ...auth(), query: { ids } });
|
|
350
|
-
expect(status).toBe(201);
|
|
351
|
-
expect(duplicated).toHaveLength(2);
|
|
352
|
-
expect(duplicated.every((d) => d.createdBy === userEmail)).toBe(true);
|
|
351
|
+
(0, vitest_1.expect)(status).toBe(201);
|
|
352
|
+
(0, vitest_1.expect)(duplicated).toHaveLength(2);
|
|
353
|
+
(0, vitest_1.expect)(duplicated.every((d) => d.createdBy === userEmail)).toBe(true);
|
|
353
354
|
const logs = await getAuditLogs('DuplicateMany');
|
|
354
|
-
expect(logs).toHaveLength(2);
|
|
355
|
-
expect(logs.every((l) => l.performedBy === userEmail)).toBe(true);
|
|
355
|
+
(0, vitest_1.expect)(logs).toHaveLength(2);
|
|
356
|
+
(0, vitest_1.expect)(logs.every((l) => l.performedBy === userEmail)).toBe(true);
|
|
356
357
|
});
|
|
357
358
|
});
|
|
358
|
-
describe('DeleteOne', () => {
|
|
359
|
-
it('beforeSaveCallback and afterSave should both create audit logs with user', async () => {
|
|
359
|
+
(0, vitest_1.describe)('DeleteOne', () => {
|
|
360
|
+
(0, vitest_1.it)('beforeSaveCallback and afterSave should both create audit logs with user', async () => {
|
|
360
361
|
const { body: created } = await e2e_setup_1.server.post('/items', { name: 'to-delete' }, auth());
|
|
361
362
|
const { body, status } = await e2e_setup_1.server.delete(`/items/${created.id}`, auth());
|
|
362
|
-
expect(status).toBe(200);
|
|
363
|
-
expect(body.deletedCount).toBe(1);
|
|
363
|
+
(0, vitest_1.expect)(status).toBe(200);
|
|
364
|
+
(0, vitest_1.expect)(body.deletedCount).toBe(1);
|
|
364
365
|
const beforeLogs = await getAuditLogs('DeleteOne-before');
|
|
365
|
-
expect(beforeLogs).toHaveLength(1);
|
|
366
|
-
expect(beforeLogs[0].performedBy).toBe(userEmail);
|
|
366
|
+
(0, vitest_1.expect)(beforeLogs).toHaveLength(1);
|
|
367
|
+
(0, vitest_1.expect)(beforeLogs[0].performedBy).toBe(userEmail);
|
|
367
368
|
const afterLogs = await getAuditLogs('DeleteOne');
|
|
368
|
-
expect(afterLogs).toHaveLength(1);
|
|
369
|
-
expect(afterLogs[0]).toEqual(expect.objectContaining({
|
|
369
|
+
(0, vitest_1.expect)(afterLogs).toHaveLength(1);
|
|
370
|
+
(0, vitest_1.expect)(afterLogs[0]).toEqual(vitest_1.expect.objectContaining({
|
|
370
371
|
entityId: created.id,
|
|
371
372
|
performedBy: userEmail,
|
|
372
373
|
}));
|
|
373
374
|
});
|
|
374
375
|
});
|
|
375
|
-
describe('DeleteMany', () => {
|
|
376
|
-
it('beforeSaveCallback and afterSave should both create audit logs with user', async () => {
|
|
376
|
+
(0, vitest_1.describe)('DeleteMany', () => {
|
|
377
|
+
(0, vitest_1.it)('beforeSaveCallback and afterSave should both create audit logs with user', async () => {
|
|
377
378
|
const { body: items } = await e2e_setup_1.server.post('/items/many', { list: [{ name: 'del-1' }, { name: 'del-2' }] }, auth());
|
|
378
379
|
const ids = items.map((i) => i.id);
|
|
379
380
|
const { body, status } = await e2e_setup_1.server.delete('/items', { ...auth(), query: { ids } });
|
|
380
|
-
expect(status).toBe(200);
|
|
381
|
-
expect(body.deletedCount).toBe(2);
|
|
381
|
+
(0, vitest_1.expect)(status).toBe(200);
|
|
382
|
+
(0, vitest_1.expect)(body.deletedCount).toBe(2);
|
|
382
383
|
const beforeLogs = await getAuditLogs('DeleteMany-before');
|
|
383
|
-
expect(beforeLogs).toHaveLength(2);
|
|
384
|
-
expect(beforeLogs.every((l) => l.performedBy === userEmail)).toBe(true);
|
|
384
|
+
(0, vitest_1.expect)(beforeLogs).toHaveLength(2);
|
|
385
|
+
(0, vitest_1.expect)(beforeLogs.every((l) => l.performedBy === userEmail)).toBe(true);
|
|
385
386
|
const afterLogs = await getAuditLogs('DeleteMany');
|
|
386
|
-
expect(afterLogs).toHaveLength(2);
|
|
387
|
-
expect(afterLogs.every((l) => l.performedBy === userEmail)).toBe(true);
|
|
387
|
+
(0, vitest_1.expect)(afterLogs).toHaveLength(2);
|
|
388
|
+
(0, vitest_1.expect)(afterLogs.every((l) => l.performedBy === userEmail)).toBe(true);
|
|
388
389
|
});
|
|
389
390
|
});
|
|
390
|
-
describe('GetOne', () => {
|
|
391
|
-
it('afterSave callback should create audit log with user', async () => {
|
|
391
|
+
(0, vitest_1.describe)('GetOne', () => {
|
|
392
|
+
(0, vitest_1.it)('afterSave callback should create audit log with user', async () => {
|
|
392
393
|
const { body: created } = await e2e_setup_1.server.post('/items', { name: 'get-one-item' }, auth());
|
|
393
394
|
const { status } = await e2e_setup_1.server.get(`/items/${created.id}`, auth());
|
|
394
|
-
expect(status).toBe(200);
|
|
395
|
+
(0, vitest_1.expect)(status).toBe(200);
|
|
395
396
|
const logs = await getAuditLogs('GetOne');
|
|
396
|
-
expect(logs).toHaveLength(1);
|
|
397
|
-
expect(logs[0]).toEqual(expect.objectContaining({
|
|
397
|
+
(0, vitest_1.expect)(logs).toHaveLength(1);
|
|
398
|
+
(0, vitest_1.expect)(logs[0]).toEqual(vitest_1.expect.objectContaining({
|
|
398
399
|
entityId: created.id,
|
|
399
400
|
performedBy: userEmail,
|
|
400
401
|
}));
|
|
401
402
|
});
|
|
402
403
|
});
|
|
403
|
-
describe('GetMany', () => {
|
|
404
|
-
it('afterSave callback should create audit logs with user for each returned entity', async () => {
|
|
404
|
+
(0, vitest_1.describe)('GetMany', () => {
|
|
405
|
+
(0, vitest_1.it)('afterSave callback should create audit logs with user for each returned entity', async () => {
|
|
405
406
|
await e2e_setup_1.server.post('/items/many', { list: [{ name: 'gm-1' }, { name: 'gm-2' }] }, auth());
|
|
406
407
|
const { body: items, status } = await e2e_setup_1.server.get('/items', auth());
|
|
407
|
-
expect(status).toBe(200);
|
|
408
|
+
(0, vitest_1.expect)(status).toBe(200);
|
|
408
409
|
const logs = await getAuditLogs('GetMany');
|
|
409
|
-
expect(logs.length).toBe(items.length);
|
|
410
|
-
expect(logs.every((l) => l.performedBy === userEmail)).toBe(true);
|
|
410
|
+
(0, vitest_1.expect)(logs.length).toBe(items.length);
|
|
411
|
+
(0, vitest_1.expect)(logs.every((l) => l.performedBy === userEmail)).toBe(true);
|
|
411
412
|
});
|
|
412
413
|
});
|
|
413
|
-
describe('Aggregate', () => {
|
|
414
|
-
it('afterSave callback should create audit logs with user for each aggregated entity', async () => {
|
|
414
|
+
(0, vitest_1.describe)('Aggregate', () => {
|
|
415
|
+
(0, vitest_1.it)('afterSave callback should create audit logs with user for each aggregated entity', async () => {
|
|
415
416
|
await e2e_setup_1.server.post('/items/many', { list: [{ name: 'agg-1' }, { name: 'agg-2' }] }, auth());
|
|
416
417
|
const { body: items, status } = await e2e_setup_1.server.get('/items/aggregate', { ...auth(), query: { name: 'agg-1' } });
|
|
417
|
-
expect(status).toBe(200);
|
|
418
|
-
expect(items).toHaveLength(1);
|
|
419
|
-
expect(items[0].name).toBe('agg-1');
|
|
418
|
+
(0, vitest_1.expect)(status).toBe(200);
|
|
419
|
+
(0, vitest_1.expect)(items).toHaveLength(1);
|
|
420
|
+
(0, vitest_1.expect)(items[0].name).toBe('agg-1');
|
|
420
421
|
const logs = await getAuditLogs('Aggregate');
|
|
421
|
-
expect(logs).toHaveLength(1);
|
|
422
|
-
expect(logs[0]).toEqual(expect.objectContaining({
|
|
422
|
+
(0, vitest_1.expect)(logs).toHaveLength(1);
|
|
423
|
+
(0, vitest_1.expect)(logs[0]).toEqual(vitest_1.expect.objectContaining({
|
|
423
424
|
entityId: items[0].id,
|
|
424
425
|
performedBy: userEmail,
|
|
425
426
|
}));
|
|
426
427
|
});
|
|
427
428
|
});
|
|
428
429
|
});
|
|
429
|
-
describe('Callbacks receive authenticated user via WebSocket (e2e)', () => {
|
|
430
|
+
(0, vitest_1.describe)('Callbacks receive authenticated user via WebSocket (e2e)', () => {
|
|
430
431
|
const { UserEntity, ItemEntity, AuditLogEntity } = buildEntities('cb-ws');
|
|
431
432
|
const callbacks = buildCallbacks(AuditLogEntity, 'WS-');
|
|
432
433
|
const wsRoutes = buildRoutes(callbacks, { webSocket: true });
|
|
433
434
|
let accessToken;
|
|
434
435
|
const userEmail = 'ws-cb-test@test.co';
|
|
435
436
|
const userPassword = 'test';
|
|
436
|
-
beforeEach(async () => {
|
|
437
|
+
(0, vitest_1.beforeEach)(async () => {
|
|
437
438
|
src_1.DynamicApiModule.state['resetState']();
|
|
438
439
|
const uri = process.env.MONGO_DB_URL;
|
|
439
440
|
const moduleRef = await testing_1.Test.createTestingModule({
|
|
@@ -458,7 +459,7 @@ describe('Callbacks receive authenticated user via WebSocket (e2e)', () => {
|
|
|
458
459
|
const registerResult = await e2e_setup_1.server.emit('auth-register', { email: userEmail, password: userPassword });
|
|
459
460
|
accessToken = registerResult.accessToken;
|
|
460
461
|
});
|
|
461
|
-
afterEach(async () => {
|
|
462
|
+
(0, vitest_1.afterEach)(async () => {
|
|
462
463
|
await (0, e2e_setup_1.closeTestingApp)(mongoose_2.default.connections);
|
|
463
464
|
});
|
|
464
465
|
const wsAuth = () => ({ accessToken });
|
|
@@ -466,151 +467,151 @@ describe('Callbacks receive authenticated user via WebSocket (e2e)', () => {
|
|
|
466
467
|
const { body } = await e2e_setup_1.server.get('/audit-logs', { authToken: accessToken });
|
|
467
468
|
return body.filter((log) => log.action === action);
|
|
468
469
|
};
|
|
469
|
-
describe('CreateOne', () => {
|
|
470
|
-
it('beforeSaveCallback should set createdBy from socket user and afterSave should create audit log', async () => {
|
|
470
|
+
(0, vitest_1.describe)('CreateOne', () => {
|
|
471
|
+
(0, vitest_1.it)('beforeSaveCallback should set createdBy from socket user and afterSave should create audit log', async () => {
|
|
471
472
|
const result = await e2e_setup_1.server.emit('create-one-item-entity', { name: 'ws-item-1' }, wsAuth());
|
|
472
|
-
expect(result).toEqual(expect.objectContaining({ name: 'ws-item-1', createdBy: userEmail }));
|
|
473
|
+
(0, vitest_1.expect)(result).toEqual(vitest_1.expect.objectContaining({ name: 'ws-item-1', createdBy: userEmail }));
|
|
473
474
|
const logs = await getAuditLogs('WS-CreateOne');
|
|
474
|
-
expect(logs).toHaveLength(1);
|
|
475
|
-
expect(logs[0]).toEqual(expect.objectContaining({
|
|
475
|
+
(0, vitest_1.expect)(logs).toHaveLength(1);
|
|
476
|
+
(0, vitest_1.expect)(logs[0]).toEqual(vitest_1.expect.objectContaining({
|
|
476
477
|
action: 'WS-CreateOne',
|
|
477
478
|
entityId: result.id,
|
|
478
479
|
performedBy: userEmail,
|
|
479
480
|
}));
|
|
480
481
|
});
|
|
481
482
|
});
|
|
482
|
-
describe('CreateMany', () => {
|
|
483
|
-
it('beforeSaveCallback should set createdBy from socket user and afterSave should create audit logs', async () => {
|
|
483
|
+
(0, vitest_1.describe)('CreateMany', () => {
|
|
484
|
+
(0, vitest_1.it)('beforeSaveCallback should set createdBy from socket user and afterSave should create audit logs', async () => {
|
|
484
485
|
const result = await e2e_setup_1.server.emit('create-many-item-entity', { list: [{ name: 'ws-a' }, { name: 'ws-b' }] }, wsAuth());
|
|
485
|
-
expect(result).toHaveLength(2);
|
|
486
|
-
expect(result[0].createdBy).toBe(userEmail);
|
|
487
|
-
expect(result[1].createdBy).toBe(userEmail);
|
|
486
|
+
(0, vitest_1.expect)(result).toHaveLength(2);
|
|
487
|
+
(0, vitest_1.expect)(result[0].createdBy).toBe(userEmail);
|
|
488
|
+
(0, vitest_1.expect)(result[1].createdBy).toBe(userEmail);
|
|
488
489
|
const logs = await getAuditLogs('WS-CreateMany');
|
|
489
|
-
expect(logs).toHaveLength(2);
|
|
490
|
-
expect(logs.every((l) => l.performedBy === userEmail)).toBe(true);
|
|
490
|
+
(0, vitest_1.expect)(logs).toHaveLength(2);
|
|
491
|
+
(0, vitest_1.expect)(logs.every((l) => l.performedBy === userEmail)).toBe(true);
|
|
491
492
|
});
|
|
492
493
|
});
|
|
493
|
-
describe('UpdateOne', () => {
|
|
494
|
-
it('beforeSaveCallback should set updatedBy from socket user and afterSave should create audit log', async () => {
|
|
494
|
+
(0, vitest_1.describe)('UpdateOne', () => {
|
|
495
|
+
(0, vitest_1.it)('beforeSaveCallback should set updatedBy from socket user and afterSave should create audit log', async () => {
|
|
495
496
|
const created = await e2e_setup_1.server.emit('create-one-item-entity', { name: 'ws-to-update' }, wsAuth());
|
|
496
497
|
const updated = await e2e_setup_1.server.emit('update-one-item-entity', { id: created.id, name: 'ws-updated' }, wsAuth());
|
|
497
|
-
expect(updated.updatedBy).toBe(userEmail);
|
|
498
|
-
expect(updated.name).toBe('ws-updated');
|
|
498
|
+
(0, vitest_1.expect)(updated.updatedBy).toBe(userEmail);
|
|
499
|
+
(0, vitest_1.expect)(updated.name).toBe('ws-updated');
|
|
499
500
|
const logs = await getAuditLogs('WS-UpdateOne');
|
|
500
|
-
expect(logs).toHaveLength(1);
|
|
501
|
-
expect(logs[0].performedBy).toBe(userEmail);
|
|
501
|
+
(0, vitest_1.expect)(logs).toHaveLength(1);
|
|
502
|
+
(0, vitest_1.expect)(logs[0].performedBy).toBe(userEmail);
|
|
502
503
|
});
|
|
503
504
|
});
|
|
504
|
-
describe('UpdateMany', () => {
|
|
505
|
-
it('beforeSaveCallback should set updatedBy from socket user and afterSave should create audit logs', async () => {
|
|
505
|
+
(0, vitest_1.describe)('UpdateMany', () => {
|
|
506
|
+
(0, vitest_1.it)('beforeSaveCallback should set updatedBy from socket user and afterSave should create audit logs', async () => {
|
|
506
507
|
const items = await e2e_setup_1.server.emit('create-many-item-entity', { list: [{ name: 'ws-um-1' }, { name: 'ws-um-2' }] }, wsAuth());
|
|
507
508
|
const ids = items.map((i) => i.id);
|
|
508
509
|
const updated = await e2e_setup_1.server.emit('update-many-item-entity', { ids, name: 'ws-bulk-updated' }, wsAuth());
|
|
509
|
-
expect(updated).toHaveLength(2);
|
|
510
|
-
expect(updated.every((u) => u.updatedBy === userEmail)).toBe(true);
|
|
510
|
+
(0, vitest_1.expect)(updated).toHaveLength(2);
|
|
511
|
+
(0, vitest_1.expect)(updated.every((u) => u.updatedBy === userEmail)).toBe(true);
|
|
511
512
|
const logs = await getAuditLogs('WS-UpdateMany');
|
|
512
|
-
expect(logs).toHaveLength(2);
|
|
513
|
-
expect(logs.every((l) => l.performedBy === userEmail)).toBe(true);
|
|
513
|
+
(0, vitest_1.expect)(logs).toHaveLength(2);
|
|
514
|
+
(0, vitest_1.expect)(logs.every((l) => l.performedBy === userEmail)).toBe(true);
|
|
514
515
|
});
|
|
515
516
|
});
|
|
516
|
-
describe('ReplaceOne', () => {
|
|
517
|
-
it('beforeSaveCallback should set updatedBy from socket user and afterSave should create audit log', async () => {
|
|
517
|
+
(0, vitest_1.describe)('ReplaceOne', () => {
|
|
518
|
+
(0, vitest_1.it)('beforeSaveCallback should set updatedBy from socket user and afterSave should create audit log', async () => {
|
|
518
519
|
const created = await e2e_setup_1.server.emit('create-one-item-entity', { name: 'ws-to-replace' }, wsAuth());
|
|
519
520
|
const replaced = await e2e_setup_1.server.emit('replace-one-item-entity', { id: created.id, name: 'ws-replaced' }, wsAuth());
|
|
520
|
-
expect(replaced.updatedBy).toBe(userEmail);
|
|
521
|
-
expect(replaced.name).toBe('ws-replaced');
|
|
521
|
+
(0, vitest_1.expect)(replaced.updatedBy).toBe(userEmail);
|
|
522
|
+
(0, vitest_1.expect)(replaced.name).toBe('ws-replaced');
|
|
522
523
|
const logs = await getAuditLogs('WS-ReplaceOne');
|
|
523
|
-
expect(logs).toHaveLength(1);
|
|
524
|
-
expect(logs[0].performedBy).toBe(userEmail);
|
|
524
|
+
(0, vitest_1.expect)(logs).toHaveLength(1);
|
|
525
|
+
(0, vitest_1.expect)(logs[0].performedBy).toBe(userEmail);
|
|
525
526
|
});
|
|
526
527
|
});
|
|
527
|
-
describe('DuplicateOne', () => {
|
|
528
|
-
it('beforeSaveCallback should set createdBy from socket user and afterSave should create audit log', async () => {
|
|
528
|
+
(0, vitest_1.describe)('DuplicateOne', () => {
|
|
529
|
+
(0, vitest_1.it)('beforeSaveCallback should set createdBy from socket user and afterSave should create audit log', async () => {
|
|
529
530
|
const created = await e2e_setup_1.server.emit('create-one-item-entity', { name: 'ws-to-dup' }, wsAuth());
|
|
530
531
|
const duplicated = await e2e_setup_1.server.emit('duplicate-one-item-entity', { id: created.id, name: 'ws-dup-name' }, wsAuth());
|
|
531
|
-
expect(duplicated.createdBy).toBe(userEmail);
|
|
532
|
+
(0, vitest_1.expect)(duplicated.createdBy).toBe(userEmail);
|
|
532
533
|
const logs = await getAuditLogs('WS-DuplicateOne');
|
|
533
|
-
expect(logs).toHaveLength(1);
|
|
534
|
-
expect(logs[0]).toEqual(expect.objectContaining({
|
|
534
|
+
(0, vitest_1.expect)(logs).toHaveLength(1);
|
|
535
|
+
(0, vitest_1.expect)(logs[0]).toEqual(vitest_1.expect.objectContaining({
|
|
535
536
|
entityId: duplicated.id,
|
|
536
537
|
performedBy: userEmail,
|
|
537
538
|
}));
|
|
538
539
|
});
|
|
539
540
|
});
|
|
540
|
-
describe('DuplicateMany', () => {
|
|
541
|
-
it('beforeSaveCallback should set createdBy from socket user and afterSave should create audit logs', async () => {
|
|
541
|
+
(0, vitest_1.describe)('DuplicateMany', () => {
|
|
542
|
+
(0, vitest_1.it)('beforeSaveCallback should set createdBy from socket user and afterSave should create audit logs', async () => {
|
|
542
543
|
const items = await e2e_setup_1.server.emit('create-many-item-entity', { list: [{ name: 'ws-dm-1' }, { name: 'ws-dm-2' }] }, wsAuth());
|
|
543
544
|
const ids = items.map((i) => i.id);
|
|
544
545
|
const duplicated = await e2e_setup_1.server.emit('duplicate-many-item-entity', { ids }, wsAuth());
|
|
545
|
-
expect(duplicated).toHaveLength(2);
|
|
546
|
-
expect(duplicated.every((d) => d.createdBy === userEmail)).toBe(true);
|
|
546
|
+
(0, vitest_1.expect)(duplicated).toHaveLength(2);
|
|
547
|
+
(0, vitest_1.expect)(duplicated.every((d) => d.createdBy === userEmail)).toBe(true);
|
|
547
548
|
const logs = await getAuditLogs('WS-DuplicateMany');
|
|
548
|
-
expect(logs).toHaveLength(2);
|
|
549
|
-
expect(logs.every((l) => l.performedBy === userEmail)).toBe(true);
|
|
549
|
+
(0, vitest_1.expect)(logs).toHaveLength(2);
|
|
550
|
+
(0, vitest_1.expect)(logs.every((l) => l.performedBy === userEmail)).toBe(true);
|
|
550
551
|
});
|
|
551
552
|
});
|
|
552
|
-
describe('DeleteOne', () => {
|
|
553
|
-
it('beforeSaveCallback and afterSave should both create audit logs with socket user', async () => {
|
|
553
|
+
(0, vitest_1.describe)('DeleteOne', () => {
|
|
554
|
+
(0, vitest_1.it)('beforeSaveCallback and afterSave should both create audit logs with socket user', async () => {
|
|
554
555
|
const created = await e2e_setup_1.server.emit('create-one-item-entity', { name: 'ws-to-delete' }, wsAuth());
|
|
555
556
|
const deleteResult = await e2e_setup_1.server.emit('delete-one-item-entity', { id: created.id }, wsAuth());
|
|
556
|
-
expect(deleteResult.deletedCount).toBe(1);
|
|
557
|
+
(0, vitest_1.expect)(deleteResult.deletedCount).toBe(1);
|
|
557
558
|
const beforeLogs = await getAuditLogs('WS-DeleteOne-before');
|
|
558
|
-
expect(beforeLogs).toHaveLength(1);
|
|
559
|
-
expect(beforeLogs[0].performedBy).toBe(userEmail);
|
|
559
|
+
(0, vitest_1.expect)(beforeLogs).toHaveLength(1);
|
|
560
|
+
(0, vitest_1.expect)(beforeLogs[0].performedBy).toBe(userEmail);
|
|
560
561
|
const afterLogs = await getAuditLogs('WS-DeleteOne');
|
|
561
|
-
expect(afterLogs).toHaveLength(1);
|
|
562
|
-
expect(afterLogs[0]).toEqual(expect.objectContaining({
|
|
562
|
+
(0, vitest_1.expect)(afterLogs).toHaveLength(1);
|
|
563
|
+
(0, vitest_1.expect)(afterLogs[0]).toEqual(vitest_1.expect.objectContaining({
|
|
563
564
|
entityId: created.id,
|
|
564
565
|
performedBy: userEmail,
|
|
565
566
|
}));
|
|
566
567
|
});
|
|
567
568
|
});
|
|
568
|
-
describe('DeleteMany', () => {
|
|
569
|
-
it('beforeSaveCallback and afterSave should both create audit logs with socket user', async () => {
|
|
569
|
+
(0, vitest_1.describe)('DeleteMany', () => {
|
|
570
|
+
(0, vitest_1.it)('beforeSaveCallback and afterSave should both create audit logs with socket user', async () => {
|
|
570
571
|
const items = await e2e_setup_1.server.emit('create-many-item-entity', { list: [{ name: 'ws-del-1' }, { name: 'ws-del-2' }] }, wsAuth());
|
|
571
572
|
const ids = items.map((i) => i.id);
|
|
572
573
|
const deleteResult = await e2e_setup_1.server.emit('delete-many-item-entity', { ids }, wsAuth());
|
|
573
|
-
expect(deleteResult.deletedCount).toBe(2);
|
|
574
|
+
(0, vitest_1.expect)(deleteResult.deletedCount).toBe(2);
|
|
574
575
|
const beforeLogs = await getAuditLogs('WS-DeleteMany-before');
|
|
575
|
-
expect(beforeLogs).toHaveLength(2);
|
|
576
|
-
expect(beforeLogs.every((l) => l.performedBy === userEmail)).toBe(true);
|
|
576
|
+
(0, vitest_1.expect)(beforeLogs).toHaveLength(2);
|
|
577
|
+
(0, vitest_1.expect)(beforeLogs.every((l) => l.performedBy === userEmail)).toBe(true);
|
|
577
578
|
const afterLogs = await getAuditLogs('WS-DeleteMany');
|
|
578
|
-
expect(afterLogs).toHaveLength(2);
|
|
579
|
-
expect(afterLogs.every((l) => l.performedBy === userEmail)).toBe(true);
|
|
579
|
+
(0, vitest_1.expect)(afterLogs).toHaveLength(2);
|
|
580
|
+
(0, vitest_1.expect)(afterLogs.every((l) => l.performedBy === userEmail)).toBe(true);
|
|
580
581
|
});
|
|
581
582
|
});
|
|
582
|
-
describe('GetOne', () => {
|
|
583
|
-
it('afterSave callback should create audit log with socket user', async () => {
|
|
583
|
+
(0, vitest_1.describe)('GetOne', () => {
|
|
584
|
+
(0, vitest_1.it)('afterSave callback should create audit log with socket user', async () => {
|
|
584
585
|
const created = await e2e_setup_1.server.emit('create-one-item-entity', { name: 'ws-get-one-item' }, wsAuth());
|
|
585
586
|
const result = await e2e_setup_1.server.emit('get-one-item-entity', { id: created.id }, wsAuth());
|
|
586
|
-
expect(result).toEqual(expect.objectContaining({ id: created.id }));
|
|
587
|
+
(0, vitest_1.expect)(result).toEqual(vitest_1.expect.objectContaining({ id: created.id }));
|
|
587
588
|
const logs = await getAuditLogs('WS-GetOne');
|
|
588
|
-
expect(logs).toHaveLength(1);
|
|
589
|
-
expect(logs[0]).toEqual(expect.objectContaining({
|
|
589
|
+
(0, vitest_1.expect)(logs).toHaveLength(1);
|
|
590
|
+
(0, vitest_1.expect)(logs[0]).toEqual(vitest_1.expect.objectContaining({
|
|
590
591
|
entityId: created.id,
|
|
591
592
|
performedBy: userEmail,
|
|
592
593
|
}));
|
|
593
594
|
});
|
|
594
595
|
});
|
|
595
|
-
describe('GetMany', () => {
|
|
596
|
-
it('afterSave callback should create audit logs with socket user for each returned entity', async () => {
|
|
596
|
+
(0, vitest_1.describe)('GetMany', () => {
|
|
597
|
+
(0, vitest_1.it)('afterSave callback should create audit logs with socket user for each returned entity', async () => {
|
|
597
598
|
const items = await e2e_setup_1.server.emit('create-many-item-entity', { list: [{ name: 'ws-gm-1' }, { name: 'ws-gm-2' }] }, wsAuth());
|
|
598
599
|
const result = await e2e_setup_1.server.emit('get-many-item-entity', {}, wsAuth());
|
|
599
|
-
expect(result.length).toBeGreaterThanOrEqual(items.length);
|
|
600
|
+
(0, vitest_1.expect)(result.length).toBeGreaterThanOrEqual(items.length);
|
|
600
601
|
const logs = await getAuditLogs('WS-GetMany');
|
|
601
|
-
expect(logs.length).toBe(result.length);
|
|
602
|
-
expect(logs.every((l) => l.performedBy === userEmail)).toBe(true);
|
|
602
|
+
(0, vitest_1.expect)(logs.length).toBe(result.length);
|
|
603
|
+
(0, vitest_1.expect)(logs.every((l) => l.performedBy === userEmail)).toBe(true);
|
|
603
604
|
});
|
|
604
605
|
});
|
|
605
|
-
describe('Aggregate', () => {
|
|
606
|
-
it('afterSave callback should create audit logs with socket user for each aggregated entity', async () => {
|
|
606
|
+
(0, vitest_1.describe)('Aggregate', () => {
|
|
607
|
+
(0, vitest_1.it)('afterSave callback should create audit logs with socket user for each aggregated entity', async () => {
|
|
607
608
|
await e2e_setup_1.server.emit('create-many-item-entity', { list: [{ name: 'ws-agg-1' }, { name: 'ws-agg-2' }] }, wsAuth());
|
|
608
609
|
const result = await e2e_setup_1.server.emit('aggregate-aggregate-item-entity', { name: 'ws-agg-1' }, wsAuth());
|
|
609
|
-
expect(result).toHaveLength(1);
|
|
610
|
-
expect(result[0].name).toBe('ws-agg-1');
|
|
610
|
+
(0, vitest_1.expect)(result).toHaveLength(1);
|
|
611
|
+
(0, vitest_1.expect)(result[0].name).toBe('ws-agg-1');
|
|
611
612
|
const logs = await getAuditLogs('WS-Aggregate');
|
|
612
|
-
expect(logs).toHaveLength(1);
|
|
613
|
-
expect(logs[0]).toEqual(expect.objectContaining({
|
|
613
|
+
(0, vitest_1.expect)(logs).toHaveLength(1);
|
|
614
|
+
(0, vitest_1.expect)(logs[0]).toEqual(vitest_1.expect.objectContaining({
|
|
614
615
|
entityId: result[0].id,
|
|
615
616
|
performedBy: userEmail,
|
|
616
617
|
}));
|