@baseplate-dev/fastify-generators 0.5.1 → 0.5.2

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.
Files changed (113) hide show
  1. package/CHANGELOG.md +578 -0
  2. package/dist/constants/fastify-packages.d.ts +5 -5
  3. package/dist/constants/fastify-packages.js +5 -5
  4. package/dist/generators/auth/auth-context/auth-context.generator.d.ts +1 -0
  5. package/dist/generators/auth/auth-context/auth-context.generator.d.ts.map +1 -1
  6. package/dist/generators/auth/auth-context/generated/index.d.ts +3 -0
  7. package/dist/generators/auth/auth-context/generated/index.d.ts.map +1 -1
  8. package/dist/generators/auth/auth-context/generated/template-renderers.d.ts +1 -0
  9. package/dist/generators/auth/auth-context/generated/template-renderers.d.ts.map +1 -1
  10. package/dist/generators/auth/auth-context/generated/typed-templates.d.ts +4 -0
  11. package/dist/generators/auth/auth-context/generated/typed-templates.d.ts.map +1 -1
  12. package/dist/generators/auth/auth-context/templates/module/utils/auth-context.utils.ts +1 -1
  13. package/dist/generators/auth/authorizer-utils-stub/authorizer-utils-stub.generator.d.ts +1 -0
  14. package/dist/generators/auth/authorizer-utils-stub/authorizer-utils-stub.generator.d.ts.map +1 -1
  15. package/dist/generators/auth/authorizer-utils-stub/generated/index.d.ts +2 -0
  16. package/dist/generators/auth/authorizer-utils-stub/generated/index.d.ts.map +1 -1
  17. package/dist/generators/auth/authorizer-utils-stub/generated/template-renderers.d.ts +1 -0
  18. package/dist/generators/auth/authorizer-utils-stub/generated/template-renderers.d.ts.map +1 -1
  19. package/dist/generators/auth/authorizer-utils-stub/generated/typed-templates.d.ts +2 -0
  20. package/dist/generators/auth/authorizer-utils-stub/generated/typed-templates.d.ts.map +1 -1
  21. package/dist/generators/core/app-module/app-module.generator.d.ts.map +1 -1
  22. package/dist/generators/core/app-module/app-module.generator.js.map +1 -1
  23. package/dist/generators/core/axios/axios.generator.d.ts.map +1 -1
  24. package/dist/generators/core/axios/axios.generator.js +6 -1
  25. package/dist/generators/core/axios/axios.generator.js.map +1 -1
  26. package/dist/generators/core/error-handler-service/error-handler-service.generator.d.ts +2 -0
  27. package/dist/generators/core/error-handler-service/error-handler-service.generator.d.ts.map +1 -1
  28. package/dist/generators/core/error-handler-service/generated/index.d.ts +1 -0
  29. package/dist/generators/core/error-handler-service/generated/index.d.ts.map +1 -1
  30. package/dist/generators/core/error-handler-service/generated/ts-import-providers.d.ts +3 -0
  31. package/dist/generators/core/error-handler-service/generated/ts-import-providers.d.ts.map +1 -1
  32. package/dist/generators/core/error-handler-service/generated/ts-import-providers.js +2 -0
  33. package/dist/generators/core/error-handler-service/generated/ts-import-providers.js.map +1 -1
  34. package/dist/generators/core/error-handler-service/generated/typed-templates.d.ts.map +1 -1
  35. package/dist/generators/core/error-handler-service/generated/typed-templates.js +1 -0
  36. package/dist/generators/core/error-handler-service/generated/typed-templates.js.map +1 -1
  37. package/dist/generators/core/error-handler-service/templates/src/plugins/error-handler.ts +5 -0
  38. package/dist/generators/core/error-handler-service/templates/src/utils/http-errors.ts +16 -0
  39. package/dist/generators/core/fastify-graceful-shutdown/fastify-graceful-shutdown.generator.d.ts +1 -0
  40. package/dist/generators/core/fastify-graceful-shutdown/fastify-graceful-shutdown.generator.d.ts.map +1 -1
  41. package/dist/generators/core/fastify-graceful-shutdown/generated/index.d.ts +2 -0
  42. package/dist/generators/core/fastify-graceful-shutdown/generated/index.d.ts.map +1 -1
  43. package/dist/generators/core/fastify-graceful-shutdown/generated/template-renderers.d.ts +1 -0
  44. package/dist/generators/core/fastify-graceful-shutdown/generated/template-renderers.d.ts.map +1 -1
  45. package/dist/generators/core/fastify-graceful-shutdown/generated/typed-templates.d.ts +1 -0
  46. package/dist/generators/core/fastify-graceful-shutdown/generated/typed-templates.d.ts.map +1 -1
  47. package/dist/generators/core/fastify-sentry/fastify-sentry.generator.d.ts +1 -0
  48. package/dist/generators/core/fastify-sentry/fastify-sentry.generator.d.ts.map +1 -1
  49. package/dist/generators/core/fastify-sentry/generated/index.d.ts +2 -0
  50. package/dist/generators/core/fastify-sentry/generated/index.d.ts.map +1 -1
  51. package/dist/generators/core/fastify-sentry/generated/template-renderers.d.ts +1 -0
  52. package/dist/generators/core/fastify-sentry/generated/template-renderers.d.ts.map +1 -1
  53. package/dist/generators/core/fastify-sentry/generated/typed-templates.d.ts +1 -0
  54. package/dist/generators/core/fastify-sentry/generated/typed-templates.d.ts.map +1 -1
  55. package/dist/generators/core/logger-service/logger-service.generator.js +4 -3
  56. package/dist/generators/core/logger-service/logger-service.generator.js.map +1 -1
  57. package/dist/generators/core/service-file/service-file.generator.js +2 -2
  58. package/dist/generators/core/service-file/service-file.generator.js.map +1 -1
  59. package/dist/generators/prisma/_shared/crud-method/primary-key-input.js +2 -2
  60. package/dist/generators/prisma/_shared/crud-method/primary-key-input.js.map +1 -1
  61. package/dist/generators/prisma/data-utils/data-utils.generator.d.ts +1 -0
  62. package/dist/generators/prisma/data-utils/data-utils.generator.d.ts.map +1 -1
  63. package/dist/generators/prisma/data-utils/generated/index.d.ts +2 -0
  64. package/dist/generators/prisma/data-utils/generated/index.d.ts.map +1 -1
  65. package/dist/generators/prisma/data-utils/generated/template-renderers.d.ts +1 -0
  66. package/dist/generators/prisma/data-utils/generated/template-renderers.d.ts.map +1 -1
  67. package/dist/generators/prisma/data-utils/generated/typed-templates.d.ts +2 -0
  68. package/dist/generators/prisma/data-utils/generated/typed-templates.d.ts.map +1 -1
  69. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/field-definitions.ts +9 -41
  70. package/dist/generators/prisma/index.d.ts +1 -0
  71. package/dist/generators/prisma/index.d.ts.map +1 -1
  72. package/dist/generators/prisma/index.js +1 -0
  73. package/dist/generators/prisma/index.js.map +1 -1
  74. package/dist/generators/prisma/prisma-authorizer-utils/generated/index.d.ts +2 -0
  75. package/dist/generators/prisma/prisma-authorizer-utils/generated/index.d.ts.map +1 -1
  76. package/dist/generators/prisma/prisma-authorizer-utils/generated/template-renderers.d.ts +1 -0
  77. package/dist/generators/prisma/prisma-authorizer-utils/generated/template-renderers.d.ts.map +1 -1
  78. package/dist/generators/prisma/prisma-authorizer-utils/generated/typed-templates.d.ts +2 -0
  79. package/dist/generators/prisma/prisma-authorizer-utils/generated/typed-templates.d.ts.map +1 -1
  80. package/dist/generators/prisma/prisma-authorizer-utils/prisma-authorizer-utils.generator.d.ts +1 -0
  81. package/dist/generators/prisma/prisma-authorizer-utils/prisma-authorizer-utils.generator.d.ts.map +1 -1
  82. package/dist/generators/prisma/prisma-model-authorizer/index.d.ts +2 -0
  83. package/dist/generators/prisma/prisma-model-authorizer/index.d.ts.map +1 -0
  84. package/dist/generators/prisma/prisma-model-authorizer/index.js +2 -0
  85. package/dist/generators/prisma/prisma-model-authorizer/index.js.map +1 -0
  86. package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.d.ts +54 -0
  87. package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.d.ts.map +1 -0
  88. package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.js +96 -0
  89. package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.js.map +1 -0
  90. package/dist/generators/stripe/fastify-stripe/fastify-stripe.generator.d.ts +1 -0
  91. package/dist/generators/stripe/fastify-stripe/fastify-stripe.generator.d.ts.map +1 -1
  92. package/dist/generators/stripe/fastify-stripe/generated/index.d.ts +2 -0
  93. package/dist/generators/stripe/fastify-stripe/generated/index.d.ts.map +1 -1
  94. package/dist/generators/stripe/fastify-stripe/generated/template-renderers.d.ts +1 -0
  95. package/dist/generators/stripe/fastify-stripe/generated/template-renderers.d.ts.map +1 -1
  96. package/dist/generators/stripe/fastify-stripe/generated/typed-templates.d.ts +2 -0
  97. package/dist/generators/stripe/fastify-stripe/generated/typed-templates.d.ts.map +1 -1
  98. package/dist/generators/yoga/yoga-plugin/generated/index.d.ts +4 -0
  99. package/dist/generators/yoga/yoga-plugin/generated/index.d.ts.map +1 -1
  100. package/dist/generators/yoga/yoga-plugin/generated/template-renderers.d.ts +1 -0
  101. package/dist/generators/yoga/yoga-plugin/generated/template-renderers.d.ts.map +1 -1
  102. package/dist/generators/yoga/yoga-plugin/generated/typed-templates.d.ts +4 -0
  103. package/dist/generators/yoga/yoga-plugin/generated/typed-templates.d.ts.map +1 -1
  104. package/dist/generators/yoga/yoga-plugin/yoga-plugin.generator.d.ts +2 -0
  105. package/dist/generators/yoga/yoga-plugin/yoga-plugin.generator.d.ts.map +1 -1
  106. package/dist/generators/yoga/yoga-plugin/yoga-plugin.generator.js.map +1 -1
  107. package/dist/types/service-output.d.ts.map +1 -1
  108. package/dist/types/service-output.js.map +1 -1
  109. package/dist/writers/pothos/scalars.d.ts.map +1 -1
  110. package/dist/writers/pothos/scalars.js.map +1 -1
  111. package/dist/writers/prisma-schema/model-writer.js +2 -2
  112. package/dist/writers/prisma-schema/model-writer.js.map +1 -1
  113. package/package.json +10 -10
