@baseplate-dev/fastify-generators 0.3.8 → 0.4.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/dist/constants/fastify-packages.d.ts +12 -11
- package/dist/constants/fastify-packages.d.ts.map +1 -1
- package/dist/constants/fastify-packages.js +12 -11
- package/dist/constants/fastify-packages.js.map +1 -1
- package/dist/generators/auth/auth-context/generated/ts-import-providers.d.ts +1 -2
- package/dist/generators/auth/auth-context/generated/ts-import-providers.d.ts.map +1 -1
- package/dist/generators/auth/auth-context/generated/ts-import-providers.js +1 -1
- package/dist/generators/auth/auth-context/generated/ts-import-providers.js.map +1 -1
- package/dist/generators/auth/auth-roles/generated/ts-import-providers.d.ts +1 -2
- package/dist/generators/auth/auth-roles/generated/ts-import-providers.d.ts.map +1 -1
- package/dist/generators/auth/auth-roles/generated/ts-import-providers.js +1 -1
- package/dist/generators/auth/auth-roles/generated/ts-import-providers.js.map +1 -1
- package/dist/generators/auth/index.d.ts +0 -1
- package/dist/generators/auth/index.d.ts.map +1 -1
- package/dist/generators/auth/index.js +0 -1
- package/dist/generators/auth/index.js.map +1 -1
- package/dist/generators/auth/password-hasher-service/generated/ts-import-providers.d.ts +1 -2
- package/dist/generators/auth/password-hasher-service/generated/ts-import-providers.d.ts.map +1 -1
- package/dist/generators/auth/password-hasher-service/generated/ts-import-providers.js +1 -1
- package/dist/generators/auth/password-hasher-service/generated/ts-import-providers.js.map +1 -1
- package/dist/generators/auth/user-session-types/generated/ts-import-providers.d.ts +1 -2
- package/dist/generators/auth/user-session-types/generated/ts-import-providers.d.ts.map +1 -1
- package/dist/generators/auth/user-session-types/generated/ts-import-providers.js +1 -1
- package/dist/generators/auth/user-session-types/generated/ts-import-providers.js.map +1 -1
- package/dist/generators/bull/bull-mq/generated/ts-import-providers.d.ts +1 -2
- package/dist/generators/bull/bull-mq/generated/ts-import-providers.d.ts.map +1 -1
- package/dist/generators/bull/bull-mq/generated/ts-import-providers.js +1 -1
- package/dist/generators/bull/bull-mq/generated/ts-import-providers.js.map +1 -1
- package/dist/generators/core/app-module-setup/generated/ts-import-providers.d.ts +1 -2
- package/dist/generators/core/app-module-setup/generated/ts-import-providers.d.ts.map +1 -1
- package/dist/generators/core/app-module-setup/generated/ts-import-providers.js +1 -1
- package/dist/generators/core/app-module-setup/generated/ts-import-providers.js.map +1 -1
- package/dist/generators/core/axios/generated/ts-import-providers.d.ts +1 -2
- package/dist/generators/core/axios/generated/ts-import-providers.d.ts.map +1 -1
- package/dist/generators/core/axios/generated/ts-import-providers.js +3 -1
- package/dist/generators/core/axios/generated/ts-import-providers.js.map +1 -1
- package/dist/generators/core/config-service/generated/ts-import-providers.d.ts +1 -2
- package/dist/generators/core/config-service/generated/ts-import-providers.d.ts.map +1 -1
- package/dist/generators/core/config-service/generated/ts-import-providers.js +3 -1
- package/dist/generators/core/config-service/generated/ts-import-providers.js.map +1 -1
- package/dist/generators/core/error-handler-service/generated/ts-import-providers.d.ts +1 -2
- package/dist/generators/core/error-handler-service/generated/ts-import-providers.d.ts.map +1 -1
- package/dist/generators/core/error-handler-service/generated/ts-import-providers.js +1 -1
- package/dist/generators/core/error-handler-service/generated/ts-import-providers.js.map +1 -1
- package/dist/generators/core/fastify/fastify.generator.js +1 -1
- package/dist/generators/core/fastify/fastify.generator.js.map +1 -1
- package/dist/generators/core/fastify-redis/generated/ts-import-providers.d.ts +1 -2
- package/dist/generators/core/fastify-redis/generated/ts-import-providers.d.ts.map +1 -1
- package/dist/generators/core/fastify-redis/generated/ts-import-providers.js +1 -1
- package/dist/generators/core/fastify-redis/generated/ts-import-providers.js.map +1 -1
- package/dist/generators/core/fastify-sentry/fastify-sentry.generator.js +1 -1
- package/dist/generators/core/fastify-sentry/generated/ts-import-providers.d.ts +1 -2
- package/dist/generators/core/fastify-sentry/generated/ts-import-providers.d.ts.map +1 -1
- package/dist/generators/core/fastify-sentry/generated/ts-import-providers.js +1 -1
- package/dist/generators/core/fastify-sentry/generated/ts-import-providers.js.map +1 -1
- package/dist/generators/core/logger-service/generated/ts-import-providers.d.ts +1 -2
- package/dist/generators/core/logger-service/generated/ts-import-providers.d.ts.map +1 -1
- package/dist/generators/core/logger-service/generated/ts-import-providers.js +3 -1
- package/dist/generators/core/logger-service/generated/ts-import-providers.js.map +1 -1
- package/dist/generators/core/readme/templates/package/README.md +4 -4
- package/dist/generators/core/request-context/generated/ts-import-providers.d.ts +1 -2
- package/dist/generators/core/request-context/generated/ts-import-providers.d.ts.map +1 -1
- package/dist/generators/core/request-context/generated/ts-import-providers.js +1 -1
- package/dist/generators/core/request-context/generated/ts-import-providers.js.map +1 -1
- package/dist/generators/core/request-service-context/generated/ts-import-providers.d.ts +1 -2
- package/dist/generators/core/request-service-context/generated/ts-import-providers.d.ts.map +1 -1
- package/dist/generators/core/request-service-context/generated/ts-import-providers.js +1 -1
- package/dist/generators/core/request-service-context/generated/ts-import-providers.js.map +1 -1
- package/dist/generators/core/service-context/generated/ts-import-providers.d.ts +1 -2
- package/dist/generators/core/service-context/generated/ts-import-providers.d.ts.map +1 -1
- package/dist/generators/core/service-context/generated/ts-import-providers.js +1 -1
- package/dist/generators/core/service-context/generated/ts-import-providers.js.map +1 -1
- package/dist/generators/core/service-file/service-file.generator.d.ts +7 -0
- package/dist/generators/core/service-file/service-file.generator.d.ts.map +1 -1
- package/dist/generators/core/service-file/service-file.generator.js +12 -2
- package/dist/generators/core/service-file/service-file.generator.js.map +1 -1
- package/dist/generators/pothos/pothos/generated/index.d.ts +3 -1
- package/dist/generators/pothos/pothos/generated/index.d.ts.map +1 -1
- package/dist/generators/pothos/pothos/generated/ts-import-providers.d.ts +1 -2
- package/dist/generators/pothos/pothos/generated/ts-import-providers.d.ts.map +1 -1
- package/dist/generators/pothos/pothos/generated/ts-import-providers.js +1 -1
- package/dist/generators/pothos/pothos/generated/ts-import-providers.js.map +1 -1
- package/dist/generators/pothos/pothos/generated/typed-templates.d.ts +6 -2
- package/dist/generators/pothos/pothos/generated/typed-templates.d.ts.map +1 -1
- package/dist/generators/pothos/pothos/generated/typed-templates.js +1 -0
- package/dist/generators/pothos/pothos/generated/typed-templates.js.map +1 -1
- package/dist/generators/pothos/pothos/pothos.generator.d.ts +3 -3
- package/dist/generators/pothos/pothos/pothos.generator.d.ts.map +1 -1
- package/dist/generators/pothos/pothos/pothos.generator.js +4 -0
- package/dist/generators/pothos/pothos/pothos.generator.js.map +1 -1
- package/dist/generators/pothos/pothos/templates/src/plugins/graphql/FieldWithInputPayloadPlugin/global-types.ts +3 -5
- package/dist/generators/pothos/pothos/templates/src/plugins/graphql/FieldWithInputPayloadPlugin/schema-builder.ts +9 -4
- package/dist/generators/pothos/pothos/templates/src/plugins/graphql/FieldWithInputPayloadPlugin/types.ts +6 -1
- package/dist/generators/pothos/pothos-auth/pothos-auth.generator.d.ts +1 -1
- package/dist/generators/pothos/pothos-enums-file/pothos-enums-file.generator.d.ts +1 -1
- package/dist/generators/pothos/pothos-prisma/generated/index.d.ts +36 -0
- package/dist/generators/pothos/pothos-prisma/generated/index.d.ts.map +1 -0
- package/dist/generators/pothos/pothos-prisma/generated/index.js +11 -0
- package/dist/generators/pothos/pothos-prisma/generated/index.js.map +1 -0
- package/dist/generators/pothos/pothos-prisma/generated/template-paths.d.ts +12 -0
- package/dist/generators/pothos/pothos-prisma/generated/template-paths.d.ts.map +1 -0
- package/dist/generators/pothos/pothos-prisma/generated/template-paths.js +22 -0
- package/dist/generators/pothos/pothos-prisma/generated/template-paths.js.map +1 -0
- package/dist/generators/pothos/pothos-prisma/generated/template-renderers.d.ts +18 -0
- package/dist/generators/pothos/pothos-prisma/generated/template-renderers.d.ts.map +1 -0
- package/dist/generators/pothos/pothos-prisma/generated/template-renderers.js +34 -0
- package/dist/generators/pothos/pothos-prisma/generated/template-renderers.js.map +1 -0
- package/dist/generators/pothos/pothos-prisma/generated/ts-import-providers.d.ts +30 -0
- package/dist/generators/pothos/pothos-prisma/generated/ts-import-providers.d.ts.map +1 -0
- package/dist/generators/pothos/pothos-prisma/generated/ts-import-providers.js +30 -0
- package/dist/generators/pothos/pothos-prisma/generated/ts-import-providers.js.map +1 -0
- package/dist/generators/pothos/pothos-prisma/generated/typed-templates.d.ts +4 -0
- package/dist/generators/pothos/pothos-prisma/generated/typed-templates.d.ts.map +1 -0
- package/dist/generators/pothos/pothos-prisma/generated/typed-templates.js +14 -0
- package/dist/generators/pothos/pothos-prisma/generated/typed-templates.js.map +1 -0
- package/dist/generators/pothos/pothos-prisma/index.d.ts +2 -0
- package/dist/generators/pothos/pothos-prisma/index.d.ts.map +1 -1
- package/dist/generators/pothos/pothos-prisma/index.js +1 -0
- package/dist/generators/pothos/pothos-prisma/index.js.map +1 -1
- package/dist/generators/pothos/pothos-prisma/pothos-prisma.generator.d.ts +34 -1
- package/dist/generators/pothos/pothos-prisma/pothos-prisma.generator.d.ts.map +1 -1
- package/dist/generators/pothos/pothos-prisma/pothos-prisma.generator.js +20 -6
- package/dist/generators/pothos/pothos-prisma/pothos-prisma.generator.js.map +1 -1
- package/dist/generators/pothos/pothos-prisma-crud-mutation/pothos-prisma-crud-mutation.generator.d.ts +2 -2
- package/dist/generators/pothos/pothos-prisma-crud-mutation/pothos-prisma-crud-mutation.generator.d.ts.map +1 -1
- package/dist/generators/pothos/pothos-prisma-crud-mutation/pothos-prisma-crud-mutation.generator.js +87 -50
- package/dist/generators/pothos/pothos-prisma-crud-mutation/pothos-prisma-crud-mutation.generator.js.map +1 -1
- package/dist/generators/pothos/pothos-scalar/generated/index.d.ts +9 -39
- package/dist/generators/pothos/pothos-scalar/generated/index.d.ts.map +1 -1
- package/dist/generators/pothos/pothos-scalar/generated/template-paths.d.ts +2 -0
- package/dist/generators/pothos/pothos-scalar/generated/template-paths.d.ts.map +1 -1
- package/dist/generators/pothos/pothos-scalar/generated/template-paths.js +2 -0
- package/dist/generators/pothos/pothos-scalar/generated/template-paths.js.map +1 -1
- package/dist/generators/pothos/pothos-scalar/generated/template-renderers.d.ts +6 -10
- package/dist/generators/pothos/pothos-scalar/generated/template-renderers.d.ts.map +1 -1
- package/dist/generators/pothos/pothos-scalar/generated/template-renderers.js +21 -6
- package/dist/generators/pothos/pothos-scalar/generated/template-renderers.js.map +1 -1
- package/dist/generators/pothos/pothos-scalar/generated/typed-templates.d.ts +9 -29
- package/dist/generators/pothos/pothos-scalar/generated/typed-templates.d.ts.map +1 -1
- package/dist/generators/pothos/pothos-scalar/generated/typed-templates.js +28 -14
- package/dist/generators/pothos/pothos-scalar/generated/typed-templates.js.map +1 -1
- package/dist/generators/pothos/pothos-scalar/pothos-scalar.generator.d.ts +2 -12
- package/dist/generators/pothos/pothos-scalar/pothos-scalar.generator.d.ts.map +1 -1
- package/dist/generators/pothos/pothos-scalar/pothos-scalar.generator.js +35 -11
- package/dist/generators/pothos/pothos-scalar/pothos-scalar.generator.js.map +1 -1
- package/dist/generators/pothos/pothos-scalar/templates/module/scalars/date-time.ts +21 -28
- package/dist/generators/pothos/pothos-scalar/templates/module/scalars/date.ts +13 -45
- package/dist/generators/pothos/pothos-scalar/templates/module/scalars/json-object.ts +28 -0
- package/dist/generators/pothos/pothos-scalar/templates/module/scalars/json.ts +23 -0
- package/dist/generators/pothos/pothos-scalar/templates/module/scalars/uuid.ts +13 -31
- package/dist/generators/pothos/pothos-sentry/pothos-sentry.generator.d.ts +1 -1
- package/dist/generators/prisma/_providers/index.d.ts +2 -0
- package/dist/generators/prisma/_providers/index.d.ts.map +1 -0
- package/dist/generators/prisma/_providers/index.js +2 -0
- package/dist/generators/prisma/_providers/index.js.map +1 -0
- package/dist/generators/prisma/_providers/prisma-generated-imports.d.ts +15 -0
- package/dist/generators/prisma/_providers/prisma-generated-imports.d.ts.map +1 -0
- package/dist/generators/prisma/_providers/prisma-generated-imports.js +10 -0
- package/dist/generators/prisma/_providers/prisma-generated-imports.js.map +1 -0
- package/dist/generators/prisma/_shared/build-data-helpers/generate-operation-callbacks.d.ts +124 -0
- package/dist/generators/prisma/_shared/build-data-helpers/generate-operation-callbacks.d.ts.map +1 -0
- package/dist/generators/prisma/_shared/build-data-helpers/generate-operation-callbacks.js +137 -0
- package/dist/generators/prisma/_shared/build-data-helpers/generate-operation-callbacks.js.map +1 -0
- package/dist/generators/prisma/_shared/build-data-helpers/generate-relation-build-data.d.ts +82 -0
- package/dist/generators/prisma/_shared/build-data-helpers/generate-relation-build-data.d.ts.map +1 -0
- package/dist/generators/prisma/_shared/build-data-helpers/generate-relation-build-data.js +215 -0
- package/dist/generators/prisma/_shared/build-data-helpers/generate-relation-build-data.js.map +1 -0
- package/dist/generators/prisma/_shared/build-data-helpers/index.d.ts +3 -0
- package/dist/generators/prisma/_shared/build-data-helpers/index.d.ts.map +1 -0
- package/dist/generators/prisma/_shared/build-data-helpers/index.js +3 -0
- package/dist/generators/prisma/_shared/build-data-helpers/index.js.map +1 -0
- package/dist/generators/prisma/_shared/crud-method/primary-key-input.d.ts +0 -9
- package/dist/generators/prisma/_shared/crud-method/primary-key-input.d.ts.map +1 -1
- package/dist/generators/prisma/_shared/crud-method/primary-key-input.js +0 -32
- package/dist/generators/prisma/_shared/crud-method/primary-key-input.js.map +1 -1
- package/dist/generators/prisma/_shared/field-definition-generators/generate-scalar-input-field.d.ts +26 -0
- package/dist/generators/prisma/_shared/field-definition-generators/generate-scalar-input-field.d.ts.map +1 -0
- package/dist/generators/prisma/_shared/field-definition-generators/generate-scalar-input-field.js +47 -0
- package/dist/generators/prisma/_shared/field-definition-generators/generate-scalar-input-field.js.map +1 -0
- package/dist/generators/prisma/_shared/field-definition-generators/types.d.ts +8 -0
- package/dist/generators/prisma/_shared/field-definition-generators/types.d.ts.map +1 -0
- package/dist/generators/prisma/_shared/field-definition-generators/types.js +2 -0
- package/dist/generators/prisma/_shared/field-definition-generators/types.js.map +1 -0
- package/dist/generators/prisma/data-utils/data-utils.generator.d.ts +109 -0
- package/dist/generators/prisma/data-utils/data-utils.generator.d.ts.map +1 -0
- package/dist/generators/prisma/data-utils/data-utils.generator.js +32 -0
- package/dist/generators/prisma/data-utils/data-utils.generator.js.map +1 -0
- package/dist/generators/prisma/data-utils/generated/index.d.ts +190 -0
- package/dist/generators/prisma/data-utils/generated/index.d.ts.map +1 -0
- package/dist/generators/prisma/data-utils/generated/index.js +11 -0
- package/dist/generators/prisma/data-utils/generated/index.js.map +1 -0
- package/dist/generators/prisma/data-utils/generated/template-paths.d.ts +17 -0
- package/dist/generators/prisma/data-utils/generated/template-paths.d.ts.map +1 -0
- package/dist/generators/prisma/data-utils/generated/template-paths.js +27 -0
- package/dist/generators/prisma/data-utils/generated/template-paths.js.map +1 -0
- package/dist/generators/prisma/data-utils/generated/template-renderers.d.ts +45 -0
- package/dist/generators/prisma/data-utils/generated/template-renderers.d.ts.map +1 -0
- package/dist/generators/prisma/data-utils/generated/template-renderers.js +47 -0
- package/dist/generators/prisma/data-utils/generated/template-renderers.js.map +1 -0
- package/dist/generators/prisma/data-utils/generated/ts-import-providers.d.ts +183 -0
- package/dist/generators/prisma/data-utils/generated/ts-import-providers.d.ts.map +1 -0
- package/dist/generators/prisma/data-utils/generated/ts-import-providers.js +72 -0
- package/dist/generators/prisma/data-utils/generated/ts-import-providers.js.map +1 -0
- package/dist/generators/prisma/data-utils/generated/typed-templates.d.ts +157 -0
- package/dist/generators/prisma/data-utils/generated/typed-templates.d.ts.map +1 -0
- package/dist/generators/prisma/data-utils/generated/typed-templates.js +125 -0
- package/dist/generators/prisma/data-utils/generated/typed-templates.js.map +1 -0
- package/dist/generators/prisma/data-utils/index.d.ts +4 -0
- package/dist/generators/prisma/data-utils/index.d.ts.map +1 -0
- package/dist/generators/prisma/data-utils/index.js +3 -0
- package/dist/generators/prisma/data-utils/index.js.map +1 -0
- package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/define-operations.ts +1030 -0
- package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/field-definitions.ts +782 -0
- package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/prisma-types.ts +164 -0
- package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/prisma-utils.ts +80 -0
- package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/relation-helpers.ts +196 -0
- package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/types.ts +372 -0
- package/dist/generators/prisma/index.d.ts +7 -6
- package/dist/generators/prisma/index.d.ts.map +1 -1
- package/dist/generators/prisma/index.js +7 -6
- package/dist/generators/prisma/index.js.map +1 -1
- package/dist/generators/prisma/prisma/generated/index.d.ts +19 -1
- package/dist/generators/prisma/prisma/generated/index.d.ts.map +1 -1
- package/dist/generators/prisma/prisma/generated/template-paths.d.ts +1 -0
- package/dist/generators/prisma/prisma/generated/template-paths.d.ts.map +1 -1
- package/dist/generators/prisma/prisma/generated/template-paths.js +1 -0
- package/dist/generators/prisma/prisma/generated/template-paths.js.map +1 -1
- package/dist/generators/prisma/prisma/generated/template-renderers.d.ts +7 -1
- package/dist/generators/prisma/prisma/generated/template-renderers.d.ts.map +1 -1
- package/dist/generators/prisma/prisma/generated/template-renderers.js +14 -1
- package/dist/generators/prisma/prisma/generated/template-renderers.js.map +1 -1
- package/dist/generators/prisma/prisma/generated/ts-import-providers.d.ts +7 -2
- package/dist/generators/prisma/prisma/generated/ts-import-providers.d.ts.map +1 -1
- package/dist/generators/prisma/prisma/generated/ts-import-providers.js +12 -2
- package/dist/generators/prisma/prisma/generated/ts-import-providers.js.map +1 -1
- package/dist/generators/prisma/prisma/generated/typed-templates.d.ts +13 -1
- package/dist/generators/prisma/prisma/generated/typed-templates.d.ts.map +1 -1
- package/dist/generators/prisma/prisma/generated/typed-templates.js +19 -2
- package/dist/generators/prisma/prisma/generated/typed-templates.js.map +1 -1
- package/dist/generators/prisma/prisma/prisma.generator.d.ts +21 -0
- package/dist/generators/prisma/prisma/prisma.generator.d.ts.map +1 -1
- package/dist/generators/prisma/prisma/prisma.generator.js +42 -8
- package/dist/generators/prisma/prisma/prisma.generator.js.map +1 -1
- package/dist/generators/prisma/prisma/templates/package/prisma.config.mts +7 -2
- package/dist/generators/prisma/prisma/templates/src/services/prisma.ts +5 -2
- package/dist/generators/prisma/prisma-data-create/index.d.ts +2 -0
- package/dist/generators/prisma/prisma-data-create/index.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-data-create/index.js +2 -0
- package/dist/generators/prisma/prisma-data-create/index.js.map +1 -0
- package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.d.ts +73 -0
- package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.js +102 -0
- package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.js.map +1 -0
- package/dist/generators/prisma/prisma-data-delete/index.d.ts +2 -0
- package/dist/generators/prisma/prisma-data-delete/index.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-data-delete/index.js +2 -0
- package/dist/generators/prisma/prisma-data-delete/index.js.map +1 -0
- package/dist/generators/prisma/prisma-data-delete/prisma-data-delete.generator.d.ts +72 -0
- package/dist/generators/prisma/prisma-data-delete/prisma-data-delete.generator.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-data-delete/prisma-data-delete.generator.js +82 -0
- package/dist/generators/prisma/prisma-data-delete/prisma-data-delete.generator.js.map +1 -0
- package/dist/generators/prisma/prisma-data-nested-field/index.d.ts +2 -0
- package/dist/generators/prisma/prisma-data-nested-field/index.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-data-nested-field/index.js +2 -0
- package/dist/generators/prisma/prisma-data-nested-field/index.js.map +1 -0
- package/dist/generators/prisma/prisma-data-nested-field/nested-field-writer.d.ts +16 -0
- package/dist/generators/prisma/prisma-data-nested-field/nested-field-writer.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-data-nested-field/nested-field-writer.js +179 -0
- package/dist/generators/prisma/prisma-data-nested-field/nested-field-writer.js.map +1 -0
- package/dist/generators/prisma/prisma-data-nested-field/prisma-data-nested-field.generator.d.ts +95 -0
- package/dist/generators/prisma/prisma-data-nested-field/prisma-data-nested-field.generator.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-data-nested-field/prisma-data-nested-field.generator.js +120 -0
- package/dist/generators/prisma/prisma-data-nested-field/prisma-data-nested-field.generator.js.map +1 -0
- package/dist/generators/prisma/prisma-data-service/index.d.ts +2 -0
- package/dist/generators/prisma/prisma-data-service/index.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-data-service/index.js +2 -0
- package/dist/generators/prisma/prisma-data-service/index.js.map +1 -0
- package/dist/generators/prisma/prisma-data-service/prisma-data-service.generator.d.ts +117 -0
- package/dist/generators/prisma/prisma-data-service/prisma-data-service.generator.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-data-service/prisma-data-service.generator.js +127 -0
- package/dist/generators/prisma/prisma-data-service/prisma-data-service.generator.js.map +1 -0
- package/dist/generators/prisma/prisma-data-update/index.d.ts +2 -0
- package/dist/generators/prisma/prisma-data-update/index.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-data-update/index.js +2 -0
- package/dist/generators/prisma/prisma-data-update/index.js.map +1 -0
- package/dist/generators/prisma/prisma-data-update/prisma-data-update.generator.d.ts +73 -0
- package/dist/generators/prisma/prisma-data-update/prisma-data-update.generator.d.ts.map +1 -0
- package/dist/generators/prisma/prisma-data-update/prisma-data-update.generator.js +114 -0
- package/dist/generators/prisma/prisma-data-update/prisma-data-update.generator.js.map +1 -0
- package/dist/generators/prisma/prisma-field/prisma-field.generator.d.ts +6 -6
- package/dist/generators/stripe/fastify-stripe/generated/ts-import-providers.d.ts +1 -2
- package/dist/generators/stripe/fastify-stripe/generated/ts-import-providers.d.ts.map +1 -1
- package/dist/generators/stripe/fastify-stripe/generated/ts-import-providers.js +1 -1
- package/dist/generators/stripe/fastify-stripe/generated/ts-import-providers.js.map +1 -1
- package/dist/generators/vitest/prisma-vitest/generated/index.d.ts +20 -1
- package/dist/generators/vitest/prisma-vitest/generated/index.d.ts.map +1 -1
- package/dist/generators/vitest/prisma-vitest/generated/template-renderers.d.ts +6 -0
- package/dist/generators/vitest/prisma-vitest/generated/template-renderers.d.ts.map +1 -1
- package/dist/generators/vitest/prisma-vitest/generated/template-renderers.js +7 -1
- package/dist/generators/vitest/prisma-vitest/generated/template-renderers.js.map +1 -1
- package/dist/generators/vitest/prisma-vitest/generated/ts-import-providers.d.ts +1 -2
- package/dist/generators/vitest/prisma-vitest/generated/ts-import-providers.d.ts.map +1 -1
- package/dist/generators/vitest/prisma-vitest/generated/ts-import-providers.js +1 -1
- package/dist/generators/vitest/prisma-vitest/generated/ts-import-providers.js.map +1 -1
- package/dist/generators/vitest/prisma-vitest/generated/typed-templates.d.ts +14 -1
- package/dist/generators/vitest/prisma-vitest/generated/typed-templates.d.ts.map +1 -1
- package/dist/generators/vitest/prisma-vitest/generated/typed-templates.js +8 -2
- package/dist/generators/vitest/prisma-vitest/generated/typed-templates.js.map +1 -1
- package/dist/generators/vitest/prisma-vitest/prisma-vitest.generator.d.ts +16 -0
- package/dist/generators/vitest/prisma-vitest/prisma-vitest.generator.d.ts.map +1 -1
- package/dist/generators/vitest/prisma-vitest/prisma-vitest.generator.js +5 -10
- package/dist/generators/vitest/prisma-vitest/prisma-vitest.generator.js.map +1 -1
- package/dist/generators/vitest/prisma-vitest/templates/src/tests/helpers/db.test-helper.ts +3 -2
- package/dist/generators/vitest/prisma-vitest/templates/src/tests/helpers/prisma.test-helper.ts +1 -1
- package/dist/types/field-types.d.ts +1 -1
- package/dist/types/field-types.d.ts.map +1 -1
- package/dist/types/field-types.js +2 -0
- package/dist/types/field-types.js.map +1 -1
- package/dist/types/service-dto-kinds.d.ts +59 -0
- package/dist/types/service-dto-kinds.d.ts.map +1 -0
- package/dist/types/service-dto-kinds.js +53 -0
- package/dist/types/service-dto-kinds.js.map +1 -0
- package/dist/types/service-output.d.ts +25 -2
- package/dist/types/service-output.d.ts.map +1 -1
- package/dist/types/service-output.js +22 -2
- package/dist/types/service-output.js.map +1 -1
- package/dist/writers/pothos/input-types.d.ts +1 -1
- package/dist/writers/pothos/input-types.d.ts.map +1 -1
- package/dist/writers/pothos/input-types.js +7 -10
- package/dist/writers/pothos/input-types.js.map +1 -1
- package/dist/writers/pothos/resolvers.d.ts.map +1 -1
- package/dist/writers/pothos/resolvers.js +9 -6
- package/dist/writers/pothos/resolvers.js.map +1 -1
- package/dist/writers/pothos/scalars.d.ts.map +1 -1
- package/dist/writers/pothos/scalars.js +5 -0
- package/dist/writers/pothos/scalars.js.map +1 -1
- package/dist/writers/prisma-schema/fields.d.ts +3 -0
- package/dist/writers/prisma-schema/fields.d.ts.map +1 -1
- package/dist/writers/prisma-schema/fields.js +1 -0
- package/dist/writers/prisma-schema/fields.js.map +1 -1
- package/package.json +8 -6
- package/dist/generators/auth/prisma-password-transformer/index.d.ts +0 -2
- package/dist/generators/auth/prisma-password-transformer/index.d.ts.map +0 -1
- package/dist/generators/auth/prisma-password-transformer/index.js +0 -2
- package/dist/generators/auth/prisma-password-transformer/index.js.map +0 -1
- package/dist/generators/auth/prisma-password-transformer/prisma-password-transformer.generator.d.ts +0 -12
- package/dist/generators/auth/prisma-password-transformer/prisma-password-transformer.generator.d.ts.map +0 -1
- package/dist/generators/auth/prisma-password-transformer/prisma-password-transformer.generator.js +0 -48
- package/dist/generators/auth/prisma-password-transformer/prisma-password-transformer.generator.js.map +0 -1
- package/dist/generators/prisma/_shared/crud-method/data-method.d.ts +0 -31
- package/dist/generators/prisma/_shared/crud-method/data-method.d.ts.map +0 -1
- package/dist/generators/prisma/_shared/crud-method/data-method.js +0 -195
- package/dist/generators/prisma/_shared/crud-method/data-method.js.map +0 -1
- package/dist/generators/prisma/embedded-relation-transformer/embedded-relation-transformer.generator.d.ts +0 -50
- package/dist/generators/prisma/embedded-relation-transformer/embedded-relation-transformer.generator.d.ts.map +0 -1
- package/dist/generators/prisma/embedded-relation-transformer/embedded-relation-transformer.generator.js +0 -371
- package/dist/generators/prisma/embedded-relation-transformer/embedded-relation-transformer.generator.js.map +0 -1
- package/dist/generators/prisma/embedded-relation-transformer/index.d.ts +0 -2
- package/dist/generators/prisma/embedded-relation-transformer/index.d.ts.map +0 -1
- package/dist/generators/prisma/embedded-relation-transformer/index.js +0 -2
- package/dist/generators/prisma/embedded-relation-transformer/index.js.map +0 -1
- package/dist/generators/prisma/prisma-crud-create/index.d.ts +0 -2
- package/dist/generators/prisma/prisma-crud-create/index.d.ts.map +0 -1
- package/dist/generators/prisma/prisma-crud-create/index.js +0 -2
- package/dist/generators/prisma/prisma-crud-create/index.js.map +0 -1
- package/dist/generators/prisma/prisma-crud-create/prisma-crud-create.generator.d.ts +0 -48
- package/dist/generators/prisma/prisma-crud-create/prisma-crud-create.generator.d.ts.map +0 -1
- package/dist/generators/prisma/prisma-crud-create/prisma-crud-create.generator.js +0 -130
- package/dist/generators/prisma/prisma-crud-create/prisma-crud-create.generator.js.map +0 -1
- package/dist/generators/prisma/prisma-crud-delete/index.d.ts +0 -2
- package/dist/generators/prisma/prisma-crud-delete/index.d.ts.map +0 -1
- package/dist/generators/prisma/prisma-crud-delete/index.js +0 -2
- package/dist/generators/prisma/prisma-crud-delete/index.js.map +0 -1
- package/dist/generators/prisma/prisma-crud-delete/prisma-crud-delete.generator.d.ts +0 -38
- package/dist/generators/prisma/prisma-crud-delete/prisma-crud-delete.generator.d.ts.map +0 -1
- package/dist/generators/prisma/prisma-crud-delete/prisma-crud-delete.generator.js +0 -94
- package/dist/generators/prisma/prisma-crud-delete/prisma-crud-delete.generator.js.map +0 -1
- package/dist/generators/prisma/prisma-crud-service/index.d.ts +0 -2
- package/dist/generators/prisma/prisma-crud-service/index.d.ts.map +0 -1
- package/dist/generators/prisma/prisma-crud-service/index.js +0 -2
- package/dist/generators/prisma/prisma-crud-service/index.js.map +0 -1
- package/dist/generators/prisma/prisma-crud-service/prisma-crud-service.generator.d.ts +0 -20
- package/dist/generators/prisma/prisma-crud-service/prisma-crud-service.generator.d.ts.map +0 -1
- package/dist/generators/prisma/prisma-crud-service/prisma-crud-service.generator.js +0 -53
- package/dist/generators/prisma/prisma-crud-service/prisma-crud-service.generator.js.map +0 -1
- package/dist/generators/prisma/prisma-crud-update/index.d.ts +0 -2
- package/dist/generators/prisma/prisma-crud-update/index.d.ts.map +0 -1
- package/dist/generators/prisma/prisma-crud-update/index.js +0 -2
- package/dist/generators/prisma/prisma-crud-update/index.js.map +0 -1
- package/dist/generators/prisma/prisma-crud-update/prisma-crud-update.generator.d.ts +0 -48
- package/dist/generators/prisma/prisma-crud-update/prisma-crud-update.generator.d.ts.map +0 -1
- package/dist/generators/prisma/prisma-crud-update/prisma-crud-update.generator.js +0 -145
- package/dist/generators/prisma/prisma-crud-update/prisma-crud-update.generator.js.map +0 -1
- package/dist/generators/prisma/prisma-utils/generated/index.d.ts +0 -134
- package/dist/generators/prisma/prisma-utils/generated/index.d.ts.map +0 -1
- package/dist/generators/prisma/prisma-utils/generated/index.js +0 -11
- package/dist/generators/prisma/prisma-utils/generated/index.js.map +0 -1
- package/dist/generators/prisma/prisma-utils/generated/template-paths.d.ts +0 -17
- package/dist/generators/prisma/prisma-utils/generated/template-paths.d.ts.map +0 -1
- package/dist/generators/prisma/prisma-utils/generated/template-paths.js +0 -27
- package/dist/generators/prisma/prisma-utils/generated/template-paths.js.map +0 -1
- package/dist/generators/prisma/prisma-utils/generated/template-renderers.d.ts +0 -37
- package/dist/generators/prisma/prisma-utils/generated/template-renderers.d.ts.map +0 -1
- package/dist/generators/prisma/prisma-utils/generated/template-renderers.js +0 -43
- package/dist/generators/prisma/prisma-utils/generated/template-renderers.js.map +0 -1
- package/dist/generators/prisma/prisma-utils/generated/ts-import-providers.d.ts +0 -88
- package/dist/generators/prisma/prisma-utils/generated/ts-import-providers.d.ts.map +0 -1
- package/dist/generators/prisma/prisma-utils/generated/ts-import-providers.js +0 -54
- package/dist/generators/prisma/prisma-utils/generated/ts-import-providers.js.map +0 -1
- package/dist/generators/prisma/prisma-utils/generated/typed-templates.d.ts +0 -125
- package/dist/generators/prisma/prisma-utils/generated/typed-templates.d.ts.map +0 -1
- package/dist/generators/prisma/prisma-utils/generated/typed-templates.js +0 -104
- package/dist/generators/prisma/prisma-utils/generated/typed-templates.js.map +0 -1
- package/dist/generators/prisma/prisma-utils/index.d.ts +0 -4
- package/dist/generators/prisma/prisma-utils/index.d.ts.map +0 -1
- package/dist/generators/prisma/prisma-utils/index.js +0 -3
- package/dist/generators/prisma/prisma-utils/index.js.map +0 -1
- package/dist/generators/prisma/prisma-utils/prisma-utils.generator.d.ts +0 -61
- package/dist/generators/prisma/prisma-utils/prisma-utils.generator.d.ts.map +0 -1
- package/dist/generators/prisma/prisma-utils/prisma-utils.generator.js +0 -43
- package/dist/generators/prisma/prisma-utils/prisma-utils.generator.js.map +0 -1
- package/dist/generators/prisma/prisma-utils/templates/src/utils/crud-service-types.ts +0 -35
- package/dist/generators/prisma/prisma-utils/templates/src/utils/data-pipes.ts +0 -86
- package/dist/generators/prisma/prisma-utils/templates/src/utils/embedded-pipes/embedded-one-to-many.ts +0 -245
- package/dist/generators/prisma/prisma-utils/templates/src/utils/embedded-pipes/embedded-one-to-one.ts +0 -147
- package/dist/generators/prisma/prisma-utils/templates/src/utils/embedded-pipes/embedded-types.ts +0 -6
- package/dist/generators/prisma/prisma-utils/templates/src/utils/prisma-relations.ts +0 -24
- package/dist/providers/prisma/prisma-data-transformable.d.ts +0 -27
- package/dist/providers/prisma/prisma-data-transformable.d.ts.map +0 -1
- package/dist/providers/prisma/prisma-data-transformable.js +0 -2
- package/dist/providers/prisma/prisma-data-transformable.js.map +0 -1
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
|
|
3
|
+
import type { Prisma } from '%prismaGeneratedImports';
|
|
4
|
+
import type { prisma } from '%prismaImports';
|
|
5
|
+
import type { Args, Result } from '@prisma/client/runtime/client';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Union type of all Prisma model names (e.g., 'user', 'post', 'comment').
|
|
9
|
+
*
|
|
10
|
+
* Used as a constraint for generic type parameters to ensure only valid
|
|
11
|
+
* Prisma model names are used.
|
|
12
|
+
*/
|
|
13
|
+
export type ModelPropName = Prisma.TypeMap['meta']['modelProps'];
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Infers the return type of a Prisma query for a given model and query arguments.
|
|
17
|
+
*
|
|
18
|
+
* This type extracts the shape of data returned from a Prisma query, respecting
|
|
19
|
+
* any `select` or `include` arguments provided.
|
|
20
|
+
*
|
|
21
|
+
* @template TModelName - The Prisma model name
|
|
22
|
+
* @template TQueryArgs - Optional query arguments (select/include)
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* // Basic user type
|
|
27
|
+
* type User = GetPayload<'user'>;
|
|
28
|
+
*
|
|
29
|
+
* // User with posts included
|
|
30
|
+
* type UserWithPosts = GetPayload<'user', { include: { posts: true } }>;
|
|
31
|
+
*
|
|
32
|
+
* // User with only specific fields
|
|
33
|
+
* type UserNameEmail = GetPayload<'user', { select: { name: true, email: true } }>;
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export type GetPayload<
|
|
37
|
+
TModelName extends ModelPropName,
|
|
38
|
+
TQueryArgs = undefined,
|
|
39
|
+
> = Result<(typeof prisma)[TModelName], TQueryArgs, 'findUniqueOrThrow'>;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Type for Prisma query arguments (select/include) for a given model.
|
|
43
|
+
*
|
|
44
|
+
* Used to shape the returned data from database operations by specifying
|
|
45
|
+
* which fields to select or which relations to include.
|
|
46
|
+
*
|
|
47
|
+
* @template TModelName - The Prisma model name
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```typescript
|
|
51
|
+
* const query: ModelQuery<'user'> = {
|
|
52
|
+
* select: { id: true, name: true, email: true },
|
|
53
|
+
* };
|
|
54
|
+
*
|
|
55
|
+
* const queryWithInclude: ModelQuery<'user'> = {
|
|
56
|
+
* include: { posts: true, profile: true },
|
|
57
|
+
* };
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export type ModelQuery<TModelName extends ModelPropName> = Pick<
|
|
61
|
+
{ select?: unknown; include?: unknown } & Args<
|
|
62
|
+
(typeof prisma)[TModelName],
|
|
63
|
+
'findUnique'
|
|
64
|
+
>,
|
|
65
|
+
'select' | 'include'
|
|
66
|
+
>;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Type for Prisma where clauses for filtering records.
|
|
70
|
+
*
|
|
71
|
+
* Used in `findMany`, `updateMany`, `deleteMany` operations to specify
|
|
72
|
+
* which records to operate on.
|
|
73
|
+
*
|
|
74
|
+
* @template TModelName - The Prisma model name
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```typescript
|
|
78
|
+
* const where: WhereInput<'user'> = {
|
|
79
|
+
* email: { contains: '@example.com' },
|
|
80
|
+
* AND: [{ isActive: true }, { createdAt: { gt: new Date('2024-01-01') } }],
|
|
81
|
+
* };
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
export type WhereInput<TModelName extends ModelPropName> = Args<
|
|
85
|
+
(typeof prisma)[TModelName],
|
|
86
|
+
'findMany'
|
|
87
|
+
>['where'];
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Type for Prisma unique where clauses for finding a single record.
|
|
91
|
+
*
|
|
92
|
+
* Used in `findUnique`, `update`, `delete`, and `upsert` operations
|
|
93
|
+
* to specify which record to operate on using unique fields.
|
|
94
|
+
*
|
|
95
|
+
* @template TModelName - The Prisma model name
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* ```typescript
|
|
99
|
+
* // By ID
|
|
100
|
+
* const where1: WhereUniqueInput<'user'> = { id: 'user-123' };
|
|
101
|
+
*
|
|
102
|
+
* // By unique email
|
|
103
|
+
* const where2: WhereUniqueInput<'user'> = { email: 'user@example.com' };
|
|
104
|
+
*
|
|
105
|
+
* // By compound unique constraint
|
|
106
|
+
* const where3: WhereUniqueInput<'membership'> = {
|
|
107
|
+
* userId_teamId: { userId: 'user-1', teamId: 'team-1' },
|
|
108
|
+
* };
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
111
|
+
export type WhereUniqueInput<TModelName extends ModelPropName> = Args<
|
|
112
|
+
(typeof prisma)[TModelName],
|
|
113
|
+
'findUnique'
|
|
114
|
+
>['where'];
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Type for Prisma create input data for a given model.
|
|
118
|
+
*
|
|
119
|
+
* Represents the shape of data accepted by `create` operations.
|
|
120
|
+
* Includes all required fields and optional fields, with support for
|
|
121
|
+
* nested creates via relation fields.
|
|
122
|
+
*
|
|
123
|
+
* @template TModelName - The Prisma model name
|
|
124
|
+
*
|
|
125
|
+
* @example
|
|
126
|
+
* ```typescript
|
|
127
|
+
* const createData: CreateInput<'user'> = {
|
|
128
|
+
* name: 'John Doe',
|
|
129
|
+
* email: 'john@example.com',
|
|
130
|
+
* posts: {
|
|
131
|
+
* create: [{ title: 'First post', content: '...' }],
|
|
132
|
+
* },
|
|
133
|
+
* };
|
|
134
|
+
* ```
|
|
135
|
+
*/
|
|
136
|
+
export type CreateInput<TModelName extends ModelPropName> = Args<
|
|
137
|
+
(typeof prisma)[TModelName],
|
|
138
|
+
'create'
|
|
139
|
+
>['data'];
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Type for Prisma update input data for a given model.
|
|
143
|
+
*
|
|
144
|
+
* Represents the shape of data accepted by `update` operations.
|
|
145
|
+
* All fields are optional (partial updates), with support for
|
|
146
|
+
* nested updates, creates, and deletes via relation fields.
|
|
147
|
+
*
|
|
148
|
+
* @template TModelName - The Prisma model name
|
|
149
|
+
*
|
|
150
|
+
* @example
|
|
151
|
+
* ```typescript
|
|
152
|
+
* const updateData: UpdateInput<'user'> = {
|
|
153
|
+
* name: 'Jane Doe', // Only updating name
|
|
154
|
+
* posts: {
|
|
155
|
+
* update: [{ where: { id: 'post-1' }, data: { title: 'Updated title' } }],
|
|
156
|
+
* create: [{ title: 'New post', content: '...' }],
|
|
157
|
+
* },
|
|
158
|
+
* };
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
export type UpdateInput<TModelName extends ModelPropName> = Args<
|
|
162
|
+
(typeof prisma)[TModelName],
|
|
163
|
+
'update'
|
|
164
|
+
>['data'];
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
|
|
3
|
+
import type {
|
|
4
|
+
CreateInput,
|
|
5
|
+
GetPayload,
|
|
6
|
+
ModelPropName,
|
|
7
|
+
UpdateInput,
|
|
8
|
+
WhereInput,
|
|
9
|
+
WhereUniqueInput,
|
|
10
|
+
} from '$prismaTypes';
|
|
11
|
+
import type { PrismaTransaction } from '$types';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Generic interface for Prisma model delegates.
|
|
15
|
+
*
|
|
16
|
+
* Provides a type-safe way to interact with any Prisma model through
|
|
17
|
+
* a common set of operations. Used internally by the data operations
|
|
18
|
+
* system to perform database operations on models determined at runtime.
|
|
19
|
+
*
|
|
20
|
+
* @template TModelName - The Prisma model name
|
|
21
|
+
*
|
|
22
|
+
* @internal This interface is used internally by the data operations system
|
|
23
|
+
*/
|
|
24
|
+
interface GenericPrismaDelegate<TModelName extends ModelPropName> {
|
|
25
|
+
findUnique: (args: {
|
|
26
|
+
where: WhereUniqueInput<TModelName>;
|
|
27
|
+
}) => Promise<GetPayload<TModelName> | null>;
|
|
28
|
+
findMany: (args: {
|
|
29
|
+
where: WhereInput<TModelName>;
|
|
30
|
+
}) => Promise<GetPayload<TModelName>[]>;
|
|
31
|
+
create: (args: {
|
|
32
|
+
data: CreateInput<TModelName>;
|
|
33
|
+
}) => Promise<GetPayload<TModelName>>;
|
|
34
|
+
update: (args: {
|
|
35
|
+
where: WhereUniqueInput<TModelName>;
|
|
36
|
+
data: UpdateInput<TModelName>;
|
|
37
|
+
}) => Promise<GetPayload<TModelName>>;
|
|
38
|
+
upsert: (args: {
|
|
39
|
+
where: WhereUniqueInput<TModelName>;
|
|
40
|
+
create: CreateInput<TModelName>;
|
|
41
|
+
update: UpdateInput<TModelName>;
|
|
42
|
+
}) => Promise<GetPayload<TModelName>>;
|
|
43
|
+
delete: (args: {
|
|
44
|
+
where: WhereUniqueInput<TModelName>;
|
|
45
|
+
}) => Promise<GetPayload<TModelName>>;
|
|
46
|
+
deleteMany: (args: {
|
|
47
|
+
where: WhereInput<TModelName>;
|
|
48
|
+
}) => Promise<{ count: number }>;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Creates a type-safe generic delegate for a Prisma model.
|
|
53
|
+
*
|
|
54
|
+
* This function allows accessing Prisma model operations (findUnique, create, update, etc.)
|
|
55
|
+
* in a type-safe way when the model name is only known at runtime. It's used internally
|
|
56
|
+
* by nested field handlers and other generic operations.
|
|
57
|
+
*
|
|
58
|
+
* @template TModelName - The Prisma model name
|
|
59
|
+
* @param tx - Prisma transaction client
|
|
60
|
+
* @param modelName - The name of the model to create a delegate for (e.g., 'user', 'post')
|
|
61
|
+
* @returns A generic delegate providing type-safe access to model operations
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```typescript
|
|
65
|
+
* const delegate = makeGenericPrismaDelegate(tx, 'user');
|
|
66
|
+
*
|
|
67
|
+
* // Type-safe operations
|
|
68
|
+
* const user = await delegate.findUnique({ where: { id: userId } });
|
|
69
|
+
* const users = await delegate.findMany({ where: { isActive: true } });
|
|
70
|
+
* const newUser = await delegate.create({ data: { name: 'John', email: 'john@example.com' } });
|
|
71
|
+
* ```
|
|
72
|
+
*
|
|
73
|
+
* @internal This function is used internally by nested field handlers
|
|
74
|
+
*/
|
|
75
|
+
export function makeGenericPrismaDelegate<TModelName extends ModelPropName>(
|
|
76
|
+
tx: PrismaTransaction,
|
|
77
|
+
modelName: TModelName,
|
|
78
|
+
): GenericPrismaDelegate<TModelName> {
|
|
79
|
+
return tx[modelName] as unknown as GenericPrismaDelegate<TModelName>;
|
|
80
|
+
}
|
package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/relation-helpers.ts
ADDED
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Type helper to check if a record type has any undefined values.
|
|
5
|
+
*
|
|
6
|
+
* @template T - Record type to check
|
|
7
|
+
*/
|
|
8
|
+
type HasUndefinedValues<T extends Record<string, unknown>> =
|
|
9
|
+
undefined extends T[keyof T] ? true : false;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Type helper to check if a record type has any null values.
|
|
13
|
+
*
|
|
14
|
+
* @template T - Record type to check
|
|
15
|
+
*/
|
|
16
|
+
type HasNullValues<T extends Record<string, unknown>> = null extends T[keyof T]
|
|
17
|
+
? true
|
|
18
|
+
: false;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Type helper to check if a record type has any undefined or null values.
|
|
22
|
+
* Used for conditional return types in relation helpers.
|
|
23
|
+
*
|
|
24
|
+
* @template T - Record type to check
|
|
25
|
+
*/
|
|
26
|
+
type HasUndefinedOrNullValues<T extends Record<string, unknown>> =
|
|
27
|
+
HasUndefinedValues<T> extends true
|
|
28
|
+
? true
|
|
29
|
+
: HasNullValues<T> extends true
|
|
30
|
+
? true
|
|
31
|
+
: false;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Creates a Prisma connect object for create operations
|
|
35
|
+
*
|
|
36
|
+
* Returns undefined if any value in the data object is null or undefined,
|
|
37
|
+
* allowing optional relations in create operations.
|
|
38
|
+
*
|
|
39
|
+
* @template TUniqueWhere - Object containing the unique identifier(s) for the relation
|
|
40
|
+
* @param data - Object with one or more key-value pairs representing the unique identifier(s)
|
|
41
|
+
* @returns Prisma connect object or undefined if any value is null/undefined
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* // Single field - required relation
|
|
45
|
+
* todoList: relationHelpers.connectCreate({ id: todoListId })
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* // Single field - optional relation (returns undefined if assigneeId is null/undefined)
|
|
49
|
+
* assignee: relationHelpers.connectCreate({ id: assigneeId })
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* // Composite key - required relation
|
|
53
|
+
* owner: relationHelpers.connectCreate({ userId, tenantId })
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* // Composite key - optional relation (returns undefined if any field is null/undefined)
|
|
57
|
+
* assignee: relationHelpers.connectCreate({ userId, organizationId })
|
|
58
|
+
*/
|
|
59
|
+
function connectCreate<
|
|
60
|
+
TUniqueWhere extends Record<string, string | undefined | null>,
|
|
61
|
+
>(
|
|
62
|
+
data: TUniqueWhere,
|
|
63
|
+
):
|
|
64
|
+
| (HasUndefinedOrNullValues<TUniqueWhere> extends true ? undefined : never)
|
|
65
|
+
| { connect: { [K in keyof TUniqueWhere]: string } } {
|
|
66
|
+
const values = Object.values(data);
|
|
67
|
+
// Return undefined if any value is null or undefined (for optional relations)
|
|
68
|
+
if (values.some((value) => value === undefined || value === null)) {
|
|
69
|
+
return undefined as HasUndefinedOrNullValues<TUniqueWhere> extends true
|
|
70
|
+
? undefined
|
|
71
|
+
: never;
|
|
72
|
+
}
|
|
73
|
+
return {
|
|
74
|
+
connect: data as { [K in keyof TUniqueWhere]: string },
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Creates a Prisma connect/disconnect object for update operations
|
|
80
|
+
*
|
|
81
|
+
* Handles three cases:
|
|
82
|
+
* - All values present: returns connect object to update the relation
|
|
83
|
+
* - Any value is null: returns { disconnect: true } to remove the relation
|
|
84
|
+
* - Any value is undefined: returns undefined to leave the relation unchanged
|
|
85
|
+
*
|
|
86
|
+
* @template TUniqueWhere - Object containing the unique identifier(s) for the relation
|
|
87
|
+
* @param data - Object with one or more key-value pairs representing the unique identifier(s)
|
|
88
|
+
* @returns Prisma connect/disconnect object, or undefined if no change
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* // Single field - update to a new assignee
|
|
92
|
+
* assignee: relationHelpers.connectUpdate({ id: 'user-2' })
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* // Single field - disconnect the assignee (set to null)
|
|
96
|
+
* assignee: relationHelpers.connectUpdate({ id: null })
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* // Single field - leave the assignee unchanged
|
|
100
|
+
* assignee: relationHelpers.connectUpdate({ id: undefined })
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* // Composite key - update to a new relation
|
|
104
|
+
* owner: relationHelpers.connectUpdate({ userId: 'user-2', tenantId: 'tenant-1' })
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* // Composite key - disconnect (if any field is null)
|
|
108
|
+
* owner: relationHelpers.connectUpdate({ userId: null, tenantId: 'tenant-1' })
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* // Composite key - no change (if any field is undefined)
|
|
112
|
+
* owner: relationHelpers.connectUpdate({ userId: undefined, tenantId: 'tenant-1' })
|
|
113
|
+
*/
|
|
114
|
+
function connectUpdate<
|
|
115
|
+
TUniqueWhere extends Record<string, string | undefined | null>,
|
|
116
|
+
>(
|
|
117
|
+
data: TUniqueWhere,
|
|
118
|
+
):
|
|
119
|
+
| (HasUndefinedValues<TUniqueWhere> extends true ? undefined : never)
|
|
120
|
+
| (HasNullValues<TUniqueWhere> extends true ? { disconnect: true } : never)
|
|
121
|
+
| { connect: { [K in keyof TUniqueWhere]: string } } {
|
|
122
|
+
const values = Object.values(data);
|
|
123
|
+
const hasUndefined = values.includes(undefined);
|
|
124
|
+
const hasNull = values.includes(null);
|
|
125
|
+
|
|
126
|
+
// If any value is undefined, leave relation unchanged
|
|
127
|
+
if (hasUndefined) {
|
|
128
|
+
return undefined as HasUndefinedValues<TUniqueWhere> extends true
|
|
129
|
+
? undefined
|
|
130
|
+
: never;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// If any value is null, disconnect the relation
|
|
134
|
+
if (hasNull) {
|
|
135
|
+
return {
|
|
136
|
+
disconnect: true,
|
|
137
|
+
} as HasNullValues<TUniqueWhere> extends true
|
|
138
|
+
? { disconnect: true }
|
|
139
|
+
: never;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// All values are present, connect to the new relation
|
|
143
|
+
return { connect: data as { [K in keyof TUniqueWhere]: string } };
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Relation helpers for transforming scalar IDs into Prisma relation objects
|
|
148
|
+
*
|
|
149
|
+
* These helpers provide type-safe ways to connect and disconnect relations
|
|
150
|
+
* in Prisma operations, with proper handling of optional relations and
|
|
151
|
+
* support for both single-field and composite key relations.
|
|
152
|
+
*
|
|
153
|
+
* @example
|
|
154
|
+
* // In a create operation with single field relations
|
|
155
|
+
* buildData: ({ todoListId, assigneeId, ...rest }) => ({
|
|
156
|
+
* todoList: relationHelpers.connectCreate({ id: todoListId }),
|
|
157
|
+
* assignee: relationHelpers.connectCreate({ id: assigneeId }), // undefined if assigneeId is null
|
|
158
|
+
* ...rest,
|
|
159
|
+
* })
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* // In a create operation with composite key relation
|
|
163
|
+
* buildData: ({ userId, tenantId, ...rest }) => ({
|
|
164
|
+
* owner: relationHelpers.connectCreate({ userId, tenantId }), // undefined if any field is null
|
|
165
|
+
* ...rest,
|
|
166
|
+
* })
|
|
167
|
+
*
|
|
168
|
+
* @example
|
|
169
|
+
* // In an update operation with single field
|
|
170
|
+
* buildData: ({ assigneeId, ...rest }) => ({
|
|
171
|
+
* assignee: relationHelpers.connectUpdate({ id: assigneeId }),
|
|
172
|
+
* ...rest,
|
|
173
|
+
* })
|
|
174
|
+
*
|
|
175
|
+
* @example
|
|
176
|
+
* // In an update operation with composite key
|
|
177
|
+
* buildData: ({ userId, tenantId, ...rest }) => ({
|
|
178
|
+
* owner: relationHelpers.connectUpdate({ userId, tenantId }),
|
|
179
|
+
* ...rest,
|
|
180
|
+
* })
|
|
181
|
+
*/
|
|
182
|
+
export const relationHelpers = {
|
|
183
|
+
/**
|
|
184
|
+
* Creates a connect object for create operations
|
|
185
|
+
* Returns undefined if the ID is null or undefined
|
|
186
|
+
*/
|
|
187
|
+
connectCreate,
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Creates a connect/disconnect object for update operations
|
|
191
|
+
* - null: disconnects the relation
|
|
192
|
+
* - undefined: no change to the relation
|
|
193
|
+
* - value: connects to the new relation
|
|
194
|
+
*/
|
|
195
|
+
connectUpdate,
|
|
196
|
+
};
|