@baseplate-dev/fastify-generators 0.1.1
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/LICENSE +390 -0
- package/dist/constants/fastify-packages.d.ts +56 -0
- package/dist/constants/fastify-packages.d.ts.map +1 -0
- package/dist/constants/fastify-packages.js +71 -0
- package/dist/constants/fastify-packages.js.map +1 -0
- package/dist/constants/index.d.ts +2 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +2 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/generators/auth/_providers/index.d.ts +2 -0
- package/dist/generators/auth/_providers/index.d.ts.map +1 -0
- package/dist/generators/auth/_providers/index.js +2 -0
- package/dist/generators/auth/_providers/index.js.map +1 -0
- package/dist/generators/auth/_providers/user-session.d.ts +9 -0
- package/dist/generators/auth/_providers/user-session.d.ts.map +1 -0
- package/dist/generators/auth/_providers/user-session.js +7 -0
- package/dist/generators/auth/_providers/user-session.js.map +1 -0
- package/dist/generators/auth/auth-context/auth-context.generator.d.ts +56 -0
- package/dist/generators/auth/auth-context/auth-context.generator.d.ts.map +1 -0
- package/dist/generators/auth/auth-context/auth-context.generator.js +77 -0
- package/dist/generators/auth/auth-context/auth-context.generator.js.map +1 -0
- package/dist/generators/auth/auth-context/generated/ts-import-maps.d.ts +31 -0
- package/dist/generators/auth/auth-context/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/auth/auth-context/generated/ts-import-maps.js +24 -0
- package/dist/generators/auth/auth-context/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/auth/auth-context/generated/ts-templates.d.ts +70 -0
- package/dist/generators/auth/auth-context/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/auth/auth-context/generated/ts-templates.js +55 -0
- package/dist/generators/auth/auth-context/generated/ts-templates.js.map +1 -0
- package/dist/generators/auth/auth-context/templates/types/auth-context.types.ts +15 -0
- package/dist/generators/auth/auth-context/templates/types/auth-session.types.ts +31 -0
- package/dist/generators/auth/auth-context/templates/utils/auth-context.utils.ts +34 -0
- package/dist/generators/auth/auth-plugin/auth-plugin.generator.d.ts +32 -0
- package/dist/generators/auth/auth-plugin/auth-plugin.generator.d.ts.map +1 -0
- package/dist/generators/auth/auth-plugin/auth-plugin.generator.js +50 -0
- package/dist/generators/auth/auth-plugin/auth-plugin.generator.js.map +1 -0
- package/dist/generators/auth/auth-plugin/generated/ts-templates.d.ts +29 -0
- package/dist/generators/auth/auth-plugin/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/auth/auth-plugin/generated/ts-templates.js +17 -0
- package/dist/generators/auth/auth-plugin/generated/ts-templates.js.map +1 -0
- package/dist/generators/auth/auth-plugin/templates/auth.plugin.ts +39 -0
- package/dist/generators/auth/auth-roles/auth-roles.generator.d.ts +25 -0
- package/dist/generators/auth/auth-roles/auth-roles.generator.d.ts.map +1 -0
- package/dist/generators/auth/auth-roles/auth-roles.generator.js +62 -0
- package/dist/generators/auth/auth-roles/auth-roles.generator.js.map +1 -0
- package/dist/generators/auth/auth-roles/generated/ts-import-maps.d.ts +25 -0
- package/dist/generators/auth/auth-roles/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/auth/auth-roles/generated/ts-import-maps.js +22 -0
- package/dist/generators/auth/auth-roles/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/auth/auth-roles/generated/ts-templates.d.ts +6 -0
- package/dist/generators/auth/auth-roles/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/auth/auth-roles/generated/ts-templates.js +14 -0
- package/dist/generators/auth/auth-roles/generated/ts-templates.js.map +1 -0
- package/dist/generators/auth/auth-roles/templates/auth-roles.constants.ts +42 -0
- package/dist/generators/auth/auth-roles/templates/constants/auth-roles.constants.ts +42 -0
- package/dist/generators/auth/index.d.ts +9 -0
- package/dist/generators/auth/index.d.ts.map +1 -0
- package/dist/generators/auth/index.js +9 -0
- package/dist/generators/auth/index.js.map +1 -0
- package/dist/generators/auth/password-hasher-service/generated/ts-import-maps.d.ts +13 -0
- package/dist/generators/auth/password-hasher-service/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/auth/password-hasher-service/generated/ts-import-maps.js +18 -0
- package/dist/generators/auth/password-hasher-service/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/auth/password-hasher-service/generated/ts-templates.d.ts +4 -0
- package/dist/generators/auth/password-hasher-service/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/auth/password-hasher-service/generated/ts-templates.js +11 -0
- package/dist/generators/auth/password-hasher-service/generated/ts-templates.js.map +1 -0
- package/dist/generators/auth/password-hasher-service/password-hasher-service.generator.d.ts +14 -0
- package/dist/generators/auth/password-hasher-service/password-hasher-service.generator.d.ts.map +1 -0
- package/dist/generators/auth/password-hasher-service/password-hasher-service.generator.js +45 -0
- package/dist/generators/auth/password-hasher-service/password-hasher-service.generator.js.map +1 -0
- package/dist/generators/auth/password-hasher-service/templates/password-hasher.service.ts +25 -0
- package/dist/generators/auth/placeholder-auth-service/generated/ts-import-maps.d.ts +3 -0
- package/dist/generators/auth/placeholder-auth-service/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/auth/placeholder-auth-service/generated/ts-import-maps.js +12 -0
- package/dist/generators/auth/placeholder-auth-service/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/auth/placeholder-auth-service/generated/ts-templates.d.ts +13 -0
- package/dist/generators/auth/placeholder-auth-service/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/auth/placeholder-auth-service/generated/ts-templates.js +15 -0
- package/dist/generators/auth/placeholder-auth-service/generated/ts-templates.js.map +1 -0
- package/dist/generators/auth/placeholder-auth-service/placeholder-auth-service.generator.d.ts +24 -0
- package/dist/generators/auth/placeholder-auth-service/placeholder-auth-service.generator.d.ts.map +1 -0
- package/dist/generators/auth/placeholder-auth-service/placeholder-auth-service.generator.js +50 -0
- package/dist/generators/auth/placeholder-auth-service/placeholder-auth-service.generator.js.map +1 -0
- package/dist/generators/auth/placeholder-auth-service/templates/user-session.service.ts +34 -0
- package/dist/generators/auth/prisma-password-transformer/prisma-password-transformer.generator.d.ts +12 -0
- package/dist/generators/auth/prisma-password-transformer/prisma-password-transformer.generator.d.ts.map +1 -0
- package/dist/generators/auth/prisma-password-transformer/prisma-password-transformer.generator.js +48 -0
- package/dist/generators/auth/prisma-password-transformer/prisma-password-transformer.generator.js.map +1 -0
- package/dist/generators/auth/user-session-types/generated/ts-import-maps.d.ts +21 -0
- package/dist/generators/auth/user-session-types/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/auth/user-session-types/generated/ts-import-maps.js +18 -0
- package/dist/generators/auth/user-session-types/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/auth/user-session-types/generated/ts-templates.d.ts +18 -0
- package/dist/generators/auth/user-session-types/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/auth/user-session-types/generated/ts-templates.js +14 -0
- package/dist/generators/auth/user-session-types/generated/ts-templates.js.map +1 -0
- package/dist/generators/auth/user-session-types/templates/user-session.types.ts +40 -0
- package/dist/generators/auth/user-session-types/user-session-types.generator.d.ts +30 -0
- package/dist/generators/auth/user-session-types/user-session-types.generator.d.ts.map +1 -0
- package/dist/generators/auth/user-session-types/user-session-types.generator.js +45 -0
- package/dist/generators/auth/user-session-types/user-session-types.generator.js.map +1 -0
- package/dist/generators/bull/bull-mq/bull-mq.generator.d.ts +40 -0
- package/dist/generators/bull/bull-mq/bull-mq.generator.d.ts.map +1 -0
- package/dist/generators/bull/bull-mq/bull-mq.generator.js +89 -0
- package/dist/generators/bull/bull-mq/bull-mq.generator.js.map +1 -0
- package/dist/generators/bull/bull-mq/generated/ts-import-maps.d.ts +27 -0
- package/dist/generators/bull/bull-mq/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/bull/bull-mq/generated/ts-import-maps.js +24 -0
- package/dist/generators/bull/bull-mq/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/bull/bull-mq/generated/ts-templates.d.ts +101 -0
- package/dist/generators/bull/bull-mq/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/bull/bull-mq/generated/ts-templates.js +97 -0
- package/dist/generators/bull/bull-mq/generated/ts-templates.js.map +1 -0
- package/dist/generators/bull/bull-mq/templates/scripts/run-workers.ts +48 -0
- package/dist/generators/bull/bull-mq/templates/scripts/synchronize-repeat-jobs.ts +15 -0
- package/dist/generators/bull/bull-mq/templates/service/index.ts +5 -0
- package/dist/generators/bull/bull-mq/templates/service/queue.ts +45 -0
- package/dist/generators/bull/bull-mq/templates/service/repeatable.ts +83 -0
- package/dist/generators/bull/bull-mq/templates/service/worker.ts +38 -0
- package/dist/generators/bull/fastify-bull-board/fastify-bull-board.generator.d.ts +44 -0
- package/dist/generators/bull/fastify-bull-board/fastify-bull-board.generator.d.ts.map +1 -0
- package/dist/generators/bull/fastify-bull-board/fastify-bull-board.generator.js +88 -0
- package/dist/generators/bull/fastify-bull-board/fastify-bull-board.generator.js.map +1 -0
- package/dist/generators/bull/fastify-bull-board/generated/ts-templates.d.ts +53 -0
- package/dist/generators/bull/fastify-bull-board/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/bull/fastify-bull-board/generated/ts-templates.js +59 -0
- package/dist/generators/bull/fastify-bull-board/generated/ts-templates.js.map +1 -0
- package/dist/generators/bull/fastify-bull-board/templates/index.ts +9 -0
- package/dist/generators/bull/fastify-bull-board/templates/plugins/bull-board.ts +91 -0
- package/dist/generators/bull/fastify-bull-board/templates/schema/authenticate.mutations.ts +18 -0
- package/dist/generators/bull/fastify-bull-board/templates/services/auth.service.ts +62 -0
- package/dist/generators/bull/index.d.ts +3 -0
- package/dist/generators/bull/index.d.ts.map +1 -0
- package/dist/generators/bull/index.js +3 -0
- package/dist/generators/bull/index.js.map +1 -0
- package/dist/generators/core/_composers/fastify-composer.d.ts +4 -0
- package/dist/generators/core/_composers/fastify-composer.d.ts.map +1 -0
- package/dist/generators/core/_composers/fastify-composer.js +42 -0
- package/dist/generators/core/_composers/fastify-composer.js.map +1 -0
- package/dist/generators/core/_composers/index.d.ts +2 -0
- package/dist/generators/core/_composers/index.d.ts.map +1 -0
- package/dist/generators/core/_composers/index.js +2 -0
- package/dist/generators/core/_composers/index.js.map +1 -0
- package/dist/generators/core/app-module/app-module.generator.d.ts +36 -0
- package/dist/generators/core/app-module/app-module.generator.d.ts.map +1 -0
- package/dist/generators/core/app-module/app-module.generator.js +101 -0
- package/dist/generators/core/app-module/app-module.generator.js.map +1 -0
- package/dist/generators/core/app-module/generated/ts-templates.d.ts +12 -0
- package/dist/generators/core/app-module/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/app-module/generated/ts-templates.js +11 -0
- package/dist/generators/core/app-module/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/app-module/templates/index.ts +7 -0
- package/dist/generators/core/app-module-setup/app-module-setup.generator.d.ts +25 -0
- package/dist/generators/core/app-module-setup/app-module-setup.generator.d.ts.map +1 -0
- package/dist/generators/core/app-module-setup/app-module-setup.generator.js +58 -0
- package/dist/generators/core/app-module-setup/app-module-setup.generator.js.map +1 -0
- package/dist/generators/core/app-module-setup/generated/ts-import-maps.d.ts +11 -0
- package/dist/generators/core/app-module-setup/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/core/app-module-setup/generated/ts-import-maps.js +16 -0
- package/dist/generators/core/app-module-setup/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/core/app-module-setup/generated/ts-templates.d.ts +8 -0
- package/dist/generators/core/app-module-setup/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/app-module-setup/generated/ts-templates.js +13 -0
- package/dist/generators/core/app-module-setup/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/app-module-setup/templates/app-modules.ts +23 -0
- package/dist/generators/core/axios/axios.generator.d.ts +20 -0
- package/dist/generators/core/axios/axios.generator.d.ts.map +1 -0
- package/dist/generators/core/axios/axios.generator.js +55 -0
- package/dist/generators/core/axios/axios.generator.js.map +1 -0
- package/dist/generators/core/axios/generated/ts-import-maps.d.ts +11 -0
- package/dist/generators/core/axios/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/core/axios/generated/ts-import-maps.js +14 -0
- package/dist/generators/core/axios/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/core/axios/generated/ts-templates.d.ts +4 -0
- package/dist/generators/core/axios/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/axios/generated/ts-templates.js +9 -0
- package/dist/generators/core/axios/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/axios/templates/axios.ts +44 -0
- package/dist/generators/core/config-service/config-service.generator.d.ts +60 -0
- package/dist/generators/core/config-service/config-service.generator.d.ts.map +1 -0
- package/dist/generators/core/config-service/config-service.generator.js +114 -0
- package/dist/generators/core/config-service/config-service.generator.js.map +1 -0
- package/dist/generators/core/config-service/generated/ts-import-maps.d.ts +11 -0
- package/dist/generators/core/config-service/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/core/config-service/generated/ts-import-maps.js +14 -0
- package/dist/generators/core/config-service/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/core/config-service/generated/ts-templates.d.ts +6 -0
- package/dist/generators/core/config-service/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/config-service/generated/ts-templates.js +9 -0
- package/dist/generators/core/config-service/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/config-service/templates/config.ts +5 -0
- package/dist/generators/core/error-handler-service/error-handler-service.generator.d.ts +60 -0
- package/dist/generators/core/error-handler-service/error-handler-service.generator.d.ts.map +1 -0
- package/dist/generators/core/error-handler-service/error-handler-service.generator.js +103 -0
- package/dist/generators/core/error-handler-service/error-handler-service.generator.js.map +1 -0
- package/dist/generators/core/error-handler-service/generated/ts-import-maps.d.ts +25 -0
- package/dist/generators/core/error-handler-service/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/core/error-handler-service/generated/ts-import-maps.js +30 -0
- package/dist/generators/core/error-handler-service/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/core/error-handler-service/generated/ts-templates.d.ts +26 -0
- package/dist/generators/core/error-handler-service/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/error-handler-service/generated/ts-templates.js +50 -0
- package/dist/generators/core/error-handler-service/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/error-handler-service/templates/plugins/error-handler.ts +52 -0
- package/dist/generators/core/error-handler-service/templates/services/error-logger.ts +28 -0
- package/dist/generators/core/error-handler-service/templates/utils/http-errors.ts +62 -0
- package/dist/generators/core/error-handler-service/templates/utils/zod.ts +30 -0
- package/dist/generators/core/fastify/fastify.generator.d.ts +90 -0
- package/dist/generators/core/fastify/fastify.generator.d.ts.map +1 -0
- package/dist/generators/core/fastify/fastify.generator.js +123 -0
- package/dist/generators/core/fastify/fastify.generator.js.map +1 -0
- package/dist/generators/core/fastify/setup-fastify-typescript.d.ts +10 -0
- package/dist/generators/core/fastify/setup-fastify-typescript.d.ts.map +1 -0
- package/dist/generators/core/fastify/setup-fastify-typescript.js +28 -0
- package/dist/generators/core/fastify/setup-fastify-typescript.js.map +1 -0
- package/dist/generators/core/fastify-cookie-context/fastify-cookie-context.generator.d.ts +20 -0
- package/dist/generators/core/fastify-cookie-context/fastify-cookie-context.generator.d.ts.map +1 -0
- package/dist/generators/core/fastify-cookie-context/fastify-cookie-context.generator.js +56 -0
- package/dist/generators/core/fastify-cookie-context/fastify-cookie-context.generator.js.map +1 -0
- package/dist/generators/core/fastify-graceful-shutdown/fastify-graceful-shutdown.generator.d.ts +27 -0
- package/dist/generators/core/fastify-graceful-shutdown/fastify-graceful-shutdown.generator.d.ts.map +1 -0
- package/dist/generators/core/fastify-graceful-shutdown/fastify-graceful-shutdown.generator.js +44 -0
- package/dist/generators/core/fastify-graceful-shutdown/fastify-graceful-shutdown.generator.js.map +1 -0
- package/dist/generators/core/fastify-graceful-shutdown/generated/ts-templates.d.ts +18 -0
- package/dist/generators/core/fastify-graceful-shutdown/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/fastify-graceful-shutdown/generated/ts-templates.js +15 -0
- package/dist/generators/core/fastify-graceful-shutdown/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/fastify-graceful-shutdown/templates/graceful-shutdown.ts +33 -0
- package/dist/generators/core/fastify-health-check/fastify-health-check.generator.d.ts +23 -0
- package/dist/generators/core/fastify-health-check/fastify-health-check.generator.d.ts.map +1 -0
- package/dist/generators/core/fastify-health-check/fastify-health-check.generator.js +53 -0
- package/dist/generators/core/fastify-health-check/fastify-health-check.generator.js.map +1 -0
- package/dist/generators/core/fastify-health-check/generated/ts-templates.d.ts +6 -0
- package/dist/generators/core/fastify-health-check/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/fastify-health-check/generated/ts-templates.js +9 -0
- package/dist/generators/core/fastify-health-check/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/fastify-health-check/templates/health-check.ts +15 -0
- package/dist/generators/core/fastify-redis/fastify-redis.generator.d.ts +33 -0
- package/dist/generators/core/fastify-redis/fastify-redis.generator.d.ts.map +1 -0
- package/dist/generators/core/fastify-redis/fastify-redis.generator.js +79 -0
- package/dist/generators/core/fastify-redis/fastify-redis.generator.js.map +1 -0
- package/dist/generators/core/fastify-redis/generated/ts-import-maps.d.ts +13 -0
- package/dist/generators/core/fastify-redis/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/core/fastify-redis/generated/ts-import-maps.js +18 -0
- package/dist/generators/core/fastify-redis/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/core/fastify-redis/generated/ts-templates.d.ts +9 -0
- package/dist/generators/core/fastify-redis/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/fastify-redis/generated/ts-templates.js +17 -0
- package/dist/generators/core/fastify-redis/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/fastify-redis/templates/mock-redis.ts +41 -0
- package/dist/generators/core/fastify-redis/templates/redis.ts +17 -0
- package/dist/generators/core/fastify-scripts/fastify-scripts.generator.d.ts +13 -0
- package/dist/generators/core/fastify-scripts/fastify-scripts.generator.d.ts.map +1 -0
- package/dist/generators/core/fastify-scripts/fastify-scripts.generator.js +48 -0
- package/dist/generators/core/fastify-scripts/fastify-scripts.generator.js.map +1 -0
- package/dist/generators/core/fastify-scripts/generated/raw-templates.d.ts +4 -0
- package/dist/generators/core/fastify-scripts/generated/raw-templates.d.ts.map +1 -0
- package/dist/generators/core/fastify-scripts/generated/raw-templates.js +9 -0
- package/dist/generators/core/fastify-scripts/generated/raw-templates.js.map +1 -0
- package/dist/generators/core/fastify-scripts/templates/tsconfig.tpl.json +8 -0
- package/dist/generators/core/fastify-sentry/fastify-sentry.generator.d.ts +92 -0
- package/dist/generators/core/fastify-sentry/fastify-sentry.generator.d.ts.map +1 -0
- package/dist/generators/core/fastify-sentry/fastify-sentry.generator.js +162 -0
- package/dist/generators/core/fastify-sentry/fastify-sentry.generator.js.map +1 -0
- package/dist/generators/core/fastify-sentry/generated/ts-import-maps.d.ts +17 -0
- package/dist/generators/core/fastify-sentry/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/core/fastify-sentry/generated/ts-import-maps.js +22 -0
- package/dist/generators/core/fastify-sentry/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/core/fastify-sentry/generated/ts-templates.d.ts +28 -0
- package/dist/generators/core/fastify-sentry/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/fastify-sentry/generated/ts-templates.js +27 -0
- package/dist/generators/core/fastify-sentry/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/fastify-sentry/templates/instrument.ts +41 -0
- package/dist/generators/core/fastify-sentry/templates/services/sentry.ts +72 -0
- package/dist/generators/core/fastify-server/fastify-server.generator.d.ts +70 -0
- package/dist/generators/core/fastify-server/fastify-server.generator.d.ts.map +1 -0
- package/dist/generators/core/fastify-server/fastify-server.generator.js +127 -0
- package/dist/generators/core/fastify-server/fastify-server.generator.js.map +1 -0
- package/dist/generators/core/fastify-server/generated/ts-templates.d.ts +18 -0
- package/dist/generators/core/fastify-server/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/fastify-server/generated/ts-templates.js +25 -0
- package/dist/generators/core/fastify-server/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/fastify-server/templates/index.ts +19 -0
- package/dist/generators/core/fastify-server/templates/server.ts +31 -0
- package/dist/generators/core/index.d.ts +21 -0
- package/dist/generators/core/index.d.ts.map +1 -0
- package/dist/generators/core/index.js +21 -0
- package/dist/generators/core/index.js.map +1 -0
- package/dist/generators/core/logger-service/generated/ts-import-maps.d.ts +11 -0
- package/dist/generators/core/logger-service/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/core/logger-service/generated/ts-import-maps.js +14 -0
- package/dist/generators/core/logger-service/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/core/logger-service/generated/ts-templates.d.ts +6 -0
- package/dist/generators/core/logger-service/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/logger-service/generated/ts-templates.js +9 -0
- package/dist/generators/core/logger-service/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/logger-service/logger-service.generator.d.ts +28 -0
- package/dist/generators/core/logger-service/logger-service.generator.d.ts.map +1 -0
- package/dist/generators/core/logger-service/logger-service.generator.js +75 -0
- package/dist/generators/core/logger-service/logger-service.generator.js.map +1 -0
- package/dist/generators/core/logger-service/templates/logger.ts +5 -0
- package/dist/generators/core/readme/generated/text-templates.d.ts +8 -0
- package/dist/generators/core/readme/generated/text-templates.d.ts.map +1 -0
- package/dist/generators/core/readme/generated/text-templates.js +10 -0
- package/dist/generators/core/readme/generated/text-templates.js.map +1 -0
- package/dist/generators/core/readme/readme.generator.d.ts +8 -0
- package/dist/generators/core/readme/readme.generator.d.ts.map +1 -0
- package/dist/generators/core/readme/readme.generator.js +37 -0
- package/dist/generators/core/readme/readme.generator.js.map +1 -0
- package/dist/generators/core/readme/templates/README.md +26 -0
- package/dist/generators/core/request-context/generated/ts-import-maps.d.ts +15 -0
- package/dist/generators/core/request-context/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/core/request-context/generated/ts-import-maps.js +16 -0
- package/dist/generators/core/request-context/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/core/request-context/generated/ts-templates.d.ts +4 -0
- package/dist/generators/core/request-context/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/request-context/generated/ts-templates.js +9 -0
- package/dist/generators/core/request-context/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/request-context/request-context.generator.d.ts +27 -0
- package/dist/generators/core/request-context/request-context.generator.d.ts.map +1 -0
- package/dist/generators/core/request-context/request-context.generator.js +59 -0
- package/dist/generators/core/request-context/request-context.generator.js.map +1 -0
- package/dist/generators/core/request-context/templates/request-context.ts +50 -0
- package/dist/generators/core/request-service-context/generated/ts-import-maps.d.ts +17 -0
- package/dist/generators/core/request-service-context/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/core/request-service-context/generated/ts-import-maps.js +18 -0
- package/dist/generators/core/request-service-context/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/core/request-service-context/generated/ts-templates.d.ts +16 -0
- package/dist/generators/core/request-service-context/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/request-service-context/generated/ts-templates.js +20 -0
- package/dist/generators/core/request-service-context/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/request-service-context/request-service-context.generator.d.ts +46 -0
- package/dist/generators/core/request-service-context/request-service-context.generator.d.ts.map +1 -0
- package/dist/generators/core/request-service-context/request-service-context.generator.js +73 -0
- package/dist/generators/core/request-service-context/request-service-context.generator.js.map +1 -0
- package/dist/generators/core/request-service-context/templates/request-service-context.ts +17 -0
- package/dist/generators/core/service-context/generated/ts-import-maps.d.ts +19 -0
- package/dist/generators/core/service-context/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/core/service-context/generated/ts-import-maps.js +20 -0
- package/dist/generators/core/service-context/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/core/service-context/generated/ts-templates.d.ts +12 -0
- package/dist/generators/core/service-context/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/service-context/generated/ts-templates.js +22 -0
- package/dist/generators/core/service-context/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/service-context/service-context.generator.d.ts +53 -0
- package/dist/generators/core/service-context/service-context.generator.d.ts.map +1 -0
- package/dist/generators/core/service-context/service-context.generator.js +87 -0
- package/dist/generators/core/service-context/service-context.generator.js.map +1 -0
- package/dist/generators/core/service-context/templates/service-context.test-helper.ts +9 -0
- package/dist/generators/core/service-context/templates/service-context.ts +9 -0
- package/dist/generators/core/service-file/service-file.generator.d.ts +58 -0
- package/dist/generators/core/service-file/service-file.generator.d.ts.map +1 -0
- package/dist/generators/core/service-file/service-file.generator.js +85 -0
- package/dist/generators/core/service-file/service-file.generator.js.map +1 -0
- package/dist/generators/email/fastify-postmark/fastify-postmark.generator.d.ts +19 -0
- package/dist/generators/email/fastify-postmark/fastify-postmark.generator.d.ts.map +1 -0
- package/dist/generators/email/fastify-postmark/fastify-postmark.generator.js +65 -0
- package/dist/generators/email/fastify-postmark/fastify-postmark.generator.js.map +1 -0
- package/dist/generators/email/fastify-postmark/generated/ts-templates.d.ts +11 -0
- package/dist/generators/email/fastify-postmark/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/email/fastify-postmark/generated/ts-templates.js +11 -0
- package/dist/generators/email/fastify-postmark/generated/ts-templates.js.map +1 -0
- package/dist/generators/email/fastify-postmark/templates/postmark.ts +60 -0
- package/dist/generators/email/index.d.ts +2 -0
- package/dist/generators/email/index.d.ts.map +1 -0
- package/dist/generators/email/index.js +2 -0
- package/dist/generators/email/index.js.map +1 -0
- package/dist/generators/index.d.ts +10 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/index.js +10 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/generators/pothos/_providers/index.d.ts +4 -0
- package/dist/generators/pothos/_providers/index.d.ts.map +1 -0
- package/dist/generators/pothos/_providers/index.js +4 -0
- package/dist/generators/pothos/_providers/index.js.map +1 -0
- package/dist/generators/pothos/_providers/pothos-field.d.ts +10 -0
- package/dist/generators/pothos/_providers/pothos-field.d.ts.map +1 -0
- package/dist/generators/pothos/_providers/pothos-field.js +3 -0
- package/dist/generators/pothos/_providers/pothos-field.js.map +1 -0
- package/dist/generators/pothos/_providers/pothos-type-output.d.ts +15 -0
- package/dist/generators/pothos/_providers/pothos-type-output.d.ts.map +1 -0
- package/dist/generators/pothos/_providers/pothos-type-output.js +6 -0
- package/dist/generators/pothos/_providers/pothos-type-output.js.map +1 -0
- package/dist/generators/pothos/_providers/scopes.d.ts +2 -0
- package/dist/generators/pothos/_providers/scopes.d.ts.map +1 -0
- package/dist/generators/pothos/_providers/scopes.js +3 -0
- package/dist/generators/pothos/_providers/scopes.js.map +1 -0
- package/dist/generators/pothos/index.d.ts +16 -0
- package/dist/generators/pothos/index.d.ts.map +1 -0
- package/dist/generators/pothos/index.js +16 -0
- package/dist/generators/pothos/index.js.map +1 -0
- package/dist/generators/pothos/pothos/generated/ts-import-maps.d.ts +11 -0
- package/dist/generators/pothos/pothos/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/pothos/pothos/generated/ts-import-maps.js +14 -0
- package/dist/generators/pothos/pothos/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/pothos/pothos/generated/ts-templates.d.ts +36 -0
- package/dist/generators/pothos/pothos/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/pothos/pothos/generated/ts-templates.js +63 -0
- package/dist/generators/pothos/pothos/generated/ts-templates.js.map +1 -0
- package/dist/generators/pothos/pothos/pothos.generator.d.ts +93 -0
- package/dist/generators/pothos/pothos/pothos.generator.d.ts.map +1 -0
- package/dist/generators/pothos/pothos/pothos.generator.js +238 -0
- package/dist/generators/pothos/pothos/pothos.generator.js.map +1 -0
- package/dist/generators/pothos/pothos/templates/FieldWithInputPayloadPlugin/global-types.ts +92 -0
- package/dist/generators/pothos/pothos/templates/FieldWithInputPayloadPlugin/index.ts +21 -0
- package/dist/generators/pothos/pothos/templates/FieldWithInputPayloadPlugin/schema-builder.ts +103 -0
- package/dist/generators/pothos/pothos/templates/FieldWithInputPayloadPlugin/types.ts +49 -0
- package/dist/generators/pothos/pothos/templates/builder.ts +11 -0
- package/dist/generators/pothos/pothos/templates/strip-query-mutation-plugin.ts +60 -0
- package/dist/generators/pothos/pothos-auth/generated/ts-templates.d.ts +28 -0
- package/dist/generators/pothos/pothos-auth/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/pothos/pothos-auth/generated/ts-templates.js +35 -0
- package/dist/generators/pothos/pothos-auth/generated/ts-templates.js.map +1 -0
- package/dist/generators/pothos/pothos-auth/pothos-auth.generator.d.ts +59 -0
- package/dist/generators/pothos/pothos-auth/pothos-auth.generator.d.ts.map +1 -0
- package/dist/generators/pothos/pothos-auth/pothos-auth.generator.js +74 -0
- package/dist/generators/pothos/pothos-auth/pothos-auth.generator.js.map +1 -0
- package/dist/generators/pothos/pothos-auth/templates/FieldAuthorizePlugin/global-types.ts +56 -0
- package/dist/generators/pothos/pothos-auth/templates/FieldAuthorizePlugin/index.ts +130 -0
- package/dist/generators/pothos/pothos-auth/templates/FieldAuthorizePlugin/types.ts +32 -0
- package/dist/generators/pothos/pothos-authorize-field/pothos-authorize-field.generator.d.ts +9 -0
- package/dist/generators/pothos/pothos-authorize-field/pothos-authorize-field.generator.d.ts.map +1 -0
- package/dist/generators/pothos/pothos-authorize-field/pothos-authorize-field.generator.js +25 -0
- package/dist/generators/pothos/pothos-authorize-field/pothos-authorize-field.generator.js.map +1 -0
- package/dist/generators/pothos/pothos-enums-file/pothos-enums-file.generator.d.ts +32 -0
- package/dist/generators/pothos/pothos-enums-file/pothos-enums-file.generator.d.ts.map +1 -0
- package/dist/generators/pothos/pothos-enums-file/pothos-enums-file.generator.js +60 -0
- package/dist/generators/pothos/pothos-enums-file/pothos-enums-file.generator.js.map +1 -0
- package/dist/generators/pothos/pothos-prisma/pothos-prisma.generator.d.ts +25 -0
- package/dist/generators/pothos/pothos-prisma/pothos-prisma.generator.d.ts.map +1 -0
- package/dist/generators/pothos/pothos-prisma/pothos-prisma.generator.js +62 -0
- package/dist/generators/pothos/pothos-prisma/pothos-prisma.generator.js.map +1 -0
- package/dist/generators/pothos/pothos-prisma-crud-mutation/pothos-prisma-crud-mutation.generator.d.ts +26 -0
- package/dist/generators/pothos/pothos-prisma-crud-mutation/pothos-prisma-crud-mutation.generator.d.ts.map +1 -0
- package/dist/generators/pothos/pothos-prisma-crud-mutation/pothos-prisma-crud-mutation.generator.js +164 -0
- package/dist/generators/pothos/pothos-prisma-crud-mutation/pothos-prisma-crud-mutation.generator.js.map +1 -0
- package/dist/generators/pothos/pothos-prisma-enum/pothos-prisma-enum.generator.d.ts +12 -0
- package/dist/generators/pothos/pothos-prisma-enum/pothos-prisma-enum.generator.d.ts.map +1 -0
- package/dist/generators/pothos/pothos-prisma-enum/pothos-prisma-enum.generator.js +44 -0
- package/dist/generators/pothos/pothos-prisma-enum/pothos-prisma-enum.generator.js.map +1 -0
- package/dist/generators/pothos/pothos-prisma-find-query/pothos-prisma-find-query.generator.d.ts +15 -0
- package/dist/generators/pothos/pothos-prisma-find-query/pothos-prisma-find-query.generator.d.ts.map +1 -0
- package/dist/generators/pothos/pothos-prisma-find-query/pothos-prisma-find-query.generator.js +110 -0
- package/dist/generators/pothos/pothos-prisma-find-query/pothos-prisma-find-query.generator.js.map +1 -0
- package/dist/generators/pothos/pothos-prisma-list-query/pothos-prisma-list-query.generator.d.ts +12 -0
- package/dist/generators/pothos/pothos-prisma-list-query/pothos-prisma-list-query.generator.d.ts.map +1 -0
- package/dist/generators/pothos/pothos-prisma-list-query/pothos-prisma-list-query.generator.js +74 -0
- package/dist/generators/pothos/pothos-prisma-list-query/pothos-prisma-list-query.generator.js.map +1 -0
- package/dist/generators/pothos/pothos-prisma-object/pothos-prisma-object.generator.d.ts +21 -0
- package/dist/generators/pothos/pothos-prisma-object/pothos-prisma-object.generator.d.ts.map +1 -0
- package/dist/generators/pothos/pothos-prisma-object/pothos-prisma-object.generator.js +109 -0
- package/dist/generators/pothos/pothos-prisma-object/pothos-prisma-object.generator.js.map +1 -0
- package/dist/generators/pothos/pothos-prisma-primary-key/pothos-prisma-primary-key.generator.d.ts +14 -0
- package/dist/generators/pothos/pothos-prisma-primary-key/pothos-prisma-primary-key.generator.d.ts.map +1 -0
- package/dist/generators/pothos/pothos-prisma-primary-key/pothos-prisma-primary-key.generator.js +76 -0
- package/dist/generators/pothos/pothos-prisma-primary-key/pothos-prisma-primary-key.generator.js.map +1 -0
- package/dist/generators/pothos/pothos-scalar/generated/ts-templates.d.ts +48 -0
- package/dist/generators/pothos/pothos-scalar/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/pothos/pothos-scalar/generated/ts-templates.js +35 -0
- package/dist/generators/pothos/pothos-scalar/generated/ts-templates.js.map +1 -0
- package/dist/generators/pothos/pothos-scalar/pothos-scalar.generator.d.ts +34 -0
- package/dist/generators/pothos/pothos-scalar/pothos-scalar.generator.d.ts.map +1 -0
- package/dist/generators/pothos/pothos-scalar/pothos-scalar.generator.js +103 -0
- package/dist/generators/pothos/pothos-scalar/pothos-scalar.generator.js.map +1 -0
- package/dist/generators/pothos/pothos-scalar/templates/date-time.ts +32 -0
- package/dist/generators/pothos/pothos-scalar/templates/date.ts +49 -0
- package/dist/generators/pothos/pothos-scalar/templates/uuid.ts +35 -0
- package/dist/generators/pothos/pothos-sentry/generated/ts-templates.d.ts +4 -0
- package/dist/generators/pothos/pothos-sentry/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/pothos/pothos-sentry/generated/ts-templates.js +9 -0
- package/dist/generators/pothos/pothos-sentry/generated/ts-templates.js.map +1 -0
- package/dist/generators/pothos/pothos-sentry/pothos-sentry.generator.d.ts +26 -0
- package/dist/generators/pothos/pothos-sentry/pothos-sentry.generator.d.ts.map +1 -0
- package/dist/generators/pothos/pothos-sentry/pothos-sentry.generator.js +80 -0
- package/dist/generators/pothos/pothos-sentry/pothos-sentry.generator.js.map +1 -0
- package/dist/generators/pothos/pothos-sentry/templates/use-sentry.ts +66 -0
- package/dist/generators/pothos/pothos-types-file/pothos-types-file.generator.d.ts +39 -0
- package/dist/generators/pothos/pothos-types-file/pothos-types-file.generator.d.ts.map +1 -0
- package/dist/generators/pothos/pothos-types-file/pothos-types-file.generator.js +63 -0
- package/dist/generators/pothos/pothos-types-file/pothos-types-file.generator.js.map +1 -0
- package/dist/generators/prisma/_shared/crud-method/data-method.d.ts +31 -0
- package/dist/generators/prisma/_shared/crud-method/data-method.d.ts.map +1 -0
- package/dist/generators/prisma/_shared/crud-method/data-method.js +195 -0
- package/dist/generators/prisma/_shared/crud-method/data-method.js.map +1 -0
- package/dist/generators/prisma/_shared/crud-method/primary-key-input.d.ts +14 -0
- package/dist/generators/prisma/_shared/crud-method/primary-key-input.d.ts.map +1 -0
- package/dist/generators/prisma/_shared/crud-method/primary-key-input.js +84 -0
- package/dist/generators/prisma/_shared/crud-method/primary-key-input.js.map +1 -0
- package/dist/generators/prisma/embedded-relation-transformer/embedded-relation-transformer.generator.d.ts +49 -0
- package/dist/generators/prisma/embedded-relation-transformer/embedded-relation-transformer.generator.d.ts.map +1 -0
- package/dist/generators/prisma/embedded-relation-transformer/embedded-relation-transformer.generator.js +371 -0
- package/dist/generators/prisma/embedded-relation-transformer/embedded-relation-transformer.generator.js.map +1 -0
- package/dist/generators/prisma/index.d.ts +15 -0
- package/dist/generators/prisma/index.d.ts.map +1 -0
- package/dist/generators/prisma/index.js +15 -0
- package/dist/generators/prisma/index.js.map +1 -0
- package/dist/generators/prisma/prisma/generated/ts-import-maps.d.ts +11 -0
- package/dist/generators/prisma/prisma/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/prisma/prisma/generated/ts-import-maps.js +14 -0
- package/dist/generators/prisma/prisma/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/prisma/prisma/generated/ts-templates.d.ts +5 -0
- package/dist/generators/prisma/prisma/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/prisma/prisma/generated/ts-templates.js +15 -0
- package/dist/generators/prisma/prisma/generated/ts-templates.js.map +1 -0
- package/dist/generators/prisma/prisma/prisma.generator.d.ts +60 -0
- package/dist/generators/prisma/prisma/prisma.generator.d.ts.map +1 -0
- package/dist/generators/prisma/prisma/prisma.generator.js +179 -0
- package/dist/generators/prisma/prisma/prisma.generator.js.map +1 -0
- package/dist/generators/prisma/prisma/templates/prisma/seed.ts +18 -0
- package/dist/generators/prisma/prisma/templates/services/prisma.ts +5 -0
- package/dist/generators/prisma/prisma-crud-create/prisma-crud-create.generator.d.ts +47 -0
- package/dist/generators/prisma/prisma-crud-create/prisma-crud-create.generator.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-crud-create/prisma-crud-create.generator.js +130 -0
- package/dist/generators/prisma/prisma-crud-create/prisma-crud-create.generator.js.map +1 -0
- package/dist/generators/prisma/prisma-crud-delete/prisma-crud-delete.generator.d.ts +38 -0
- package/dist/generators/prisma/prisma-crud-delete/prisma-crud-delete.generator.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-crud-delete/prisma-crud-delete.generator.js +94 -0
- package/dist/generators/prisma/prisma-crud-delete/prisma-crud-delete.generator.js.map +1 -0
- package/dist/generators/prisma/prisma-crud-service/prisma-crud-service.generator.d.ts +20 -0
- package/dist/generators/prisma/prisma-crud-service/prisma-crud-service.generator.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-crud-service/prisma-crud-service.generator.js +53 -0
- package/dist/generators/prisma/prisma-crud-service/prisma-crud-service.generator.js.map +1 -0
- package/dist/generators/prisma/prisma-crud-update/prisma-crud-update.generator.d.ts +47 -0
- package/dist/generators/prisma/prisma-crud-update/prisma-crud-update.generator.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-crud-update/prisma-crud-update.generator.js +145 -0
- package/dist/generators/prisma/prisma-crud-update/prisma-crud-update.generator.js.map +1 -0
- package/dist/generators/prisma/prisma-enum/prisma-enum.generator.d.ts +11 -0
- package/dist/generators/prisma/prisma-enum/prisma-enum.generator.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-enum/prisma-enum.generator.js +28 -0
- package/dist/generators/prisma/prisma-enum/prisma-enum.generator.js.map +1 -0
- package/dist/generators/prisma/prisma-field/prisma-field.generator.d.ts +70 -0
- package/dist/generators/prisma/prisma-field/prisma-field.generator.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-field/prisma-field.generator.js +62 -0
- package/dist/generators/prisma/prisma-field/prisma-field.generator.js.map +1 -0
- package/dist/generators/prisma/prisma-model/prisma-model.generator.d.ts +21 -0
- package/dist/generators/prisma/prisma-model/prisma-model.generator.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-model/prisma-model.generator.js +47 -0
- package/dist/generators/prisma/prisma-model/prisma-model.generator.js.map +1 -0
- package/dist/generators/prisma/prisma-model-id/prisma-model-id.generator.d.ts +8 -0
- package/dist/generators/prisma/prisma-model-id/prisma-model-id.generator.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-model-id/prisma-model-id.generator.js +26 -0
- package/dist/generators/prisma/prisma-model-id/prisma-model-id.generator.js.map +1 -0
- package/dist/generators/prisma/prisma-model-index/prisma-model-index.generator.d.ts +8 -0
- package/dist/generators/prisma/prisma-model-index/prisma-model-index.generator.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-model-index/prisma-model-index.generator.js +26 -0
- package/dist/generators/prisma/prisma-model-index/prisma-model-index.generator.js.map +1 -0
- package/dist/generators/prisma/prisma-model-unique/prisma-model-unique.generator.d.ts +10 -0
- package/dist/generators/prisma/prisma-model-unique/prisma-model-unique.generator.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-model-unique/prisma-model-unique.generator.js +29 -0
- package/dist/generators/prisma/prisma-model-unique/prisma-model-unique.generator.js.map +1 -0
- package/dist/generators/prisma/prisma-relation-field/prisma-relation-field.generator.d.ts +19 -0
- package/dist/generators/prisma/prisma-relation-field/prisma-relation-field.generator.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-relation-field/prisma-relation-field.generator.js +81 -0
- package/dist/generators/prisma/prisma-relation-field/prisma-relation-field.generator.js.map +1 -0
- package/dist/generators/prisma/prisma-utils/generated/ts-import-maps.d.ts +57 -0
- package/dist/generators/prisma/prisma-utils/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-utils/generated/ts-import-maps.js +42 -0
- package/dist/generators/prisma/prisma-utils/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/prisma/prisma-utils/generated/ts-templates.d.ts +73 -0
- package/dist/generators/prisma/prisma-utils/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-utils/generated/ts-templates.js +98 -0
- package/dist/generators/prisma/prisma-utils/generated/ts-templates.js.map +1 -0
- package/dist/generators/prisma/prisma-utils/prisma-utils.generator.d.ts +54 -0
- package/dist/generators/prisma/prisma-utils/prisma-utils.generator.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-utils/prisma-utils.generator.js +53 -0
- package/dist/generators/prisma/prisma-utils/prisma-utils.generator.js.map +1 -0
- package/dist/generators/prisma/prisma-utils/templates/crud-service-types.ts +35 -0
- package/dist/generators/prisma/prisma-utils/templates/data-pipes.ts +86 -0
- package/dist/generators/prisma/prisma-utils/templates/embedded-pipes/embedded-one-to-many.ts +247 -0
- package/dist/generators/prisma/prisma-utils/templates/embedded-pipes/embedded-one-to-one.ts +148 -0
- package/dist/generators/prisma/prisma-utils/templates/embedded-pipes/embedded-types.ts +6 -0
- package/dist/generators/prisma/prisma-utils/templates/prisma-relations.ts +24 -0
- package/dist/generators/stripe/fastify-stripe/fastify-stripe.generator.d.ts +46 -0
- package/dist/generators/stripe/fastify-stripe/fastify-stripe.generator.d.ts.map +1 -0
- package/dist/generators/stripe/fastify-stripe/fastify-stripe.generator.js +83 -0
- package/dist/generators/stripe/fastify-stripe/fastify-stripe.generator.js.map +1 -0
- package/dist/generators/stripe/fastify-stripe/generated/ts-import-maps.d.ts +19 -0
- package/dist/generators/stripe/fastify-stripe/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/stripe/fastify-stripe/generated/ts-import-maps.js +20 -0
- package/dist/generators/stripe/fastify-stripe/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/stripe/fastify-stripe/generated/ts-templates.d.ts +45 -0
- package/dist/generators/stripe/fastify-stripe/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/stripe/fastify-stripe/generated/ts-templates.js +64 -0
- package/dist/generators/stripe/fastify-stripe/generated/ts-templates.js.map +1 -0
- package/dist/generators/stripe/fastify-stripe/templates/plugins/stripe-webhook.int.test.ts +70 -0
- package/dist/generators/stripe/fastify-stripe/templates/plugins/stripe-webhook.ts +49 -0
- package/dist/generators/stripe/fastify-stripe/templates/services/stripe-events.ts +30 -0
- package/dist/generators/stripe/fastify-stripe/templates/services/stripe.ts +8 -0
- package/dist/generators/stripe/index.d.ts +2 -0
- package/dist/generators/stripe/index.d.ts.map +1 -0
- package/dist/generators/stripe/index.js +2 -0
- package/dist/generators/stripe/index.js.map +1 -0
- package/dist/generators/vitest/fastify-vitest/fastify-vitest.generator.d.ts +10 -0
- package/dist/generators/vitest/fastify-vitest/fastify-vitest.generator.d.ts.map +1 -0
- package/dist/generators/vitest/fastify-vitest/fastify-vitest.generator.js +27 -0
- package/dist/generators/vitest/fastify-vitest/fastify-vitest.generator.js.map +1 -0
- package/dist/generators/vitest/index.d.ts +3 -0
- package/dist/generators/vitest/index.d.ts.map +1 -0
- package/dist/generators/vitest/index.js +3 -0
- package/dist/generators/vitest/index.js.map +1 -0
- package/dist/generators/vitest/prisma-vitest/generated/ts-import-maps.d.ts +21 -0
- package/dist/generators/vitest/prisma-vitest/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/vitest/prisma-vitest/generated/ts-import-maps.js +26 -0
- package/dist/generators/vitest/prisma-vitest/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/vitest/prisma-vitest/generated/ts-templates.d.ts +13 -0
- package/dist/generators/vitest/prisma-vitest/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/vitest/prisma-vitest/generated/ts-templates.js +26 -0
- package/dist/generators/vitest/prisma-vitest/generated/ts-templates.js.map +1 -0
- package/dist/generators/vitest/prisma-vitest/prisma-vitest.generator.d.ts +35 -0
- package/dist/generators/vitest/prisma-vitest/prisma-vitest.generator.d.ts.map +1 -0
- package/dist/generators/vitest/prisma-vitest/prisma-vitest.generator.js +94 -0
- package/dist/generators/vitest/prisma-vitest/prisma-vitest.generator.js.map +1 -0
- package/dist/generators/vitest/prisma-vitest/templates/db.test-helper.ts +83 -0
- package/dist/generators/vitest/prisma-vitest/templates/prisma.test-helper.ts +26 -0
- package/dist/generators/yoga/index.d.ts +2 -0
- package/dist/generators/yoga/index.d.ts.map +1 -0
- package/dist/generators/yoga/index.js +2 -0
- package/dist/generators/yoga/index.js.map +1 -0
- package/dist/generators/yoga/yoga-plugin/generated/ts-templates.d.ts +87 -0
- package/dist/generators/yoga/yoga-plugin/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/yoga/yoga-plugin/generated/ts-templates.js +66 -0
- package/dist/generators/yoga/yoga-plugin/generated/ts-templates.js.map +1 -0
- package/dist/generators/yoga/yoga-plugin/templates/graphql-plugin.ts +119 -0
- package/dist/generators/yoga/yoga-plugin/templates/plugins/graphql/index.ts +111 -0
- package/dist/generators/yoga/yoga-plugin/templates/plugins/graphql/pubsub.ts +22 -0
- package/dist/generators/yoga/yoga-plugin/templates/plugins/graphql/useGraphLogger.ts +109 -0
- package/dist/generators/yoga/yoga-plugin/templates/plugins/graphql/websocket.ts +256 -0
- package/dist/generators/yoga/yoga-plugin/templates/pubsub.ts +24 -0
- package/dist/generators/yoga/yoga-plugin/templates/use-graph-logger.ts +112 -0
- package/dist/generators/yoga/yoga-plugin/templates/websocket-fragments.ts +49 -0
- package/dist/generators/yoga/yoga-plugin/templates/websocket.ts +281 -0
- package/dist/generators/yoga/yoga-plugin/yoga-plugin.generator.d.ts +174 -0
- package/dist/generators/yoga/yoga-plugin/yoga-plugin.generator.d.ts.map +1 -0
- package/dist/generators/yoga/yoga-plugin/yoga-plugin.generator.js +239 -0
- package/dist/generators/yoga/yoga-plugin/yoga-plugin.generator.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/providers/prisma/prisma-data-transformable.d.ts +27 -0
- package/dist/providers/prisma/prisma-data-transformable.d.ts.map +1 -0
- package/dist/providers/prisma/prisma-data-transformable.js +2 -0
- package/dist/providers/prisma/prisma-data-transformable.js.map +1 -0
- package/dist/types/field-types.d.ts +8 -0
- package/dist/types/field-types.d.ts.map +1 -0
- package/dist/types/field-types.js +31 -0
- package/dist/types/field-types.js.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/prisma-output.d.ts +37 -0
- package/dist/types/prisma-output.d.ts.map +1 -0
- package/dist/types/prisma-output.js +2 -0
- package/dist/types/prisma-output.js.map +1 -0
- package/dist/types/service-output.d.ts +59 -0
- package/dist/types/service-output.d.ts.map +1 -0
- package/dist/types/service-output.js +38 -0
- package/dist/types/service-output.js.map +1 -0
- package/dist/utils/case.d.ts +3 -0
- package/dist/utils/case.d.ts.map +1 -0
- package/dist/utils/case.js +13 -0
- package/dist/utils/case.js.map +1 -0
- package/dist/utils/string.d.ts +8 -0
- package/dist/utils/string.d.ts.map +1 -0
- package/dist/utils/string.js +13 -0
- package/dist/utils/string.js.map +1 -0
- package/dist/writers/index.d.ts +2 -0
- package/dist/writers/index.d.ts.map +1 -0
- package/dist/writers/index.js +2 -0
- package/dist/writers/index.js.map +1 -0
- package/dist/writers/pothos/args.d.ts +5 -0
- package/dist/writers/pothos/args.d.ts.map +1 -0
- package/dist/writers/pothos/args.js +31 -0
- package/dist/writers/pothos/args.js.map +1 -0
- package/dist/writers/pothos/definitions.d.ts +19 -0
- package/dist/writers/pothos/definitions.d.ts.map +1 -0
- package/dist/writers/pothos/definitions.js +2 -0
- package/dist/writers/pothos/definitions.js.map +1 -0
- package/dist/writers/pothos/helpers.d.ts +41 -0
- package/dist/writers/pothos/helpers.d.ts.map +1 -0
- package/dist/writers/pothos/helpers.js +73 -0
- package/dist/writers/pothos/helpers.js.map +1 -0
- package/dist/writers/pothos/index.d.ts +7 -0
- package/dist/writers/pothos/index.d.ts.map +1 -0
- package/dist/writers/pothos/index.js +7 -0
- package/dist/writers/pothos/index.js.map +1 -0
- package/dist/writers/pothos/input-types.d.ts +8 -0
- package/dist/writers/pothos/input-types.d.ts.map +1 -0
- package/dist/writers/pothos/input-types.js +62 -0
- package/dist/writers/pothos/input-types.js.map +1 -0
- package/dist/writers/pothos/object-types.d.ts +5 -0
- package/dist/writers/pothos/object-types.d.ts.map +1 -0
- package/dist/writers/pothos/object-types.js +63 -0
- package/dist/writers/pothos/object-types.js.map +1 -0
- package/dist/writers/pothos/options.d.ts +46 -0
- package/dist/writers/pothos/options.d.ts.map +1 -0
- package/dist/writers/pothos/options.js +11 -0
- package/dist/writers/pothos/options.js.map +1 -0
- package/dist/writers/pothos/resolvers.d.ts +4 -0
- package/dist/writers/pothos/resolvers.d.ts.map +1 -0
- package/dist/writers/pothos/resolvers.js +67 -0
- package/dist/writers/pothos/resolvers.js.map +1 -0
- package/dist/writers/pothos/scalar-fields.d.ts +37 -0
- package/dist/writers/pothos/scalar-fields.d.ts.map +1 -0
- package/dist/writers/pothos/scalar-fields.js +70 -0
- package/dist/writers/pothos/scalar-fields.js.map +1 -0
- package/dist/writers/pothos/scalars.d.ts +12 -0
- package/dist/writers/pothos/scalars.d.ts.map +1 -0
- package/dist/writers/pothos/scalars.js +53 -0
- package/dist/writers/pothos/scalars.js.map +1 -0
- package/dist/writers/prisma-schema/fields.d.ts +113 -0
- package/dist/writers/prisma-schema/fields.d.ts.map +1 -0
- package/dist/writers/prisma-schema/fields.js +173 -0
- package/dist/writers/prisma-schema/fields.js.map +1 -0
- package/dist/writers/prisma-schema/index.d.ts +3 -0
- package/dist/writers/prisma-schema/index.d.ts.map +1 -0
- package/dist/writers/prisma-schema/index.js +3 -0
- package/dist/writers/prisma-schema/index.js.map +1 -0
- package/dist/writers/prisma-schema/model-writer.d.ts +70 -0
- package/dist/writers/prisma-schema/model-writer.d.ts.map +1 -0
- package/dist/writers/prisma-schema/model-writer.js +158 -0
- package/dist/writers/prisma-schema/model-writer.js.map +1 -0
- package/dist/writers/prisma-schema/schema.d.ts +30 -0
- package/dist/writers/prisma-schema/schema.d.ts.map +1 -0
- package/dist/writers/prisma-schema/schema.js +87 -0
- package/dist/writers/prisma-schema/schema.js.map +1 -0
- package/dist/writers/prisma-schema/types.d.ts +20 -0
- package/dist/writers/prisma-schema/types.d.ts.map +1 -0
- package/dist/writers/prisma-schema/types.js +2 -0
- package/dist/writers/prisma-schema/types.js.map +1 -0
- package/package.json +69 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { createTsTemplateFile, createTsTemplateGroup, } from '@baseplate-dev/core-generators';
|
|
2
|
+
import { configServiceImportsProvider } from '../../../core/config-service/generated/ts-import-maps.js';
|
|
3
|
+
import { errorHandlerServiceImportsProvider } from '../../../core/error-handler-service/generated/ts-import-maps.js';
|
|
4
|
+
import { loggerServiceImportsProvider } from '../../../core/logger-service/generated/ts-import-maps.js';
|
|
5
|
+
const pluginsWebhook = createTsTemplateFile({
|
|
6
|
+
group: 'plugins',
|
|
7
|
+
importMapProviders: {
|
|
8
|
+
configServiceImports: configServiceImportsProvider,
|
|
9
|
+
errorHandlerServiceImports: errorHandlerServiceImportsProvider,
|
|
10
|
+
},
|
|
11
|
+
name: 'plugins-webhook',
|
|
12
|
+
projectExports: {},
|
|
13
|
+
source: { path: 'plugins/stripe-webhook.ts' },
|
|
14
|
+
variables: {},
|
|
15
|
+
});
|
|
16
|
+
const pluginsWebhookTest = createTsTemplateFile({
|
|
17
|
+
group: 'plugins',
|
|
18
|
+
name: 'plugins-webhook-test',
|
|
19
|
+
projectExports: {},
|
|
20
|
+
source: { path: 'plugins/stripe-webhook.int.test.ts' },
|
|
21
|
+
variables: {},
|
|
22
|
+
});
|
|
23
|
+
const pluginsGroup = createTsTemplateGroup({
|
|
24
|
+
templates: {
|
|
25
|
+
pluginsWebhook: {
|
|
26
|
+
destination: 'stripe-webhook.ts',
|
|
27
|
+
template: pluginsWebhook,
|
|
28
|
+
},
|
|
29
|
+
pluginsWebhookTest: {
|
|
30
|
+
destination: 'stripe-webhook.int.test.ts',
|
|
31
|
+
template: pluginsWebhookTest,
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
const service = createTsTemplateFile({
|
|
36
|
+
group: 'services',
|
|
37
|
+
importMapProviders: { configServiceImports: configServiceImportsProvider },
|
|
38
|
+
name: 'service',
|
|
39
|
+
projectExports: { stripe: {} },
|
|
40
|
+
source: { path: 'services/stripe.ts' },
|
|
41
|
+
variables: {},
|
|
42
|
+
});
|
|
43
|
+
const serviceEvents = createTsTemplateFile({
|
|
44
|
+
group: 'services',
|
|
45
|
+
importMapProviders: { loggerServiceImports: loggerServiceImportsProvider },
|
|
46
|
+
name: 'service-events',
|
|
47
|
+
projectExports: {
|
|
48
|
+
StripeEventHandler: { isTypeOnly: true },
|
|
49
|
+
stripeEventService: {},
|
|
50
|
+
},
|
|
51
|
+
source: { path: 'services/stripe-events.ts' },
|
|
52
|
+
variables: {},
|
|
53
|
+
});
|
|
54
|
+
const servicesGroup = createTsTemplateGroup({
|
|
55
|
+
templates: {
|
|
56
|
+
service: { destination: 'stripe.ts', template: service },
|
|
57
|
+
serviceEvents: { destination: 'stripe-events.ts', template: serviceEvents },
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
export const STRIPE_FASTIFY_STRIPE_TS_TEMPLATES = {
|
|
61
|
+
pluginsGroup,
|
|
62
|
+
servicesGroup,
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=ts-templates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ts-templates.js","sourceRoot":"","sources":["../../../../../src/generators/stripe/fastify-stripe/generated/ts-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,4BAA4B,EAAE,MAAM,0DAA0D,CAAC;AACxG,OAAO,EAAE,kCAAkC,EAAE,MAAM,iEAAiE,CAAC;AACrH,OAAO,EAAE,4BAA4B,EAAE,MAAM,0DAA0D,CAAC;AAExG,MAAM,cAAc,GAAG,oBAAoB,CAAC;IAC1C,KAAK,EAAE,SAAS;IAChB,kBAAkB,EAAE;QAClB,oBAAoB,EAAE,4BAA4B;QAClD,0BAA0B,EAAE,kCAAkC;KAC/D;IACD,IAAI,EAAE,iBAAiB;IACvB,cAAc,EAAE,EAAE;IAClB,MAAM,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE;IAC7C,SAAS,EAAE,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;IAC9C,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,sBAAsB;IAC5B,cAAc,EAAE,EAAE;IAClB,MAAM,EAAE,EAAE,IAAI,EAAE,oCAAoC,EAAE;IACtD,SAAS,EAAE,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,qBAAqB,CAAC;IACzC,SAAS,EAAE;QACT,cAAc,EAAE;YACd,WAAW,EAAE,mBAAmB;YAChC,QAAQ,EAAE,cAAc;SACzB;QACD,kBAAkB,EAAE;YAClB,WAAW,EAAE,4BAA4B;YACzC,QAAQ,EAAE,kBAAkB;SAC7B;KACF;CACF,CAAC,CAAC;AAEH,MAAM,OAAO,GAAG,oBAAoB,CAAC;IACnC,KAAK,EAAE,UAAU;IACjB,kBAAkB,EAAE,EAAE,oBAAoB,EAAE,4BAA4B,EAAE;IAC1E,IAAI,EAAE,SAAS;IACf,cAAc,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE;IACtC,SAAS,EAAE,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,oBAAoB,CAAC;IACzC,KAAK,EAAE,UAAU;IACjB,kBAAkB,EAAE,EAAE,oBAAoB,EAAE,4BAA4B,EAAE;IAC1E,IAAI,EAAE,gBAAgB;IACtB,cAAc,EAAE;QACd,kBAAkB,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;QACxC,kBAAkB,EAAE,EAAE;KACvB;IACD,MAAM,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE;IAC7C,SAAS,EAAE,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,qBAAqB,CAAC;IAC1C,SAAS,EAAE;QACT,OAAO,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE;QACxD,aAAa,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,aAAa,EAAE;KAC5E;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,YAAY;IACZ,aAAa;CACd,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
|
|
3
|
+
import type { Stripe } from 'stripe';
|
|
4
|
+
|
|
5
|
+
import Fastify from 'fastify';
|
|
6
|
+
import rawBodyPlugin from 'fastify-raw-body';
|
|
7
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
8
|
+
|
|
9
|
+
import { stripeEventService } from '../services/stripe-events.js';
|
|
10
|
+
import { stripe } from '../services/stripe.js';
|
|
11
|
+
import { stripeWebhookPlugin } from './stripe-webhook.js';
|
|
12
|
+
|
|
13
|
+
vi.mock('@src/services/stripe');
|
|
14
|
+
|
|
15
|
+
const mockedStripe = vi.mocked(stripe, true);
|
|
16
|
+
|
|
17
|
+
function createFakeWebhookEvent(data?: Partial<Stripe.Event>): Stripe.Event {
|
|
18
|
+
return {
|
|
19
|
+
id: 'payment-id',
|
|
20
|
+
object: 'event',
|
|
21
|
+
api_version: '2020-08-27',
|
|
22
|
+
created: 1_642_600_000,
|
|
23
|
+
livemode: false,
|
|
24
|
+
pending_webhooks: 0,
|
|
25
|
+
type: 'payment_intent.succeeded',
|
|
26
|
+
request: null,
|
|
27
|
+
data: {
|
|
28
|
+
object: {
|
|
29
|
+
amount: 100,
|
|
30
|
+
} as Stripe.PaymentIntent,
|
|
31
|
+
},
|
|
32
|
+
...data,
|
|
33
|
+
} as Stripe.Event;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
describe('stripeWebhookPlugin', () => {
|
|
37
|
+
it('handles webhook and calls stripe event service', async () => {
|
|
38
|
+
mockedStripe.webhooks.constructEventAsync.mockResolvedValue(
|
|
39
|
+
createFakeWebhookEvent(),
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
const fastify = Fastify();
|
|
43
|
+
await fastify.register(rawBodyPlugin, { global: false });
|
|
44
|
+
await fastify.register(stripeWebhookPlugin);
|
|
45
|
+
|
|
46
|
+
const eventHandler = vi.fn();
|
|
47
|
+
stripeEventService.registerHandler(
|
|
48
|
+
'payment_intent.succeeded',
|
|
49
|
+
eventHandler,
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
const event = createFakeWebhookEvent();
|
|
53
|
+
const response = await fastify.inject({
|
|
54
|
+
method: 'POST',
|
|
55
|
+
url: '/webhooks/stripe',
|
|
56
|
+
payload: event,
|
|
57
|
+
headers: {
|
|
58
|
+
'stripe-signature': 'signature',
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
expect(response.statusCode).toBe(200);
|
|
63
|
+
|
|
64
|
+
expect(mockedStripe.webhooks.constructEventAsync.mock.calls[0][1]).toBe(
|
|
65
|
+
'signature',
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
expect(eventHandler).toHaveBeenCalledWith(event);
|
|
69
|
+
});
|
|
70
|
+
});
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
|
|
3
|
+
import type { Stripe } from 'stripe';
|
|
4
|
+
|
|
5
|
+
import { config } from '%configServiceImports';
|
|
6
|
+
import { BadRequestError, logError } from '%errorHandlerServiceImports';
|
|
7
|
+
import fp from 'fastify-plugin';
|
|
8
|
+
|
|
9
|
+
import { stripeEventService } from '../services/stripe-events.js';
|
|
10
|
+
import { stripe } from '../services/stripe.js';
|
|
11
|
+
|
|
12
|
+
async function getStripeEvent(
|
|
13
|
+
rawBody: string | Buffer = '',
|
|
14
|
+
signature: string | string[] = '',
|
|
15
|
+
): Promise<Stripe.Event> {
|
|
16
|
+
try {
|
|
17
|
+
return await stripe.webhooks.constructEventAsync(
|
|
18
|
+
rawBody,
|
|
19
|
+
signature,
|
|
20
|
+
config.STRIPE_ENDPOINT_SECRET,
|
|
21
|
+
);
|
|
22
|
+
} catch (err) {
|
|
23
|
+
logError(err);
|
|
24
|
+
throw new BadRequestError('Stripe webhook signature verification failed');
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export const stripeWebhookPlugin = fp(
|
|
29
|
+
(fastify, opts, done) => {
|
|
30
|
+
fastify.post('/webhooks/stripe', {
|
|
31
|
+
config: { rawBody: true },
|
|
32
|
+
handler: async (req, reply) => {
|
|
33
|
+
const signature = req.headers['stripe-signature'] ?? '';
|
|
34
|
+
|
|
35
|
+
const event = await getStripeEvent(req.rawBody, signature);
|
|
36
|
+
|
|
37
|
+
await stripeEventService.handleStripeEvent(event);
|
|
38
|
+
|
|
39
|
+
await reply.send({ success: true });
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
done();
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
encapsulate: true,
|
|
47
|
+
name: 'stripe-webhook',
|
|
48
|
+
},
|
|
49
|
+
);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
|
|
3
|
+
import type Stripe from 'stripe';
|
|
4
|
+
|
|
5
|
+
import { logger } from '%loggerServiceImports';
|
|
6
|
+
|
|
7
|
+
export type StripeEventHandler = (event: Stripe.Event) => Promise<void>;
|
|
8
|
+
|
|
9
|
+
const eventHandlers: Partial<Record<string, StripeEventHandler>> = {};
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Service that allows registering handlers from Stripe events.
|
|
13
|
+
*/
|
|
14
|
+
export const stripeEventService = {
|
|
15
|
+
registerHandler(type: string, handler: StripeEventHandler): void {
|
|
16
|
+
if (eventHandlers[type]) {
|
|
17
|
+
throw new Error(`Handler for ${type} already registered`);
|
|
18
|
+
}
|
|
19
|
+
eventHandlers[type] = handler;
|
|
20
|
+
},
|
|
21
|
+
async handleStripeEvent(event: Stripe.Event): Promise<void> {
|
|
22
|
+
const handler = eventHandlers[event.type];
|
|
23
|
+
|
|
24
|
+
if (!handler) {
|
|
25
|
+
logger.info(`No handler registered for event type ${event.type}`);
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
await handler(event);
|
|
29
|
+
},
|
|
30
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/stripe/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generators/stripe/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const fastifyVitestGenerator: import("@baseplate-dev/sync").GeneratorBundleCreator<{}, {
|
|
2
|
+
node: import("@baseplate-dev/sync").AnyGeneratorTask;
|
|
3
|
+
main: import("@baseplate-dev/sync").GeneratorTask<any, {
|
|
4
|
+
vitestConfig: import("@baseplate-dev/sync").ProviderType<Omit<import("@baseplate-dev/utils").FieldMap<{
|
|
5
|
+
globalSetupOperations: import("@baseplate-dev/utils").MapContainer<string, import("@baseplate-dev/core-generators").TsCodeFragment>;
|
|
6
|
+
setupFiles: import("@baseplate-dev/utils").ArrayContainer<string>;
|
|
7
|
+
}>, "getValues">>;
|
|
8
|
+
}, any>;
|
|
9
|
+
}>;
|
|
10
|
+
//# sourceMappingURL=fastify-vitest.generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fastify-vitest.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/vitest/fastify-vitest/fastify-vitest.generator.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,sBAAsB;;;;0CAJjB,sBAEJ;+BAEwB,sBACnC;;;EA2BD,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { createNodeTask, tsCodeFragment, tsImportBuilder, vitestConfigProvider, } from '@baseplate-dev/core-generators';
|
|
2
|
+
import { createGenerator, createGeneratorTask } from '@baseplate-dev/sync';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
const descriptorSchema = z.object({});
|
|
5
|
+
export const fastifyVitestGenerator = createGenerator({
|
|
6
|
+
name: 'vitest/fastify-vitest',
|
|
7
|
+
generatorFileUrl: import.meta.url,
|
|
8
|
+
descriptorSchema,
|
|
9
|
+
buildTasks: () => ({
|
|
10
|
+
node: createNodeTask((node) => {
|
|
11
|
+
node.scripts.mergeObj({
|
|
12
|
+
test: 'vitest run',
|
|
13
|
+
'test:unit': 'cross-env TEST_MODE=unit vitest run .unit.',
|
|
14
|
+
});
|
|
15
|
+
}),
|
|
16
|
+
main: createGeneratorTask({
|
|
17
|
+
dependencies: {
|
|
18
|
+
vitestConfig: vitestConfigProvider,
|
|
19
|
+
},
|
|
20
|
+
run({ vitestConfig }) {
|
|
21
|
+
// add config to vitest setup
|
|
22
|
+
vitestConfig.globalSetupOperations.set('dotenv', tsCodeFragment('config()', tsImportBuilder(['config']).from('dotenv')));
|
|
23
|
+
},
|
|
24
|
+
}),
|
|
25
|
+
}),
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=fastify-vitest.generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fastify-vitest.generator.js","sourceRoot":"","sources":["../../../../src/generators/vitest/fastify-vitest/fastify-vitest.generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,EACd,eAAe,EACf,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,CAAC;IACpD,IAAI,EAAE,uBAAuB;IAC7B,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;IACjC,gBAAgB;IAChB,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACjB,IAAI,EAAE,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,4CAA4C;aAC1D,CAAC,CAAC;QACL,CAAC,CAAC;QACF,IAAI,EAAE,mBAAmB,CAAC;YACxB,YAAY,EAAE;gBACZ,YAAY,EAAE,oBAAoB;aACnC;YACD,GAAG,CAAC,EAAE,YAAY,EAAE;gBAClB,6BAA6B;gBAE7B,YAAY,CAAC,qBAAqB,CAAC,GAAG,CACpC,QAAQ,EACR,cAAc,CACZ,UAAU,EACV,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC3C,CACF,CAAC;YACJ,CAAC;SACF,CAAC;KACH,CAAC;CACH,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/vitest/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4CAA4C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generators/vitest/index.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC;AAC7D,cAAc,4CAA4C,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { TsImportMapProviderFromSchema } from '@baseplate-dev/core-generators';
|
|
2
|
+
declare const prismaVitestImportsSchema: {
|
|
3
|
+
createTestDatabase: {};
|
|
4
|
+
createTestDatabaseFromTemplate: {};
|
|
5
|
+
destroyTestDatabase: {};
|
|
6
|
+
getTestPrisma: {};
|
|
7
|
+
prismaMock: {};
|
|
8
|
+
replaceDatabase: {};
|
|
9
|
+
};
|
|
10
|
+
type PrismaVitestImportsProvider = TsImportMapProviderFromSchema<typeof prismaVitestImportsSchema>;
|
|
11
|
+
export declare const prismaVitestImportsProvider: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
|
|
12
|
+
createTestDatabase: {};
|
|
13
|
+
createTestDatabaseFromTemplate: {};
|
|
14
|
+
destroyTestDatabase: {};
|
|
15
|
+
getTestPrisma: {};
|
|
16
|
+
prismaMock: {};
|
|
17
|
+
replaceDatabase: {};
|
|
18
|
+
}>>;
|
|
19
|
+
export declare function createPrismaVitestImports(importBase: string): PrismaVitestImportsProvider;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=ts-import-maps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ts-import-maps.d.ts","sourceRoot":"","sources":["../../../../../src/generators/vitest/prisma-vitest/generated/ts-import-maps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AASpF,QAAA,MAAM,yBAAyB;;;;;;;CAO7B,CAAC;AAEH,KAAK,2BAA2B,GAAG,6BAA6B,CAC9D,OAAO,yBAAyB,CACjC,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;;;;GAGrC,CAAC;AAEJ,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,GACjB,2BAA2B,CAa7B"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { createTsImportMap, createTsImportMapSchema, } from '@baseplate-dev/core-generators';
|
|
2
|
+
import { createReadOnlyProviderType } from '@baseplate-dev/sync';
|
|
3
|
+
import path from 'node:path/posix';
|
|
4
|
+
const prismaVitestImportsSchema = createTsImportMapSchema({
|
|
5
|
+
createTestDatabase: {},
|
|
6
|
+
createTestDatabaseFromTemplate: {},
|
|
7
|
+
destroyTestDatabase: {},
|
|
8
|
+
getTestPrisma: {},
|
|
9
|
+
prismaMock: {},
|
|
10
|
+
replaceDatabase: {},
|
|
11
|
+
});
|
|
12
|
+
export const prismaVitestImportsProvider = createReadOnlyProviderType('prisma-vitest-imports');
|
|
13
|
+
export function createPrismaVitestImports(importBase) {
|
|
14
|
+
if (!importBase.startsWith('@/')) {
|
|
15
|
+
throw new Error('importBase must start with @/');
|
|
16
|
+
}
|
|
17
|
+
return createTsImportMap(prismaVitestImportsSchema, {
|
|
18
|
+
createTestDatabase: path.join(importBase, 'db.test-helper.js'),
|
|
19
|
+
createTestDatabaseFromTemplate: path.join(importBase, 'db.test-helper.js'),
|
|
20
|
+
destroyTestDatabase: path.join(importBase, 'db.test-helper.js'),
|
|
21
|
+
getTestPrisma: path.join(importBase, 'db.test-helper.js'),
|
|
22
|
+
prismaMock: path.join(importBase, 'prisma.test-helper.js'),
|
|
23
|
+
replaceDatabase: path.join(importBase, 'db.test-helper.js'),
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=ts-import-maps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ts-import-maps.js","sourceRoot":"","sources":["../../../../../src/generators/vitest/prisma-vitest/generated/ts-import-maps.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,IAAI,MAAM,iBAAiB,CAAC;AAEnC,MAAM,yBAAyB,GAAG,uBAAuB,CAAC;IACxD,kBAAkB,EAAE,EAAE;IACtB,8BAA8B,EAAE,EAAE;IAClC,mBAAmB,EAAE,EAAE;IACvB,aAAa,EAAE,EAAE;IACjB,UAAU,EAAE,EAAE;IACd,eAAe,EAAE,EAAE;CACpB,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,2BAA2B,GACtC,0BAA0B,CACxB,uBAAuB,CACxB,CAAC;AAEJ,MAAM,UAAU,yBAAyB,CACvC,UAAkB;IAElB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,iBAAiB,CAAC,yBAAyB,EAAE;QAClD,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC;QAC9D,8BAA8B,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC;QAC1E,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC;QAC/D,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC;QACzD,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,uBAAuB,CAAC;QAC1D,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC;KAC5D,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const VITEST_PRISMA_VITEST_TS_TEMPLATES: {
|
|
2
|
+
dbTestHelper: import("@baseplate-dev/core-generators").TsTemplateFile<{
|
|
3
|
+
TPL_TEST_DB: {};
|
|
4
|
+
}, Record<never, import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/sync").Provider>>>;
|
|
5
|
+
prismaTestHelper: import("@baseplate-dev/core-generators").TsTemplateFile<{
|
|
6
|
+
TPL_PRISMA_PATH: {};
|
|
7
|
+
}, {
|
|
8
|
+
prismaImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
|
|
9
|
+
prisma: {};
|
|
10
|
+
}>>;
|
|
11
|
+
}>;
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=ts-templates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ts-templates.d.ts","sourceRoot":"","sources":["../../../../../src/generators/vitest/prisma-vitest/generated/ts-templates.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,iCAAiC;;;;;;;;;;;CAG7C,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { createTsTemplateFile } from '@baseplate-dev/core-generators';
|
|
2
|
+
import { prismaImportsProvider } from '../../../prisma/prisma/generated/ts-import-maps.js';
|
|
3
|
+
const dbTestHelper = createTsTemplateFile({
|
|
4
|
+
name: 'db-test-helper',
|
|
5
|
+
projectExports: {
|
|
6
|
+
createTestDatabase: {},
|
|
7
|
+
createTestDatabaseFromTemplate: {},
|
|
8
|
+
destroyTestDatabase: {},
|
|
9
|
+
getTestPrisma: {},
|
|
10
|
+
replaceDatabase: {},
|
|
11
|
+
},
|
|
12
|
+
source: { path: 'db.test-helper.ts' },
|
|
13
|
+
variables: { TPL_TEST_DB: {} },
|
|
14
|
+
});
|
|
15
|
+
const prismaTestHelper = createTsTemplateFile({
|
|
16
|
+
importMapProviders: { prismaImports: prismaImportsProvider },
|
|
17
|
+
name: 'prisma-test-helper',
|
|
18
|
+
projectExports: { prismaMock: {} },
|
|
19
|
+
source: { path: 'prisma.test-helper.ts' },
|
|
20
|
+
variables: { TPL_PRISMA_PATH: {} },
|
|
21
|
+
});
|
|
22
|
+
export const VITEST_PRISMA_VITEST_TS_TEMPLATES = {
|
|
23
|
+
dbTestHelper,
|
|
24
|
+
prismaTestHelper,
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=ts-templates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ts-templates.js","sourceRoot":"","sources":["../../../../../src/generators/vitest/prisma-vitest/generated/ts-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAE3F,MAAM,YAAY,GAAG,oBAAoB,CAAC;IACxC,IAAI,EAAE,gBAAgB;IACtB,cAAc,EAAE;QACd,kBAAkB,EAAE,EAAE;QACtB,8BAA8B,EAAE,EAAE;QAClC,mBAAmB,EAAE,EAAE;QACvB,aAAa,EAAE,EAAE;QACjB,eAAe,EAAE,EAAE;KACpB;IACD,MAAM,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE;IACrC,SAAS,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;IAC5C,kBAAkB,EAAE,EAAE,aAAa,EAAE,qBAAqB,EAAE;IAC5D,IAAI,EAAE,oBAAoB;IAC1B,cAAc,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;IAClC,MAAM,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE;IACzC,SAAS,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,YAAY;IACZ,gBAAgB;CACjB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export declare const prismaVitestGenerator: import("@baseplate-dev/sync").GeneratorBundleCreator<{}, {
|
|
2
|
+
nodePackages: import("@baseplate-dev/sync").AnyGeneratorTask;
|
|
3
|
+
imports: import("@baseplate-dev/sync").GeneratorTask<{
|
|
4
|
+
prismaVitestImports: import("@baseplate-dev/sync").ProviderExport<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
|
|
5
|
+
createTestDatabase: {};
|
|
6
|
+
createTestDatabaseFromTemplate: {};
|
|
7
|
+
destroyTestDatabase: {};
|
|
8
|
+
getTestPrisma: {};
|
|
9
|
+
prismaMock: {};
|
|
10
|
+
replaceDatabase: {};
|
|
11
|
+
}>>;
|
|
12
|
+
}, any, any>;
|
|
13
|
+
vitestConfig: import("@baseplate-dev/sync").GeneratorTask<any, {
|
|
14
|
+
vitestConfig: import("@baseplate-dev/sync").ProviderType<Omit<import("@baseplate-dev/utils").FieldMap<{
|
|
15
|
+
globalSetupOperations: import("@baseplate-dev/utils").MapContainer<string, import("@baseplate-dev/core-generators").TsCodeFragment>;
|
|
16
|
+
setupFiles: import("@baseplate-dev/utils").ArrayContainer<string>;
|
|
17
|
+
}>, "getValues">>;
|
|
18
|
+
prismaVitestImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
|
|
19
|
+
createTestDatabase: {};
|
|
20
|
+
createTestDatabaseFromTemplate: {};
|
|
21
|
+
destroyTestDatabase: {};
|
|
22
|
+
getTestPrisma: {};
|
|
23
|
+
prismaMock: {};
|
|
24
|
+
replaceDatabase: {};
|
|
25
|
+
}>>;
|
|
26
|
+
}, any>;
|
|
27
|
+
main: import("@baseplate-dev/sync").GeneratorTask<any, {
|
|
28
|
+
typescriptFile: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").TypescriptFileProvider>;
|
|
29
|
+
prismaImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
|
|
30
|
+
prisma: {};
|
|
31
|
+
}>>;
|
|
32
|
+
project: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").ProjectProvider>;
|
|
33
|
+
}, any>;
|
|
34
|
+
}>;
|
|
35
|
+
//# sourceMappingURL=prisma-vitest.generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prisma-vitest.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/vitest/prisma-vitest/prisma-vitest.generator.ts"],"names":[],"mappings":"AAwBA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;0CAfhB,sBAAsB;+BACb,sBACvB;;;;;;;;;;;;;;;;;;EAqHF,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { createNodePackagesTask, extractPackageVersions, projectProvider, projectScope, tsCodeFragment, typescriptFileProvider, vitestConfigProvider, } from '@baseplate-dev/core-generators';
|
|
2
|
+
import { createGenerator, createGeneratorTask } from '@baseplate-dev/sync';
|
|
3
|
+
import { quot } from '@baseplate-dev/utils';
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import { FASTIFY_PACKAGES } from '#src/constants/fastify-packages.js';
|
|
6
|
+
import { prismaImportsProvider } from '#src/generators/prisma/prisma/prisma.generator.js';
|
|
7
|
+
import { createPrismaVitestImports, prismaVitestImportsProvider, } from './generated/ts-import-maps.js';
|
|
8
|
+
import { VITEST_PRISMA_VITEST_TS_TEMPLATES } from './generated/ts-templates.js';
|
|
9
|
+
const descriptorSchema = z.object({});
|
|
10
|
+
export const prismaVitestGenerator = createGenerator({
|
|
11
|
+
name: 'vitest/prisma-vitest',
|
|
12
|
+
generatorFileUrl: import.meta.url,
|
|
13
|
+
descriptorSchema,
|
|
14
|
+
buildTasks: () => ({
|
|
15
|
+
nodePackages: createNodePackagesTask({
|
|
16
|
+
dev: extractPackageVersions(FASTIFY_PACKAGES, [
|
|
17
|
+
'vitest-mock-extended',
|
|
18
|
+
'pg-connection-string',
|
|
19
|
+
]),
|
|
20
|
+
}),
|
|
21
|
+
imports: createGeneratorTask({
|
|
22
|
+
exports: {
|
|
23
|
+
prismaVitestImports: prismaVitestImportsProvider.export(projectScope),
|
|
24
|
+
},
|
|
25
|
+
run() {
|
|
26
|
+
return {
|
|
27
|
+
providers: {
|
|
28
|
+
prismaVitestImports: createPrismaVitestImports('@/src/tests/helpers'),
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
},
|
|
32
|
+
}),
|
|
33
|
+
vitestConfig: createGeneratorTask({
|
|
34
|
+
dependencies: {
|
|
35
|
+
vitestConfig: vitestConfigProvider,
|
|
36
|
+
prismaVitestImports: prismaVitestImportsProvider,
|
|
37
|
+
},
|
|
38
|
+
run({ vitestConfig, prismaVitestImports }) {
|
|
39
|
+
vitestConfig.globalSetupOperations.set('prisma', tsCodeFragment(`
|
|
40
|
+
const { TEST_MODE } = process.env;
|
|
41
|
+
|
|
42
|
+
// don't run database set-up if only running unit tests
|
|
43
|
+
if (TEST_MODE !== 'unit') {
|
|
44
|
+
if (!process.env.DATABASE_URL) {
|
|
45
|
+
throw new Error('DATABASE_URL is not set');
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// create separate test DB
|
|
49
|
+
const testDatabaseUrl = await createTestDatabase(process.env.DATABASE_URL);
|
|
50
|
+
|
|
51
|
+
// back up original database URL
|
|
52
|
+
process.env.ORIGINAL_DATABASE_URL = process.env.DATABASE_URL;
|
|
53
|
+
process.env.DATABASE_URL = testDatabaseUrl;
|
|
54
|
+
|
|
55
|
+
console.info('\\nDatabase migrations ran!');
|
|
56
|
+
}
|
|
57
|
+
`, prismaVitestImports.createTestDatabase.declaration()));
|
|
58
|
+
},
|
|
59
|
+
}),
|
|
60
|
+
main: createGeneratorTask({
|
|
61
|
+
dependencies: {
|
|
62
|
+
typescriptFile: typescriptFileProvider,
|
|
63
|
+
prismaImports: prismaImportsProvider,
|
|
64
|
+
project: projectProvider,
|
|
65
|
+
},
|
|
66
|
+
run({ project, typescriptFile, prismaImports }) {
|
|
67
|
+
const dbHelperPath = '@/src/tests/helpers/db.test-helper.ts';
|
|
68
|
+
const prismaHelperPath = '@/src/tests/helpers/prisma.test-helper.ts';
|
|
69
|
+
return {
|
|
70
|
+
build: async (builder) => {
|
|
71
|
+
await builder.apply(typescriptFile.renderTemplateFile({
|
|
72
|
+
template: VITEST_PRISMA_VITEST_TS_TEMPLATES.dbTestHelper,
|
|
73
|
+
destination: dbHelperPath,
|
|
74
|
+
variables: {
|
|
75
|
+
TPL_TEST_DB: quot(`${project.getProjectName().replaceAll('-', '_')}_test`),
|
|
76
|
+
},
|
|
77
|
+
}));
|
|
78
|
+
await builder.apply(typescriptFile.renderTemplateFile({
|
|
79
|
+
template: VITEST_PRISMA_VITEST_TS_TEMPLATES.prismaTestHelper,
|
|
80
|
+
destination: prismaHelperPath,
|
|
81
|
+
importMapProviders: {
|
|
82
|
+
prismaImports,
|
|
83
|
+
},
|
|
84
|
+
variables: {
|
|
85
|
+
TPL_PRISMA_PATH: quot(typescriptFile.resolveModuleSpecifier(prismaImports.prisma.moduleSpecifier, prismaHelperPath)),
|
|
86
|
+
},
|
|
87
|
+
}));
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
},
|
|
91
|
+
}),
|
|
92
|
+
}),
|
|
93
|
+
});
|
|
94
|
+
//# sourceMappingURL=prisma-vitest.generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prisma-vitest.generator.js","sourceRoot":"","sources":["../../../../src/generators/vitest/prisma-vitest/prisma-vitest.generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAE1F,OAAO,EACL,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC;AAEhF,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAe,CAAC;IACnD,IAAI,EAAE,sBAAsB;IAC5B,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;IACjC,gBAAgB;IAChB,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACjB,YAAY,EAAE,sBAAsB,CAAC;YACnC,GAAG,EAAE,sBAAsB,CAAC,gBAAgB,EAAE;gBAC5C,sBAAsB;gBACtB,sBAAsB;aACvB,CAAC;SACH,CAAC;QACF,OAAO,EAAE,mBAAmB,CAAC;YAC3B,OAAO,EAAE;gBACP,mBAAmB,EAAE,2BAA2B,CAAC,MAAM,CAAC,YAAY,CAAC;aACtE;YACD,GAAG;gBACD,OAAO;oBACL,SAAS,EAAE;wBACT,mBAAmB,EAAE,yBAAyB,CAC5C,qBAAqB,CACtB;qBACF;iBACF,CAAC;YACJ,CAAC;SACF,CAAC;QACF,YAAY,EAAE,mBAAmB,CAAC;YAChC,YAAY,EAAE;gBACZ,YAAY,EAAE,oBAAoB;gBAClC,mBAAmB,EAAE,2BAA2B;aACjD;YACD,GAAG,CAAC,EAAE,YAAY,EAAE,mBAAmB,EAAE;gBACvC,YAAY,CAAC,qBAAqB,CAAC,GAAG,CACpC,QAAQ,EACR,cAAc,CACZ;;;;;;;;;;;;;;;;;;CAkBX,EACW,mBAAmB,CAAC,kBAAkB,CAAC,WAAW,EAAE,CACrD,CACF,CAAC;YACJ,CAAC;SACF,CAAC;QACF,IAAI,EAAE,mBAAmB,CAAC;YACxB,YAAY,EAAE;gBACZ,cAAc,EAAE,sBAAsB;gBACtC,aAAa,EAAE,qBAAqB;gBACpC,OAAO,EAAE,eAAe;aACzB;YACD,GAAG,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE;gBAC5C,MAAM,YAAY,GAAG,uCAAuC,CAAC;gBAC7D,MAAM,gBAAgB,GAAG,2CAA2C,CAAC;gBAErE,OAAO;oBACL,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;wBACvB,MAAM,OAAO,CAAC,KAAK,CACjB,cAAc,CAAC,kBAAkB,CAAC;4BAChC,QAAQ,EAAE,iCAAiC,CAAC,YAAY;4BACxD,WAAW,EAAE,YAAY;4BACzB,SAAS,EAAE;gCACT,WAAW,EAAE,IAAI,CACf,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CACxD;6BACF;yBACF,CAAC,CACH,CAAC;wBAEF,MAAM,OAAO,CAAC,KAAK,CACjB,cAAc,CAAC,kBAAkB,CAAC;4BAChC,QAAQ,EAAE,iCAAiC,CAAC,gBAAgB;4BAC5D,WAAW,EAAE,gBAAgB;4BAC7B,kBAAkB,EAAE;gCAClB,aAAa;6BACd;4BACD,SAAS,EAAE;gCACT,eAAe,EAAE,IAAI,CACnB,cAAc,CAAC,sBAAsB,CACnC,aAAa,CAAC,MAAM,CAAC,eAAe,EACpC,gBAAgB,CACjB,CACF;6BACF;yBACF,CAAC,CACH,CAAC;oBACJ,CAAC;iBACF,CAAC;YACJ,CAAC;SACF,CAAC;KACH,CAAC;CACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
|
|
3
|
+
import { Prisma, PrismaClient } from '@prisma/client';
|
|
4
|
+
import { nanoid } from 'nanoid';
|
|
5
|
+
import { execSync } from 'node:child_process';
|
|
6
|
+
import path from 'node:path';
|
|
7
|
+
import { parse } from 'pg-connection-string';
|
|
8
|
+
|
|
9
|
+
const TEST_DATABASE_NAME = TPL_TEST_DB;
|
|
10
|
+
|
|
11
|
+
export function replaceDatabase(
|
|
12
|
+
connectionString: string,
|
|
13
|
+
database: string,
|
|
14
|
+
): string {
|
|
15
|
+
const { host, user, password, port } = parse(connectionString);
|
|
16
|
+
|
|
17
|
+
return `postgresql://${user ?? ''}:${password ?? ''}@${host ?? ''}:${
|
|
18
|
+
port ? port : 5432
|
|
19
|
+
}/${database}`;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export function getTestPrisma(databaseUrl: string): PrismaClient {
|
|
23
|
+
return new PrismaClient({
|
|
24
|
+
datasources: { db: { url: databaseUrl } },
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export async function createTestDatabase(databaseUrl: string): Promise<string> {
|
|
29
|
+
const prismaClient = getTestPrisma(databaseUrl);
|
|
30
|
+
|
|
31
|
+
try {
|
|
32
|
+
await prismaClient.$executeRaw`DROP DATABASE IF EXISTS ${Prisma.raw(
|
|
33
|
+
TEST_DATABASE_NAME,
|
|
34
|
+
)}`;
|
|
35
|
+
await prismaClient.$executeRaw`CREATE DATABASE ${Prisma.raw(
|
|
36
|
+
TEST_DATABASE_NAME,
|
|
37
|
+
)}`;
|
|
38
|
+
} finally {
|
|
39
|
+
await prismaClient.$disconnect();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const testDatabaseUrl = replaceDatabase(databaseUrl, TEST_DATABASE_NAME);
|
|
43
|
+
|
|
44
|
+
execSync('pnpm prisma migrate deploy', {
|
|
45
|
+
cwd: path.resolve(__dirname, '../../../'),
|
|
46
|
+
env: {
|
|
47
|
+
...process.env,
|
|
48
|
+
DATABASE_URL: testDatabaseUrl,
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
return testDatabaseUrl;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export async function createTestDatabaseFromTemplate(
|
|
56
|
+
databaseUrl: string,
|
|
57
|
+
templateDatabaseName: string,
|
|
58
|
+
): Promise<string> {
|
|
59
|
+
const prismaClient = getTestPrisma(databaseUrl);
|
|
60
|
+
const newDatabaseName = `${templateDatabaseName}-${nanoid(8)}`;
|
|
61
|
+
|
|
62
|
+
try {
|
|
63
|
+
await prismaClient.$executeRaw`CREATE DATABASE ${Prisma.raw(
|
|
64
|
+
newDatabaseName,
|
|
65
|
+
)} WITH TEMPLATE ${Prisma.raw(templateDatabaseName)}`;
|
|
66
|
+
} finally {
|
|
67
|
+
await prismaClient.$disconnect();
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return replaceDatabase(databaseUrl, newDatabaseName);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export async function destroyTestDatabase(databaseUrl: string): Promise<void> {
|
|
74
|
+
const prismaClient = getTestPrisma(databaseUrl);
|
|
75
|
+
|
|
76
|
+
try {
|
|
77
|
+
await prismaClient.$executeRaw`DROP DATABASE IF EXISTS ${Prisma.raw(
|
|
78
|
+
TEST_DATABASE_NAME,
|
|
79
|
+
)}`;
|
|
80
|
+
} finally {
|
|
81
|
+
await prismaClient.$disconnect();
|
|
82
|
+
}
|
|
83
|
+
}
|