@@ -1 +1 @@
1
- {"version":3,"file":"service-file.generator.js","sourceRoot":"","sources":["../../../../src/generators/core/service-file/service-file.generator.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,2CAA2C,EAC3C,YAAY,EACZ,eAAe,EACf,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC;;OAEG;IACH,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB;;OAEG;IACH,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AA2CH,MAAM,CAAC,MAAM,mBAAmB,GAC9B,kBAAkB,CAAsB,cAAc,CAAC,CAAC;AAM1D,MAAM,CAAC,MAAM,yBAAyB,GACpC,0BAA0B,CAA4B,qBAAqB,CAAC,CAAC;AAE/E,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAC;IAClD,IAAI,EAAE,mBAAmB;IACzB,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;IACjC,gBAAgB;IAChB,eAAe,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI;IAChD,UAAU,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC3B,IAAI,EAAE,mBAAmB,CAAC;YACxB,YAAY,EAAE;gBACZ,SAAS,EAAE,iBAAiB;gBAC5B,cAAc,EAAE,sBAAsB;aACvC;YACD,OAAO,EAAE,EAAE,WAAW,EAAE,mBAAmB,CAAC,MAAM,EAAE,EAAE;YACtD,OAAO,EAAE;gBACP,iBAAiB,EAAE,UAAU,CAAC,EAAE;oBAC9B,CAAC,CAAC,yBAAyB,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC;oBAC/D,CAAC,CAAC,yBAAyB,CAAC,MAAM,EAAE;aACvC;YACD,GAAG,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE;gBAC/B,MAAM,gBAAgB,GAAG,IAAI,wBAAwB,EAAiB,CAAC;gBACvE,MAAM,gBAAgB,GAAG,IAAI,wBAAwB,EAGjD,CAAC;gBACL,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAC9B,SAAS,CAAC,eAAe,EAAE,EAC3B,UAAU,CACX,CAAC;gBACF,MAAM,YAAY,GAAG,SAAS,CAC5B,cAAc,EACd,GAAG,UAAU,CAAC,QAAQ,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAC1D,CAAC;gBAEF,OAAO;oBACL,SAAS,EAAE;wBACT,WAAW,EAAE;4BACX,cAAc,EAAE,GAAG,EAAE,CAAC,YAAY;4BAClC,eAAe,EAAE,CAAC,UAAU,EAAE,EAAE,CAC9B,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;4BAClD,cAAc,CAAC,MAAM;gCACnB,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;4BAC/B,CAAC;4BACD,cAAc,CAAC,MAAM;gCACnB,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;4BAC/B,CAAC;yBACF;qBACF;oBACD,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;wBACvB,MAAM,cAAc,GAAG,gBAAgB;6BACpC,QAAQ,EAAE;6BACV,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;wBAClD,MAAM,cAAc,GAAG,gBAAgB;6BACpC,QAAQ,EAAE;6BACV,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;wBAErC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC3D,MAAM,aAAa,GAAG,2CAA2C,CAC/D;gCACE,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;gCACxC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;6BACzC,CACF,CAAC;4BACF,MAAM,OAAO,CAAC,KAAK,CACjB,cAAc,CAAC,sBAAsB,CAAC;gCACpC,EAAE,EAAE,UAAU,CAAC,EAAE;gCACjB,QAAQ,EAAE,aAAa;gCACvB,WAAW,EAAE,YAAY;6BAC1B,CAAC,CACH,CAAC;wBACJ,CAAC;wBACD,OAAO;4BACL,iBAAiB,EAAE;gCACjB,gBAAgB,CAAC,IAAI;oCACnB,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;oCAC3D,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC;wCAC1B,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAC;oCAC9D,CAAC;oCACD,OAAO,MAAM,CAAC,YAAY,CAAC;gCAC7B,CAAC;6BACF;yBACF,CAAC;oBACJ,CAAC;iBACF,CAAC;YACJ,CAAC;SACF,CAAC;KACH,CAAC;CACH,CAAC,CAAC"}
1
+ {"version":3,"file":"service-file.generator.js","sourceRoot":"","sources":["../../../../src/generators/core/service-file/service-file.generator.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export function getPrimaryKeyDefinition(model) {
7
7
  // handle trivial one primary key case
8
8
  const idFieldName = idFields[0];
9
9
  const idField = fields.find((f) => f.name === idFieldName);
10
- if (!idField || idField.type !== 'scalar') {
10
+ if (idField?.type !== 'scalar') {
11
11
  throw new Error(`Model ${model.name} must have a scalar primary key`);
12
12
  }
13
13
  return {
@@ -25,7 +25,7 @@ export function getPrimaryKeyDefinition(model) {
25
25
  name: primaryKeyInputName,
26
26
  fields: idFields.map((idField) => {
27
27
  const field = fields.find((f) => f.name === idField);
28
- if (!field || field.type !== 'scalar') {
28
+ if (field?.type !== 'scalar') {
29
29
  throw new Error(`ID field ${idField} in model ${model.name} must be a scalar`);
30
30
  }
31
31
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"primary-key-input.js","sourceRoot":"","sources":["../../../../../src/generators/prisma/_shared/crud-method/primary-key-input.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primary-key-input.js","sourceRoot":"","sources":["../../../../../src/generators/prisma/_shared/crud-method/primary-key-input.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,7 @@ export declare const dataUtilsGenerator: import("@baseplate-dev/sync").Generator
28
28
  InternalServerError: {};
29
29
  logError: {};
30
30
  NotFoundError: {};
31
+ TooManyRequestsError: {};
31
32
  UnauthorizedError: {};
32
33
  }>>;
33
34
  paths: import("@baseplate-dev/sync").ProviderType<import("./generated/template-paths.js").PrismaDataUtilsPaths>;
@@ -1 +1 @@
1
- {"version":3,"file":"data-utils.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/prisma/data-utils/data-utils.generator.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyB7B,CAAC"}
1
+ {"version":3,"file":"data-utils.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/prisma/data-utils/data-utils.generator.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyB7B,CAAC"}
@@ -100,6 +100,7 @@ export declare const PRISMA_DATA_UTILS_GENERATED: {
100
100
  InternalServerError: {};
101
101
  logError: {};
102
102
  NotFoundError: {};
103
+ TooManyRequestsError: {};
103
104
  UnauthorizedError: {};
104
105
  }>>;
105
106
  paths: import("@baseplate-dev/sync").ProviderType<import("./template-paths.js").PrismaDataUtilsPaths>;
@@ -144,6 +145,7 @@ export declare const PRISMA_DATA_UTILS_GENERATED: {
144
145
  InternalServerError: {};
145
146
  logError: {};
146
147
  NotFoundError: {};
148
+ TooManyRequestsError: {};
147
149
  UnauthorizedError: {};
148
150
  }>>;
149
151
  prismaGeneratedImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/generators/prisma/data-utils/generated/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKvC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/generators/prisma/data-utils/generated/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKvC,CAAC"}
@@ -29,6 +29,7 @@ export declare const PRISMA_DATA_UTILS_RENDERERS: {
29
29
  InternalServerError: {};
30
30
  logError: {};
31
31
  NotFoundError: {};
32
+ TooManyRequestsError: {};
32
33
  UnauthorizedError: {};
33
34
  }>>;
34
35
  paths: import("@baseplate-dev/sync").ProviderType<import("./template-paths.js").PrismaDataUtilsPaths>;
@@ -1 +1 @@
1
- {"version":3,"file":"template-renderers.d.ts","sourceRoot":"","sources":["../../../../../src/generators/prisma/data-utils/generated/template-renderers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAYzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAEnE,MAAM,WAAW,wBAAwB;IACvC,mBAAmB,EAAE;QACnB,MAAM,EAAE,CACN,OAAO,EAAE,IAAI,CACX,gCAAgC,CAC9B,OAAO,2BAA2B,CAAC,mBAAmB,CACvD,EACD,oBAAoB,GAAG,OAAO,GAAG,OAAO,GAAG,gBAAgB,CAC5D,KACE,aAAa,CAAC;KACpB,CAAC;CACH;AAmDD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGvC,CAAC"}
1
+ {"version":3,"file":"template-renderers.d.ts","sourceRoot":"","sources":["../../../../../src/generators/prisma/data-utils/generated/template-renderers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAYzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAEnE,MAAM,WAAW,wBAAwB;IACvC,mBAAmB,EAAE;QACnB,MAAM,EAAE,CACN,OAAO,EAAE,IAAI,CACX,gCAAgC,CAC9B,OAAO,2BAA2B,CAAC,mBAAmB,CACvD,EACD,oBAAoB,GAAG,OAAO,GAAG,OAAO,GAAG,gBAAgB,CAC5D,KACE,aAAa,CAAC;KACpB,CAAC;CACH;AAmDD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGvC,CAAC"}
@@ -18,6 +18,7 @@ export declare const dataOperationsGroup: {
18
18
  InternalServerError: {};
19
19
  logError: {};
20
20
  NotFoundError: {};
21
+ TooManyRequestsError: {};
21
22
  UnauthorizedError: {};
22
23
  }>>;
23
24
  prismaGeneratedImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
@@ -106,6 +107,7 @@ export declare const PRISMA_DATA_UTILS_TEMPLATES: {
106
107
  InternalServerError: {};
107
108
  logError: {};
108
109
  NotFoundError: {};
110
+ TooManyRequestsError: {};
109
111
  UnauthorizedError: {};
110
112
  }>>;
111
113
  prismaGeneratedImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
@@ -1 +1 @@
1
- {"version":3,"file":"typed-templates.d.ts","sourceRoot":"","sources":["../../../../../src/generators/prisma/data-utils/generated/typed-templates.ts"],"names":[],"mappings":"AAmJA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAO/B,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA0B,CAAC"}
1
+ {"version":3,"file":"typed-templates.d.ts","sourceRoot":"","sources":["../../../../../src/generators/prisma/data-utils/generated/typed-templates.ts"],"names":[],"mappings":"AAmJA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAO/B,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA0B,CAAC"}
@@ -30,64 +30,32 @@ import { makeGenericPrismaDelegate } from '$prismaUtils';
30
30
  import { prisma } from '%prismaImports';
31
31
 
32
32
  /**
33
- * Create a simple scalar field with validation and optional transformation
33
+ * Create a simple scalar field with validation
34
34
  *
35
35
  * This helper creates a field definition that validates input using a Zod schema.
36
- * Optionally, you can provide a transform function to convert the validated value
37
- * into a different type for Prisma operations.
38
- *
39
- * For relation fields (e.g., `userId`), use this helper to validate the ID,
40
- * then use relation helpers in the transform step to create Prisma connect/disconnect objects.
36
+ * The validated value is used directly for both create and update operations.
41
37
  *
42
38
  * @template TSchema - The Zod schema type for validation
43
- * @template TTransformed - The output type after transformation (defaults to schema output)
44
39
  * @param schema - Zod schema for validation
45
- * @param options - Optional configuration
46
- * @param options.transform - Function to transform the validated value
47
40
  * @returns Field definition
48
41
  *
49
42
  * @example
50
43
  * ```typescript
51
- * // Simple validation
52
44
  * const fields = {
53
45
  * title: scalarField(z.string()),
54
- * ownerId: scalarField(z.string()), // Validated as string
55
- * };
56
- *
57
- * // With transformation
58
- * const fields = {
59
- * email: scalarField(
60
- * z.email(),
61
- * { transform: (email) => email.toLowerCase() }
62
- * ),
63
- * createdAt: scalarField(
64
- * z.string().datetime(),
65
- * { transform: (dateStr) => new Date(dateStr) }
66
- * ),
46
+ * email: scalarField(z.string().email()),
47
+ * age: scalarField(z.number().int().positive()),
67
48
  * };
68
49
  * ```
69
50
  */
70
- export function scalarField<
71
- TSchema extends z.ZodType,
72
- TTransformed = z.output<TSchema>,
73
- >(
51
+ export function scalarField<TSchema extends z.ZodType>(
74
52
  schema: TSchema,
75
- options?: {
76
- transform?: (value: z.output<TSchema>) => TTransformed;
77
- },
78
- ): FieldDefinition<TSchema, TTransformed, TTransformed> {
53
+ ): FieldDefinition<TSchema, z.output<TSchema>, z.output<TSchema>> {
79
54
  return {
80
55
  schema,
81
- processInput: (value) => {
82
- // Apply transform if provided
83
- const transformed = options?.transform
84
- ? options.transform(value)
85
- : (value as TTransformed);
86
-
87
- return {
88
- data: { create: transformed, update: transformed },
89
- };
90
- },
56
+ processInput: (value) => ({
57
+ data: { create: value, update: value },
58
+ }),
91
59
  };
92
60
  }
93
61
 
@@ -8,6 +8,7 @@ export * from './prisma-data-service/index.js';
8
8
  export * from './prisma-data-update/index.js';
9
9
  export * from './prisma-enum/index.js';
10
10
  export * from './prisma-field/index.js';
11
+ export * from './prisma-model-authorizer/index.js';
11
12
  export * from './prisma-model-id/index.js';
12
13
  export * from './prisma-model-index/index.js';
13
14
  export * from './prisma-model-unique/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/prisma/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/prisma/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC"}
@@ -8,6 +8,7 @@ export * from './prisma-data-service/index.js';
8
8
  export * from './prisma-data-update/index.js';
9
9
  export * from './prisma-enum/index.js';
10
10
  export * from './prisma-field/index.js';
11
+ export * from './prisma-model-authorizer/index.js';
11
12
  export * from './prisma-model-id/index.js';
12
13
  export * from './prisma-model-index/index.js';
13
14
  export * from './prisma-model-unique/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generators/prisma/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generators/prisma/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC"}
@@ -120,6 +120,7 @@ export declare const PRISMA_PRISMA_AUTHORIZER_UTILS_GENERATED: {
120
120
  InternalServerError: {};
121
121
  logError: {};
122
122
  NotFoundError: {};
123
+ TooManyRequestsError: {};
123
124
  UnauthorizedError: {};
124
125
  }>>;
125
126
  paths: import("@baseplate-dev/sync").ProviderType<import("./template-paths.js").PrismaPrismaAuthorizerUtilsPaths>;
@@ -220,6 +221,7 @@ export declare const PRISMA_PRISMA_AUTHORIZER_UTILS_GENERATED: {
220
221
  InternalServerError: {};
221
222
  logError: {};
222
223
  NotFoundError: {};
224
+ TooManyRequestsError: {};
223
225
  UnauthorizedError: {};
224
226
  }>>;
225
227
  serviceContextImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/generators/prisma/prisma-authorizer-utils/generated/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKpD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/generators/prisma/prisma-authorizer-utils/generated/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKpD,CAAC"}
@@ -94,6 +94,7 @@ export declare const PRISMA_PRISMA_AUTHORIZER_UTILS_RENDERERS: {
94
94
  InternalServerError: {};
95
95
  logError: {};
96
96
  NotFoundError: {};
97
+ TooManyRequestsError: {};
97
98
  UnauthorizedError: {};
98
99
  }>>;
99
100
  paths: import("@baseplate-dev/sync").ProviderType<import("./template-paths.js").PrismaPrismaAuthorizerUtilsPaths>;
@@ -1 +1 @@
1
- {"version":3,"file":"template-renderers.d.ts","sourceRoot":"","sources":["../../../../../src/generators/prisma/prisma-authorizer-utils/generated/template-renderers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAWzD,OAAO,EAAE,wCAAwC,EAAE,MAAM,sBAAsB,CAAC;AAEhF,MAAM,WAAW,oCAAoC;IACnD,SAAS,EAAE;QACT,MAAM,EAAE,CACN,OAAO,EAAE,IAAI,CACX,gCAAgC,CAC9B,OAAO,wCAAwC,CAAC,SAAS,CAC1D,EACD,oBAAoB,GAAG,OAAO,GAAG,OAAO,GAAG,gBAAgB,CAC5D,KACE,aAAa,CAAC;KACpB,CAAC;CACH;AAmDD,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGpD,CAAC"}
1
+ {"version":3,"file":"template-renderers.d.ts","sourceRoot":"","sources":["../../../../../src/generators/prisma/prisma-authorizer-utils/generated/template-renderers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAWzD,OAAO,EAAE,wCAAwC,EAAE,MAAM,sBAAsB,CAAC;AAEhF,MAAM,WAAW,oCAAoC;IACnD,SAAS,EAAE;QACT,MAAM,EAAE,CACN,OAAO,EAAE,IAAI,CACX,gCAAgC,CAC9B,OAAO,wCAAwC,CAAC,SAAS,CAC1D,EACD,oBAAoB,GAAG,OAAO,GAAG,OAAO,GAAG,gBAAgB,CAC5D,KACE,aAAa,CAAC;KACpB,CAAC;CACH;AAmDD,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGpD,CAAC"}
@@ -83,6 +83,7 @@ export declare const mainGroup: {
83
83
  InternalServerError: {};
84
84
  logError: {};
85
85
  NotFoundError: {};
86
+ TooManyRequestsError: {};
86
87
  UnauthorizedError: {};
87
88
  }>>;
88
89
  serviceContextImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
@@ -181,6 +182,7 @@ export declare const PRISMA_PRISMA_AUTHORIZER_UTILS_TEMPLATES: {
181
182
  InternalServerError: {};
182
183
  logError: {};
183
184
  NotFoundError: {};
185
+ TooManyRequestsError: {};
184
186
  UnauthorizedError: {};
185
187
  }>>;
186
188
  serviceContextImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
@@ -1 +1 @@
1
- {"version":3,"file":"typed-templates.d.ts","sourceRoot":"","sources":["../../../../../src/generators/prisma/prisma-authorizer-utils/generated/typed-templates.ts"],"names":[],"mappings":"AAoCA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAuB,CAAC;AAE9C,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgB,CAAC"}
1
+ {"version":3,"file":"typed-templates.d.ts","sourceRoot":"","sources":["../../../../../src/generators/prisma/prisma-authorizer-utils/generated/typed-templates.ts"],"names":[],"mappings":"AAoCA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAuB,CAAC;AAE9C,eAAO,MAAM,wCAAwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAgB,CAAC"}
@@ -116,6 +116,7 @@ export declare const prismaAuthorizerUtilsGenerator: import("@baseplate-dev/sync
116
116
  InternalServerError: {};
117
117
  logError: {};
118
118
  NotFoundError: {};
119
+ TooManyRequestsError: {};
119
120
  UnauthorizedError: {};
120
121
  }>>;
121
122
  paths: import("@baseplate-dev/sync").ProviderType<import("./generated/template-paths.js").PrismaPrismaAuthorizerUtilsPaths>;
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-authorizer-utils.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-authorizer-utils/prisma-authorizer-utils.generator.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwCzC,CAAC"}
1
+ {"version":3,"file":"prisma-authorizer-utils.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-authorizer-utils/prisma-authorizer-utils.generator.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwCzC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './prisma-model-authorizer.generator.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-model-authorizer/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './prisma-model-authorizer.generator.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-model-authorizer/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC"}
@@ -0,0 +1,54 @@
1
+ import type { TsCodeFragment } from '@baseplate-dev/core-generators';
2
+ /**
3
+ * Provider interface for the model authorizer.
4
+ * Allows other generators (e.g., GraphQL resolvers) to reference
5
+ * the authorizer and its individual role check functions.
6
+ */
7
+ export interface PrismaModelAuthorizerProvider {
8
+ /**
9
+ * Get the variable name of the authorizer (e.g., 'userAuthorizer').
10
+ */
11
+ getAuthorizerName(): string;
12
+ /**
13
+ * Get a fragment that imports the authorizer from its module path.
14
+ */
15
+ getAuthorizerFragment(): TsCodeFragment;
16
+ /**
17
+ * Get a fragment referencing a specific role check function.
18
+ * E.g., `userAuthorizer.roles.owner`
19
+ */
20
+ getRoleFragment(roleName: string): TsCodeFragment;
21
+ }
22
+ export declare const prismaModelAuthorizerProvider: import("@baseplate-dev/sync").ProviderType<PrismaModelAuthorizerProvider>;
23
+ /**
24
+ * Generator for prisma/prisma-model-authorizer
25
+ *
26
+ * Generates `{moduleFolder}/authorizers/{kebab-model}.authorizer.ts` files
27
+ * that create a model authorizer with role check functions.
28
+ */
29
+ export declare const prismaModelAuthorizerGenerator: import("@baseplate-dev/sync").GeneratorBundleCreator<{
30
+ modelName: string;
31
+ idFieldName: string;
32
+ roles: {
33
+ name: string;
34
+ roleCode: string;
35
+ }[];
36
+ }, {
37
+ main: import("@baseplate-dev/sync").GeneratorTask<any, {
38
+ appModule: import("@baseplate-dev/sync").ProviderType<import("#src/generators/core/app-module/index.js").AppModuleProvider>;
39
+ typescriptFile: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").TypescriptFileProvider>;
40
+ prismaOutput: import("@baseplate-dev/sync").ProviderType<import("../prisma/prisma.generator.js").PrismaOutputProvider>;
41
+ prismaAuthorizerUtilsImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
42
+ createModelAuthorizer: {};
43
+ ModelAuthorizer: {
44
+ isTypeOnly: true;
45
+ };
46
+ ModelAuthorizerConfig: {
47
+ isTypeOnly: true;
48
+ };
49
+ }>>;
50
+ }, {
51
+ prismaModelAuthorizer: import("@baseplate-dev/sync").ProviderExport<PrismaModelAuthorizerProvider>;
52
+ }>;
53
+ }>;
54
+ //# sourceMappingURL=prisma-model-authorizer.generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prisma-model-authorizer.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAoCrE;;;;GAIG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,iBAAiB,IAAI,MAAM,CAAC;IAC5B;;OAEG;IACH,qBAAqB,IAAI,cAAc,CAAC;IACxC;;;OAGG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAAC;CACnD;AAED,eAAO,MAAM,6BAA6B,2EAGvC,CAAC;AAIJ;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;EAoGzC,CAAC"}
@@ -0,0 +1,96 @@
1
+ import { packageScope, TsCodeUtils, tsTemplate, typescriptFileProvider, } from '@baseplate-dev/core-generators';
2
+ import { createGenerator, createGeneratorTask, createReadOnlyProviderType, } from '@baseplate-dev/sync';
3
+ import { lowercaseFirstChar } from '@baseplate-dev/utils';
4
+ import { posixJoin } from '@baseplate-dev/utils/node';
5
+ import { kebabCase } from 'change-case';
6
+ import { z } from 'zod';
7
+ import { appModuleProvider } from '#src/generators/core/app-module/index.js';
8
+ import { prismaAuthorizerUtilsImportsProvider } from '../prisma-authorizer-utils/index.js';
9
+ import { prismaOutputProvider } from '../prisma/prisma.generator.js';
10
+ const roleSchema = z.object({
11
+ /** camelCase role name (e.g., 'owner') */
12
+ name: z.string().min(1),
13
+ /** Pre-generated role function code (e.g., '(ctx, model) => model.id === ctx.auth.userId') */
14
+ roleCode: z.string().min(1),
15
+ });
16
+ const descriptorSchema = z.object({
17
+ modelName: z.string().min(1),
18
+ idFieldName: z.string().min(1),
19
+ roles: z.array(roleSchema).min(1),
20
+ });
21
+ export const prismaModelAuthorizerProvider = createReadOnlyProviderType('prisma-model-authorizer');
22
+ // ----- Generator -----
23
+ /**
24
+ * Generator for prisma/prisma-model-authorizer
25
+ *
26
+ * Generates `{moduleFolder}/authorizers/{kebab-model}.authorizer.ts` files
27
+ * that create a model authorizer with role check functions.
28
+ */
29
+ export const prismaModelAuthorizerGenerator = createGenerator({
30
+ name: 'prisma/prisma-model-authorizer',
31
+ generatorFileUrl: import.meta.url,
32
+ descriptorSchema,
33
+ getInstanceName: (descriptor) => `${descriptor.modelName}Authorizer`,
34
+ buildTasks: (descriptor) => ({
35
+ main: createGeneratorTask({
36
+ dependencies: {
37
+ appModule: appModuleProvider,
38
+ typescriptFile: typescriptFileProvider,
39
+ prismaOutput: prismaOutputProvider,
40
+ prismaAuthorizerUtilsImports: prismaAuthorizerUtilsImportsProvider,
41
+ },
42
+ outputs: {
43
+ prismaModelAuthorizer: prismaModelAuthorizerProvider.export(packageScope, descriptor.modelName),
44
+ },
45
+ run({ appModule, typescriptFile, prismaOutput, prismaAuthorizerUtilsImports, }) {
46
+ const { modelName, idFieldName, roles } = descriptor;
47
+ const modelVarName = lowercaseFirstChar(modelName);
48
+ const authorizerName = `${modelVarName}Authorizer`;
49
+ const authorizerFolder = posixJoin(appModule.getModuleFolder(), 'authorizers');
50
+ const authorizerPath = posixJoin(authorizerFolder, `${kebabCase(modelName)}.authorizer.ts`);
51
+ return {
52
+ build: async (builder) => {
53
+ const rolesObject = {};
54
+ for (const role of roles) {
55
+ rolesObject[role.name] = role.roleCode;
56
+ }
57
+ const rolesFragment = TsCodeUtils.mergeFragmentsAsObject(rolesObject, { disableSort: true });
58
+ const prismaModelFragment = prismaOutput.getPrismaModelFragment(modelName);
59
+ const idWhere = idFieldName === 'id' ? 'id' : `${idFieldName}: id`;
60
+ const fileFragment = tsTemplate `
61
+ export const ${authorizerName} = ${prismaAuthorizerUtilsImports.createModelAuthorizer.fragment()}({
62
+ model: '${modelVarName}',
63
+ idField: '${idFieldName}',
64
+ getModelById: (id) => ${prismaModelFragment}.findUnique({ where: { ${idWhere} } }),
65
+ roles: ${rolesFragment},
66
+ });
67
+ `;
68
+ await builder.apply(typescriptFile.renderTemplateFragment({
69
+ id: `prisma-model-authorizer:${modelName}`,
70
+ destination: authorizerPath,
71
+ fragment: fileFragment,
72
+ }));
73
+ return {
74
+ prismaModelAuthorizer: {
75
+ getAuthorizerName() {
76
+ return authorizerName;
77
+ },
78
+ getAuthorizerFragment() {
79
+ return TsCodeUtils.importFragment(authorizerName, authorizerPath);
80
+ },
81
+ getRoleFragment(roleName) {
82
+ const validRoles = roles.map((r) => r.name);
83
+ if (!validRoles.includes(roleName)) {
84
+ throw new Error(`Role '${roleName}' not found on ${modelName} authorizer. Available: ${validRoles.join(', ')}`);
85
+ }
86
+ return tsTemplate `${TsCodeUtils.importFragment(authorizerName, authorizerPath)}.roles.${roleName}`;
87
+ },
88
+ },
89
+ };
90
+ },
91
+ };
92
+ },
93
+ }),
94
+ }),
95
+ });
96
+ //# sourceMappingURL=prisma-model-authorizer.generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prisma-model-authorizer.generator.js","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ export declare const fastifyStripeGenerator: import("@baseplate-dev/sync").Gener
31
31
  InternalServerError: {};
32
32
  logError: {};
33
33
  NotFoundError: {};
34
+ TooManyRequestsError: {};
34
35
  UnauthorizedError: {};
35
36
  }>>;
36
37
  loggerServiceImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
@@ -1 +1 @@
1
- {"version":3,"file":"fastify-stripe.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/stripe/fastify-stripe/fastify-stripe.generator.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8DjC,CAAC"}
1
+ {"version":3,"file":"fastify-stripe.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/stripe/fastify-stripe/fastify-stripe.generator.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8DjC,CAAC"}
@@ -36,6 +36,7 @@ export declare const STRIPE_FASTIFY_STRIPE_GENERATED: {
36
36
  InternalServerError: {};
37
37
  logError: {};
38
38
  NotFoundError: {};
39
+ TooManyRequestsError: {};
39
40
  UnauthorizedError: {};
40
41
  }>>;
41
42
  loggerServiceImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
@@ -59,6 +60,7 @@ export declare const STRIPE_FASTIFY_STRIPE_GENERATED: {
59
60
  InternalServerError: {};
60
61
  logError: {};
61
62
  NotFoundError: {};
63
+ TooManyRequestsError: {};
62
64
  UnauthorizedError: {};
63
65
  }>>;
64
66
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/generators/stripe/fastify-stripe/generated/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK3C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/generators/stripe/fastify-stripe/generated/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK3C,CAAC"}
@@ -25,6 +25,7 @@ export declare const STRIPE_FASTIFY_STRIPE_RENDERERS: {
25
25
  InternalServerError: {};
26
26
  logError: {};
27
27
  NotFoundError: {};
28
+ TooManyRequestsError: {};
28
29
  UnauthorizedError: {};
29
30
  }>>;
30
31
  loggerServiceImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
@@ -1 +1 @@
1
- {"version":3,"file":"template-renderers.d.ts","sourceRoot":"","sources":["../../../../../src/generators/stripe/fastify-stripe/generated/template-renderers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAUzD,OAAO,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAEvE,MAAM,WAAW,4BAA4B;IAC3C,YAAY,EAAE;QACZ,MAAM,EAAE,CACN,OAAO,EAAE,IAAI,CACX,gCAAgC,CAC9B,OAAO,+BAA+B,CAAC,YAAY,CACpD,EACD,oBAAoB,GAAG,OAAO,GAAG,OAAO,GAAG,gBAAgB,CAC5D,KACE,aAAa,CAAC;KACpB,CAAC;IACF,aAAa,EAAE;QACb,MAAM,EAAE,CACN,OAAO,EAAE,IAAI,CACX,gCAAgC,CAC9B,OAAO,+BAA+B,CAAC,aAAa,CACrD,EACD,oBAAoB,GAAG,OAAO,GAAG,OAAO,GAAG,gBAAgB,CAC5D,KACE,aAAa,CAAC;KACpB,CAAC;CACH;AA2DD,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;CAG3C,CAAC"}
1
+ {"version":3,"file":"template-renderers.d.ts","sourceRoot":"","sources":["../../../../../src/generators/stripe/fastify-stripe/generated/template-renderers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAUzD,OAAO,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAEvE,MAAM,WAAW,4BAA4B;IAC3C,YAAY,EAAE;QACZ,MAAM,EAAE,CACN,OAAO,EAAE,IAAI,CACX,gCAAgC,CAC9B,OAAO,+BAA+B,CAAC,YAAY,CACpD,EACD,oBAAoB,GAAG,OAAO,GAAG,OAAO,GAAG,gBAAgB,CAC5D,KACE,aAAa,CAAC;KACpB,CAAC;IACF,aAAa,EAAE;QACb,MAAM,EAAE,CACN,OAAO,EAAE,IAAI,CACX,gCAAgC,CAC9B,OAAO,+BAA+B,CAAC,aAAa,CACrD,EACD,oBAAoB,GAAG,OAAO,GAAG,OAAO,GAAG,gBAAgB,CAC5D,KACE,aAAa,CAAC;KACpB,CAAC;CACH;AA2DD,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;CAG3C,CAAC"}
@@ -11,6 +11,7 @@ export declare const pluginsGroup: {
11
11
  InternalServerError: {};
12
12
  logError: {};
13
13
  NotFoundError: {};
14
+ TooManyRequestsError: {};
14
15
  UnauthorizedError: {};
15
16
  }>>;
16
17
  }, {
@@ -49,6 +50,7 @@ export declare const STRIPE_FASTIFY_STRIPE_TEMPLATES: {
49
50
  InternalServerError: {};
50
51
  logError: {};
51
52
  NotFoundError: {};
53
+ TooManyRequestsError: {};
52
54
  UnauthorizedError: {};
53
55
  }>>;
54
56
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"typed-templates.d.ts","sourceRoot":"","sources":["../../../../../src/generators/stripe/fastify-stripe/generated/typed-templates.ts"],"names":[],"mappings":"AA4CA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;CAAyC,CAAC;AAgCnE,eAAO,MAAM,aAAa;;;;;;;;;;;CAA6B,CAAC;AAExD,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAkC,CAAC"}
1
+ {"version":3,"file":"typed-templates.d.ts","sourceRoot":"","sources":["../../../../../src/generators/stripe/fastify-stripe/generated/typed-templates.ts"],"names":[],"mappings":"AA4CA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;CAAyC,CAAC;AAgCnE,eAAO,MAAM,aAAa;;;;;;;;;;;CAA6B,CAAC;AAExD,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAkC,CAAC"}
@@ -23,6 +23,7 @@ export declare const YOGA_YOGA_PLUGIN_GENERATED: {
23
23
  InternalServerError: {};
24
24
  logError: {};
25
25
  NotFoundError: {};
26
+ TooManyRequestsError: {};
26
27
  UnauthorizedError: {};
27
28
  }>>;
28
29
  fastifyRedisImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
@@ -61,6 +62,7 @@ export declare const YOGA_YOGA_PLUGIN_GENERATED: {
61
62
  InternalServerError: {};
62
63
  logError: {};
63
64
  NotFoundError: {};
65
+ TooManyRequestsError: {};
64
66
  UnauthorizedError: {};
65
67
  }>>;
66
68
  loggerServiceImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
@@ -93,6 +95,7 @@ export declare const YOGA_YOGA_PLUGIN_GENERATED: {
93
95
  InternalServerError: {};
94
96
  logError: {};
95
97
  NotFoundError: {};
98
+ TooManyRequestsError: {};
96
99
  UnauthorizedError: {};
97
100
  }>>;
98
101
  loggerServiceImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
@@ -115,6 +118,7 @@ export declare const YOGA_YOGA_PLUGIN_GENERATED: {
115
118
  InternalServerError: {};
116
119
  logError: {};
117
120
  NotFoundError: {};
121
+ TooManyRequestsError: {};
118
122
  UnauthorizedError: {};
119
123
  }>>;
120
124
  loggerServiceImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/generators/yoga/yoga-plugin/generated/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAItC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/generators/yoga/yoga-plugin/generated/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAItC,CAAC"}