@baseplate-dev/fastify-generators 0.5.3 → 0.6.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.
Files changed (177) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/dist/constants/fastify-packages.d.ts +14 -14
  3. package/dist/constants/fastify-packages.js +14 -14
  4. package/dist/constants/fastify-packages.js.map +1 -1
  5. package/dist/generators/auth/auth-context/templates/module/types/auth-context.types.ts +1 -0
  6. package/dist/generators/auth/auth-context/templates/module/utils/auth-context.utils.ts +3 -1
  7. package/dist/generators/core/fastify/fastify.generator.d.ts.map +1 -1
  8. package/dist/generators/core/fastify/fastify.generator.js +3 -1
  9. package/dist/generators/core/fastify/fastify.generator.js.map +1 -1
  10. package/dist/generators/pothos/index.d.ts +1 -0
  11. package/dist/generators/pothos/index.d.ts.map +1 -1
  12. package/dist/generators/pothos/index.js +1 -0
  13. package/dist/generators/pothos/index.js.map +1 -1
  14. package/dist/generators/pothos/pothos-auth/pothos-auth.generator.d.ts +5 -0
  15. package/dist/generators/pothos/pothos-auth/pothos-auth.generator.d.ts.map +1 -1
  16. package/dist/generators/pothos/pothos-auth/pothos-auth.generator.js +8 -0
  17. package/dist/generators/pothos/pothos-auth/pothos-auth.generator.js.map +1 -1
  18. package/dist/generators/pothos/pothos-prisma-count-query/index.d.ts +2 -0
  19. package/dist/generators/pothos/pothos-prisma-count-query/index.d.ts.map +1 -0
  20. package/dist/generators/pothos/pothos-prisma-count-query/index.js +2 -0
  21. package/dist/generators/pothos/pothos-prisma-count-query/index.js.map +1 -0
  22. package/dist/generators/pothos/pothos-prisma-count-query/pothos-prisma-count-query.generator.d.ts +16 -0
  23. package/dist/generators/pothos/pothos-prisma-count-query/pothos-prisma-count-query.generator.d.ts.map +1 -0
  24. package/dist/generators/pothos/pothos-prisma-count-query/pothos-prisma-count-query.generator.js +104 -0
  25. package/dist/generators/pothos/pothos-prisma-count-query/pothos-prisma-count-query.generator.js.map +1 -0
  26. package/dist/generators/pothos/pothos-prisma-crud-mutation/pothos-prisma-crud-mutation.generator.d.ts.map +1 -1
  27. package/dist/generators/pothos/pothos-prisma-crud-mutation/pothos-prisma-crud-mutation.generator.js +2 -5
  28. package/dist/generators/pothos/pothos-prisma-crud-mutation/pothos-prisma-crud-mutation.generator.js.map +1 -1
  29. package/dist/generators/pothos/pothos-prisma-find-query/pothos-prisma-find-query.generator.d.ts +4 -0
  30. package/dist/generators/pothos/pothos-prisma-find-query/pothos-prisma-find-query.generator.d.ts.map +1 -1
  31. package/dist/generators/pothos/pothos-prisma-find-query/pothos-prisma-find-query.generator.js +52 -10
  32. package/dist/generators/pothos/pothos-prisma-find-query/pothos-prisma-find-query.generator.js.map +1 -1
  33. package/dist/generators/pothos/pothos-prisma-list-query/pothos-prisma-list-query.generator.d.ts +4 -0
  34. package/dist/generators/pothos/pothos-prisma-list-query/pothos-prisma-list-query.generator.d.ts.map +1 -1
  35. package/dist/generators/pothos/pothos-prisma-list-query/pothos-prisma-list-query.generator.js +39 -3
  36. package/dist/generators/pothos/pothos-prisma-list-query/pothos-prisma-list-query.generator.js.map +1 -1
  37. package/dist/generators/pothos/pothos-prisma-object/pothos-prisma-object.generator.d.ts +7 -1
  38. package/dist/generators/pothos/pothos-prisma-object/pothos-prisma-object.generator.d.ts.map +1 -1
  39. package/dist/generators/pothos/pothos-prisma-object/pothos-prisma-object.generator.js +73 -13
  40. package/dist/generators/pothos/pothos-prisma-object/pothos-prisma-object.generator.js.map +1 -1
  41. package/dist/generators/prisma/_shared/build-data-helpers/generate-authorize-fragment.d.ts +20 -0
  42. package/dist/generators/prisma/_shared/build-data-helpers/generate-authorize-fragment.d.ts.map +1 -0
  43. package/dist/generators/prisma/_shared/build-data-helpers/generate-authorize-fragment.js +28 -0
  44. package/dist/generators/prisma/_shared/build-data-helpers/generate-authorize-fragment.js.map +1 -0
  45. package/dist/generators/prisma/_shared/build-data-helpers/generate-operation-callbacks.d.ts +48 -55
  46. package/dist/generators/prisma/_shared/build-data-helpers/generate-operation-callbacks.d.ts.map +1 -1
  47. package/dist/generators/prisma/_shared/build-data-helpers/generate-operation-callbacks.js +130 -67
  48. package/dist/generators/prisma/_shared/build-data-helpers/generate-operation-callbacks.js.map +1 -1
  49. package/dist/generators/prisma/_shared/build-data-helpers/generate-relation-build-data.d.ts +2 -0
  50. package/dist/generators/prisma/_shared/build-data-helpers/generate-relation-build-data.d.ts.map +1 -1
  51. package/dist/generators/prisma/_shared/build-data-helpers/generate-relation-build-data.js +3 -3
  52. package/dist/generators/prisma/_shared/build-data-helpers/generate-relation-build-data.js.map +1 -1
  53. package/dist/generators/prisma/_shared/build-data-helpers/index.d.ts +1 -0
  54. package/dist/generators/prisma/_shared/build-data-helpers/index.d.ts.map +1 -1
  55. package/dist/generators/prisma/_shared/build-data-helpers/index.js +1 -0
  56. package/dist/generators/prisma/_shared/build-data-helpers/index.js.map +1 -1
  57. package/dist/generators/prisma/data-utils/data-utils.generator.d.ts +25 -6
  58. package/dist/generators/prisma/data-utils/data-utils.generator.d.ts.map +1 -1
  59. package/dist/generators/prisma/data-utils/generated/index.d.ts +78 -23
  60. package/dist/generators/prisma/data-utils/generated/index.d.ts.map +1 -1
  61. package/dist/generators/prisma/data-utils/generated/template-paths.d.ts +3 -1
  62. package/dist/generators/prisma/data-utils/generated/template-paths.d.ts.map +1 -1
  63. package/dist/generators/prisma/data-utils/generated/template-paths.js +3 -1
  64. package/dist/generators/prisma/data-utils/generated/template-paths.js.map +1 -1
  65. package/dist/generators/prisma/data-utils/generated/ts-import-providers.d.ts +75 -18
  66. package/dist/generators/prisma/data-utils/generated/ts-import-providers.d.ts.map +1 -1
  67. package/dist/generators/prisma/data-utils/generated/ts-import-providers.js +26 -8
  68. package/dist/generators/prisma/data-utils/generated/ts-import-providers.js.map +1 -1
  69. package/dist/generators/prisma/data-utils/generated/typed-templates.d.ts +106 -34
  70. package/dist/generators/prisma/data-utils/generated/typed-templates.d.ts.map +1 -1
  71. package/dist/generators/prisma/data-utils/generated/typed-templates.js +61 -14
  72. package/dist/generators/prisma/data-utils/generated/typed-templates.js.map +1 -1
  73. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/commit-operations.ts +366 -0
  74. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/compose-operations.ts +131 -0
  75. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/field-definitions.ts +26 -30
  76. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/field-utils.ts +201 -0
  77. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/prisma-types.ts +24 -20
  78. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/prisma-utils.ts +14 -6
  79. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/relation-helpers.ts +21 -26
  80. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/types.ts +374 -25
  81. package/dist/generators/prisma/index.d.ts +2 -0
  82. package/dist/generators/prisma/index.d.ts.map +1 -1
  83. package/dist/generators/prisma/index.js +2 -0
  84. package/dist/generators/prisma/index.js.map +1 -1
  85. package/dist/generators/prisma/prisma-authorizer-utils/generated/index.d.ts +50 -12
  86. package/dist/generators/prisma/prisma-authorizer-utils/generated/index.d.ts.map +1 -1
  87. package/dist/generators/prisma/prisma-authorizer-utils/generated/template-renderers.d.ts +25 -6
  88. package/dist/generators/prisma/prisma-authorizer-utils/generated/template-renderers.d.ts.map +1 -1
  89. package/dist/generators/prisma/prisma-authorizer-utils/generated/typed-templates.d.ts +50 -12
  90. package/dist/generators/prisma/prisma-authorizer-utils/generated/typed-templates.d.ts.map +1 -1
  91. package/dist/generators/prisma/prisma-authorizer-utils/prisma-authorizer-utils.generator.d.ts +25 -6
  92. package/dist/generators/prisma/prisma-authorizer-utils/prisma-authorizer-utils.generator.d.ts.map +1 -1
  93. package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.d.ts +26 -6
  94. package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.d.ts.map +1 -1
  95. package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.js +53 -25
  96. package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.js.map +1 -1
  97. package/dist/generators/prisma/prisma-data-delete/prisma-data-delete.generator.d.ts +31 -6
  98. package/dist/generators/prisma/prisma-data-delete/prisma-data-delete.generator.d.ts.map +1 -1
  99. package/dist/generators/prisma/prisma-data-delete/prisma-data-delete.generator.js +52 -15
  100. package/dist/generators/prisma/prisma-data-delete/prisma-data-delete.generator.js.map +1 -1
  101. package/dist/generators/prisma/prisma-data-nested-field/prisma-data-nested-field.generator.d.ts +25 -6
  102. package/dist/generators/prisma/prisma-data-nested-field/prisma-data-nested-field.generator.d.ts.map +1 -1
  103. package/dist/generators/prisma/prisma-data-service/prisma-data-service.generator.d.ts +25 -6
  104. package/dist/generators/prisma/prisma-data-service/prisma-data-service.generator.d.ts.map +1 -1
  105. package/dist/generators/prisma/prisma-data-update/prisma-data-update.generator.d.ts +31 -6
  106. package/dist/generators/prisma/prisma-data-update/prisma-data-update.generator.d.ts.map +1 -1
  107. package/dist/generators/prisma/prisma-data-update/prisma-data-update.generator.js +65 -23
  108. package/dist/generators/prisma/prisma-data-update/prisma-data-update.generator.js.map +1 -1
  109. package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.d.ts +2 -0
  110. package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.d.ts.map +1 -1
  111. package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.js +86 -53
  112. package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.js.map +1 -1
  113. package/dist/generators/prisma/prisma-model-query-filter/index.d.ts +2 -0
  114. package/dist/generators/prisma/prisma-model-query-filter/index.d.ts.map +1 -0
  115. package/dist/generators/prisma/prisma-model-query-filter/index.js +2 -0
  116. package/dist/generators/prisma/prisma-model-query-filter/index.js.map +1 -0
  117. package/dist/generators/prisma/prisma-model-query-filter/prisma-model-query-filter.generator.d.ts +60 -0
  118. package/dist/generators/prisma/prisma-model-query-filter/prisma-model-query-filter.generator.d.ts.map +1 -0
  119. package/dist/generators/prisma/prisma-model-query-filter/prisma-model-query-filter.generator.js +124 -0
  120. package/dist/generators/prisma/prisma-model-query-filter/prisma-model-query-filter.generator.js.map +1 -0
  121. package/dist/generators/prisma/prisma-query-filter-utils/generated/index.d.ts +364 -0
  122. package/dist/generators/prisma/prisma-query-filter-utils/generated/index.d.ts.map +1 -0
  123. package/dist/generators/prisma/prisma-query-filter-utils/generated/index.js +13 -0
  124. package/dist/generators/prisma/prisma-query-filter-utils/generated/index.js.map +1 -0
  125. package/dist/generators/prisma/prisma-query-filter-utils/generated/template-paths.d.ts +13 -0
  126. package/dist/generators/prisma/prisma-query-filter-utils/generated/template-paths.d.ts.map +1 -0
  127. package/dist/generators/prisma/prisma-query-filter-utils/generated/template-paths.js +25 -0
  128. package/dist/generators/prisma/prisma-query-filter-utils/generated/template-paths.js.map +1 -0
  129. package/dist/generators/prisma/prisma-query-filter-utils/generated/template-renderers.d.ts +131 -0
  130. package/dist/generators/prisma/prisma-query-filter-utils/generated/template-renderers.d.ts.map +1 -0
  131. package/dist/generators/prisma/prisma-query-filter-utils/generated/template-renderers.js +49 -0
  132. package/dist/generators/prisma/prisma-query-filter-utils/generated/template-renderers.js.map +1 -0
  133. package/dist/generators/prisma/prisma-query-filter-utils/generated/ts-import-providers.d.ts +66 -0
  134. package/dist/generators/prisma/prisma-query-filter-utils/generated/ts-import-providers.d.ts.map +1 -0
  135. package/dist/generators/prisma/prisma-query-filter-utils/generated/ts-import-providers.js +40 -0
  136. package/dist/generators/prisma/prisma-query-filter-utils/generated/ts-import-providers.js.map +1 -0
  137. package/dist/generators/prisma/prisma-query-filter-utils/generated/typed-templates.d.ts +411 -0
  138. package/dist/generators/prisma/prisma-query-filter-utils/generated/typed-templates.d.ts.map +1 -0
  139. package/dist/generators/prisma/prisma-query-filter-utils/generated/typed-templates.js +46 -0
  140. package/dist/generators/prisma/prisma-query-filter-utils/generated/typed-templates.js.map +1 -0
  141. package/dist/generators/prisma/prisma-query-filter-utils/index.d.ts +4 -0
  142. package/dist/generators/prisma/prisma-query-filter-utils/index.d.ts.map +1 -0
  143. package/dist/generators/prisma/prisma-query-filter-utils/index.js +3 -0
  144. package/dist/generators/prisma/prisma-query-filter-utils/index.js.map +1 -0
  145. package/dist/generators/prisma/prisma-query-filter-utils/prisma-query-filter-utils.generator.d.ts +156 -0
  146. package/dist/generators/prisma/prisma-query-filter-utils/prisma-query-filter-utils.generator.d.ts.map +1 -0
  147. package/dist/generators/prisma/prisma-query-filter-utils/prisma-query-filter-utils.generator.js +32 -0
  148. package/dist/generators/prisma/prisma-query-filter-utils/prisma-query-filter-utils.generator.js.map +1 -0
  149. package/dist/generators/prisma/prisma-query-filter-utils/templates/src/utils/query-filters.ts +209 -0
  150. package/dist/generators/prisma/prisma-query-filter-utils/templates/src/utils/query-helpers.ts +70 -0
  151. package/dist/generators/vitest/prisma-vitest/generated/index.d.ts +0 -6
  152. package/dist/generators/vitest/prisma-vitest/generated/index.d.ts.map +1 -1
  153. package/dist/generators/vitest/prisma-vitest/generated/template-renderers.d.ts.map +1 -1
  154. package/dist/generators/vitest/prisma-vitest/generated/template-renderers.js +0 -1
  155. package/dist/generators/vitest/prisma-vitest/generated/template-renderers.js.map +1 -1
  156. package/dist/generators/vitest/prisma-vitest/generated/typed-templates.d.ts +0 -6
  157. package/dist/generators/vitest/prisma-vitest/generated/typed-templates.d.ts.map +1 -1
  158. package/dist/generators/vitest/prisma-vitest/generated/typed-templates.js +1 -4
  159. package/dist/generators/vitest/prisma-vitest/generated/typed-templates.js.map +1 -1
  160. package/dist/generators/vitest/prisma-vitest/templates/src/tests/helpers/prisma.test-helper.ts +2 -10
  161. package/dist/types/service-dto-kinds.d.ts +0 -6
  162. package/dist/types/service-dto-kinds.d.ts.map +1 -1
  163. package/dist/types/service-dto-kinds.js +0 -6
  164. package/dist/types/service-dto-kinds.js.map +1 -1
  165. package/dist/writers/pothos/helpers.d.ts +1 -0
  166. package/dist/writers/pothos/helpers.d.ts.map +1 -1
  167. package/dist/writers/pothos/helpers.js +1 -0
  168. package/dist/writers/pothos/helpers.js.map +1 -1
  169. package/dist/writers/pothos/scalar-fields.d.ts +3 -1
  170. package/dist/writers/pothos/scalar-fields.d.ts.map +1 -1
  171. package/dist/writers/pothos/scalar-fields.js +1 -0
  172. package/dist/writers/pothos/scalar-fields.js.map +1 -1
  173. package/dist/writers/prisma-schema/fields.d.ts +1 -1
  174. package/dist/writers/prisma-schema/fields.js +2 -2
  175. package/dist/writers/prisma-schema/fields.js.map +1 -1
  176. package/package.json +8 -8
  177. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/define-operations.ts +0 -1134
@@ -0,0 +1,209 @@
1
+ // @ts-nocheck
2
+
3
+ import type { WhereResult } from '$utilsQueryHelpers';
4
+ import type { AuthRole } from '%authRolesImports';
5
+ import type { ModelPropName, WhereInput } from '%dataUtilsImports';
6
+ import type { ServiceContext } from '%serviceContextImports';
7
+
8
+ import { ForbiddenError } from '%errorHandlerServiceImports';
9
+
10
+ /**
11
+ * A where clause in the shape `{ OR: [...] }`.
12
+ * This is the consistent shape returned by `buildWhere`.
13
+ */
14
+ interface OrWhereClause<TModelName extends ModelPropName> {
15
+ OR: NonNullable<WhereInput<TModelName>>[];
16
+ }
17
+
18
+ /**
19
+ * Options for `buildWhere` to configure bypass behavior.
20
+ */
21
+ export interface QueryFilterBuildWhereOptions {
22
+ /** Global roles that bypass the query filter entirely. If the user has any of these roles, no filter is applied. */
23
+ bypassRoles?: AuthRole[];
24
+ }
25
+
26
+ /**
27
+ * A query filter role function that returns a Prisma where clause or a boolean.
28
+ *
29
+ * - Return a `WhereInput` to filter records by a condition
30
+ * - Return `true` to indicate the user has unrestricted access (no filter)
31
+ * - Return `false` to indicate the user has no access through this role
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * // Owner role: filter to own records, unless admin
36
+ * const ownerRole: QueryFilterRole<'todoList'> = (ctx) =>
37
+ * ctx.auth.hasRole('admin') ? true : { ownerId: ctx.auth.userId };
38
+ * ```
39
+ */
40
+ export type QueryFilterRole<TModelName extends ModelPropName> = (
41
+ ctx: ServiceContext,
42
+ ) => WhereResult<TModelName>;
43
+
44
+ /**
45
+ * Configuration for creating a model query filter.
46
+ */
47
+ export interface ModelQueryFilterConfig<
48
+ TModelName extends ModelPropName,
49
+ TRoles extends Record<string, QueryFilterRole<TModelName>>,
50
+ > {
51
+ /** Prisma model name */
52
+ model: TModelName;
53
+
54
+ /** Named query filter role functions */
55
+ roles: TRoles;
56
+ }
57
+
58
+ /**
59
+ * A model query filter — registry of query filter role functions for a model.
60
+ *
61
+ * Analogous to `ModelAuthorizer` but produces Prisma where clauses
62
+ * instead of boolean checks. Used to filter query results based on
63
+ * the authenticated user's permissions.
64
+ */
65
+ export interface ModelQueryFilter<
66
+ TModelName extends ModelPropName,
67
+ TRoles extends Record<string, QueryFilterRole<TModelName>>,
68
+ > {
69
+ /** The model name */
70
+ readonly model: TModelName;
71
+
72
+ /** The role definitions */
73
+ readonly roles: Readonly<TRoles>;
74
+
75
+ /**
76
+ * Build a combined where clause for the given role names.
77
+ *
78
+ * Evaluates each role and combines with OR logic (user needs to
79
+ * satisfy at least one role). Returns `undefined` if any role
80
+ * grants unrestricted access or if the user has a bypass role.
81
+ *
82
+ * @param ctx - Service context with auth info
83
+ * @param roleNames - Which roles to evaluate
84
+ * @param options - Optional configuration for bypass behavior
85
+ * @returns A `{ OR: [...] }` where clause, or `undefined` if no filtering needed
86
+ * @throws {ForbiddenError} If all roles deny access
87
+ */
88
+ buildWhere(
89
+ ctx: ServiceContext,
90
+ roleNames: (keyof TRoles)[],
91
+ options?: QueryFilterBuildWhereOptions,
92
+ ): OrWhereClause<TModelName> | undefined;
93
+
94
+ /**
95
+ * Build a nested where clause for use as a relation filter on a parent model.
96
+ *
97
+ * Evaluates the given roles and wraps the result in `{ [relationField]: where }`.
98
+ * Returns a boolean if all roles grant or deny access outright.
99
+ *
100
+ * @param ctx - Service context with auth info
101
+ * @param relationField - The Prisma relation field name on the parent model
102
+ * @param roleNames - Which roles to evaluate
103
+ * @returns A `WhereResult` for use in a parent query filter
104
+ */
105
+ buildNestedWhere<TRelationField extends string>(
106
+ ctx: ServiceContext,
107
+ relationField: TRelationField,
108
+ roleNames: (keyof TRoles)[],
109
+ ): Record<TRelationField, WhereInput<TModelName>> | boolean;
110
+ }
111
+
112
+ /**
113
+ * Creates a model query filter — a registry of query filter role functions.
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * const todoListQueryFilter = createModelQueryFilter({
118
+ * model: 'todoList',
119
+ * roles: {
120
+ * owner: (ctx) =>
121
+ * ctx.auth.hasRole('admin') ? true : { ownerId: ctx.auth.userId },
122
+ * },
123
+ * });
124
+ *
125
+ * // In a list query resolver:
126
+ * const authWhere = todoListQueryFilter.buildWhere(ctx, ['owner']);
127
+ * prisma.todoList.findMany({ where: authWhere });
128
+ *
129
+ * // In a get query resolver:
130
+ * const authWhere = todoListQueryFilter.buildWhere(ctx, ['owner']);
131
+ * prisma.todoList.findUniqueOrThrow({
132
+ * where: { id, ...(authWhere != null ? { AND: [authWhere] } : {}) },
133
+ * });
134
+ * ```
135
+ */
136
+ export function createModelQueryFilter<
137
+ TModelName extends ModelPropName,
138
+ TRoles extends Record<string, QueryFilterRole<TModelName>>,
139
+ >(
140
+ config: ModelQueryFilterConfig<TModelName, TRoles>,
141
+ ): ModelQueryFilter<TModelName, TRoles> {
142
+ return {
143
+ model: config.model,
144
+ roles: config.roles,
145
+
146
+ buildWhere(
147
+ ctx,
148
+ roleNames,
149
+ options?,
150
+ ): OrWhereClause<TModelName> | undefined {
151
+ // If the user has any bypass role, skip filtering entirely
152
+ if (
153
+ options?.bypassRoles != null &&
154
+ options.bypassRoles.length > 0 &&
155
+ ctx.auth.hasSomeRole(options.bypassRoles)
156
+ ) {
157
+ return undefined;
158
+ }
159
+
160
+ const results = roleNames.map((name) => config.roles[name](ctx));
161
+
162
+ // If any role grants unrestricted access, no filter needed
163
+ if (results.includes(true)) return undefined;
164
+
165
+ // Collect the where clauses, filtering out false entries
166
+ const whereClauses = results.filter(
167
+ (r): r is NonNullable<WhereInput<TModelName>> =>
168
+ r !== false && r != null,
169
+ );
170
+
171
+ // No clauses passed → no access at all
172
+ if (whereClauses.length === 0) {
173
+ throw new ForbiddenError('Forbidden');
174
+ }
175
+
176
+ return { OR: whereClauses };
177
+ },
178
+
179
+ buildNestedWhere<TRelationField extends string>(
180
+ ctx: ServiceContext,
181
+ relationField: TRelationField,
182
+ roleNames: (keyof TRoles)[],
183
+ ): Record<TRelationField, WhereInput<TModelName>> | boolean {
184
+ const results = roleNames.map((name) => config.roles[name](ctx));
185
+
186
+ // If any role grants unrestricted access, no filter needed
187
+ if (results.includes(true)) return true;
188
+
189
+ // Filter out false entries
190
+ const whereClauses = results.filter(
191
+ (r): r is NonNullable<WhereInput<TModelName>> =>
192
+ r !== false && r != null,
193
+ );
194
+
195
+ // No clauses passed → no access
196
+ if (whereClauses.length === 0) return false;
197
+
198
+ const combined =
199
+ whereClauses.length === 1
200
+ ? whereClauses[0]
201
+ : ({ OR: whereClauses } as WhereInput<TModelName>);
202
+
203
+ return { [relationField]: combined } as Record<
204
+ TRelationField,
205
+ WhereInput<TModelName>
206
+ >;
207
+ },
208
+ };
209
+ }
@@ -0,0 +1,70 @@
1
+ // @ts-nocheck
2
+
3
+ import type { ModelPropName, WhereInput } from '%dataUtilsImports';
4
+
5
+ /**
6
+ * Result of combining where clauses — either a Prisma where input or a boolean.
7
+ * - `true` means "match everything" (no filter needed)
8
+ * - `false` means "match nothing"
9
+ * - `WhereInput` is a Prisma where clause
10
+ */
11
+ export type WhereResult<TModelName extends ModelPropName> =
12
+ | WhereInput<TModelName>
13
+ | boolean;
14
+
15
+ /**
16
+ * Helpers for combining Prisma where clauses with proper boolean logic.
17
+ *
18
+ * These handle edge cases that Prisma doesn't handle correctly:
19
+ * - Empty `{ OR: [] }` should mean "match nothing" but Prisma ignores it in
20
+ * compound queries (see https://github.com/prisma/prisma/issues/17367)
21
+ * - Single-element arrays are unwrapped to avoid unnecessary wrappers
22
+ * - Boolean values enable short-circuit evaluation
23
+ */
24
+ export const queryHelpers = {
25
+ /**
26
+ * Combine where clauses with OR logic.
27
+ *
28
+ * - If any clause is `true` → returns `true` (short-circuit)
29
+ * - Filters out `false` entries
30
+ * - Empty after filtering → returns `false`
31
+ * - Single element → unwrap
32
+ * - Multiple elements → `{ OR: [...] }`
33
+ */
34
+ or<TModelName extends ModelPropName>(
35
+ clauses: WhereResult<TModelName>[],
36
+ ): WhereResult<TModelName> {
37
+ if (clauses.includes(true)) return true;
38
+
39
+ const filtered = clauses.filter(
40
+ (c): c is WhereInput<TModelName> => c !== false,
41
+ );
42
+
43
+ if (filtered.length === 0) return false;
44
+ if (filtered.length === 1) return filtered[0];
45
+ return { OR: filtered } as WhereInput<TModelName>;
46
+ },
47
+
48
+ /**
49
+ * Combine where clauses with AND logic.
50
+ *
51
+ * - If any clause is `false` → returns `false` (short-circuit)
52
+ * - Filters out `true` entries
53
+ * - Empty after filtering → returns `true` (vacuous truth)
54
+ * - Single element → unwrap
55
+ * - Multiple elements → `{ AND: [...] }`
56
+ */
57
+ and<TModelName extends ModelPropName>(
58
+ clauses: WhereResult<TModelName>[],
59
+ ): WhereResult<TModelName> {
60
+ if (clauses.includes(false)) return false;
61
+
62
+ const filtered = clauses.filter(
63
+ (c): c is WhereInput<TModelName> => c !== true,
64
+ );
65
+
66
+ if (filtered.length === 0) return true;
67
+ if (filtered.length === 1) return filtered[0];
68
+ return { AND: filtered } as WhereInput<TModelName>;
69
+ },
70
+ };
@@ -56,12 +56,6 @@ export declare const VITEST_PRISMA_VITEST_GENERATED: {
56
56
  prismaTestHelper: import("@baseplate-dev/core-generators").TsTemplateFile<{
57
57
  TPL_PRISMA_PATH: {};
58
58
  }, {
59
- prismaGeneratedImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
60
- PrismaClient: {};
61
- Prisma: {};
62
- '*': {};
63
- $Enums: {};
64
- }>>;
65
59
  prismaImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
66
60
  prisma: {};
67
61
  }>>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/generators/vitest/prisma-vitest/generated/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK1C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/generators/vitest/prisma-vitest/generated/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"template-renderers.d.ts","sourceRoot":"","sources":["../../../../../src/generators/vitest/prisma-vitest/generated/template-renderers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AACtF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASzD,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAEtE,MAAM,WAAW,2BAA2B;IAC1C,YAAY,EAAE;QACZ,MAAM,EAAE,CACN,OAAO,EAAE,IAAI,CACX,+BAA+B,CAC7B,OAAO,8BAA8B,CAAC,YAAY,CACnD,EACD,aAAa,GAAG,oBAAoB,GAAG,UAAU,GAAG,gBAAgB,CACrE,KACE,aAAa,CAAC;KACpB,CAAC;IACF,iBAAiB,EAAE;QACjB,MAAM,EAAE,CACN,OAAO,EAAE,IAAI,CACX,+BAA+B,CAC7B,OAAO,8BAA8B,CAAC,iBAAiB,CACxD,EACD,aAAa,GAAG,oBAAoB,GAAG,UAAU,GAAG,gBAAgB,CACrE,KACE,aAAa,CAAC;KACpB,CAAC;IACF,gBAAgB,EAAE;QAChB,MAAM,EAAE,CACN,OAAO,EAAE,IAAI,CACX,+BAA+B,CAC7B,OAAO,8BAA8B,CAAC,gBAAgB,CACvD,EACD,aAAa,GAAG,oBAAoB,GAAG,UAAU,GAAG,gBAAgB,CACrE,KACE,aAAa,CAAC;KACpB,CAAC;CACH;AA2DD,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;CAG1C,CAAC"}
1
+ {"version":3,"file":"template-renderers.d.ts","sourceRoot":"","sources":["../../../../../src/generators/vitest/prisma-vitest/generated/template-renderers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AACtF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASzD,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAEtE,MAAM,WAAW,2BAA2B;IAC1C,YAAY,EAAE;QACZ,MAAM,EAAE,CACN,OAAO,EAAE,IAAI,CACX,+BAA+B,CAC7B,OAAO,8BAA8B,CAAC,YAAY,CACnD,EACD,aAAa,GAAG,oBAAoB,GAAG,UAAU,GAAG,gBAAgB,CACrE,KACE,aAAa,CAAC;KACpB,CAAC;IACF,iBAAiB,EAAE;QACjB,MAAM,EAAE,CACN,OAAO,EAAE,IAAI,CACX,+BAA+B,CAC7B,OAAO,8BAA8B,CAAC,iBAAiB,CACxD,EACD,aAAa,GAAG,oBAAoB,GAAG,UAAU,GAAG,gBAAgB,CACrE,KACE,aAAa,CAAC;KACpB,CAAC;IACF,gBAAgB,EAAE;QAChB,MAAM,EAAE,CACN,OAAO,EAAE,IAAI,CACX,+BAA+B,CAC7B,OAAO,8BAA8B,CAAC,gBAAgB,CACvD,EACD,aAAa,GAAG,oBAAoB,GAAG,UAAU,GAAG,gBAAgB,CACrE,KACE,aAAa,CAAC;KACpB,CAAC;CACH;AA0DD,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;CAG1C,CAAC"}
@@ -42,7 +42,6 @@ const vitestPrismaVitestRenderersTask = createGeneratorTask({
42
42
  template: VITEST_PRISMA_VITEST_TEMPLATES.prismaTestHelper,
43
43
  destination: paths.prismaTestHelper,
44
44
  importMapProviders: {
45
- prismaGeneratedImports,
46
45
  prismaImports,
47
46
  },
48
47
  ...options,
@@ -1 +1 @@
1
- {"version":3,"file":"template-renderers.js","sourceRoot":"","sources":["../../../../../src/generators/vitest/prisma-vitest/generated/template-renderers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,+DAA+D,CAAC;AAC/G,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAC;AAEvG,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAmCtE,MAAM,2BAA2B,GAC/B,kBAAkB,CAChB,gCAAgC,CACjC,CAAC;AAEJ,MAAM,+BAA+B,GAAG,mBAAmB,CAAC;IAC1D,YAAY,EAAE;QACZ,KAAK,EAAE,0BAA0B,CAAC,QAAQ;QAC1C,sBAAsB,EAAE,8BAA8B;QACtD,aAAa,EAAE,qBAAqB;QACpC,cAAc,EAAE,sBAAsB;KACvC;IACD,OAAO,EAAE;QACP,2BAA2B,EAAE,2BAA2B,CAAC,MAAM,EAAE;KAClE;IACD,GAAG,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,cAAc,EAAE;QAClE,OAAO;YACL,SAAS,EAAE;gBACT,2BAA2B,EAAE;oBAC3B,YAAY,EAAE;wBACZ,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAClB,cAAc,CAAC,kBAAkB,CAAC;4BAChC,QAAQ,EAAE,8BAA8B,CAAC,YAAY;4BACrD,WAAW,EAAE,KAAK,CAAC,YAAY;4BAC/B,kBAAkB,EAAE;gCAClB,sBAAsB;6BACvB;4BACD,GAAG,OAAO;yBACX,CAAC;qBACL;oBACD,iBAAiB,EAAE;wBACjB,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAClB,cAAc,CAAC,kBAAkB,CAAC;4BAChC,QAAQ,EAAE,8BAA8B,CAAC,iBAAiB;4BAC1D,WAAW,EAAE,KAAK,CAAC,iBAAiB;4BACpC,cAAc,EAAE,KAAK;4BACrB,GAAG,OAAO;yBACX,CAAC;qBACL;oBACD,gBAAgB,EAAE;wBAChB,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAClB,cAAc,CAAC,kBAAkB,CAAC;4BAChC,QAAQ,EAAE,8BAA8B,CAAC,gBAAgB;4BACzD,WAAW,EAAE,KAAK,CAAC,gBAAgB;4BACnC,kBAAkB,EAAE;gCAClB,sBAAsB;gCACtB,aAAa;6BACd;4BACD,GAAG,OAAO;yBACX,CAAC;qBACL;iBACF;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,QAAQ,EAAE,2BAA2B;IACrC,IAAI,EAAE,+BAA+B;CACtC,CAAC"}
1
+ {"version":3,"file":"template-renderers.js","sourceRoot":"","sources":["../../../../../src/generators/vitest/prisma-vitest/generated/template-renderers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,+DAA+D,CAAC;AAC/G,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAC;AAEvG,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAmCtE,MAAM,2BAA2B,GAC/B,kBAAkB,CAChB,gCAAgC,CACjC,CAAC;AAEJ,MAAM,+BAA+B,GAAG,mBAAmB,CAAC;IAC1D,YAAY,EAAE;QACZ,KAAK,EAAE,0BAA0B,CAAC,QAAQ;QAC1C,sBAAsB,EAAE,8BAA8B;QACtD,aAAa,EAAE,qBAAqB;QACpC,cAAc,EAAE,sBAAsB;KACvC;IACD,OAAO,EAAE;QACP,2BAA2B,EAAE,2BAA2B,CAAC,MAAM,EAAE;KAClE;IACD,GAAG,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,cAAc,EAAE;QAClE,OAAO;YACL,SAAS,EAAE;gBACT,2BAA2B,EAAE;oBAC3B,YAAY,EAAE;wBACZ,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAClB,cAAc,CAAC,kBAAkB,CAAC;4BAChC,QAAQ,EAAE,8BAA8B,CAAC,YAAY;4BACrD,WAAW,EAAE,KAAK,CAAC,YAAY;4BAC/B,kBAAkB,EAAE;gCAClB,sBAAsB;6BACvB;4BACD,GAAG,OAAO;yBACX,CAAC;qBACL;oBACD,iBAAiB,EAAE;wBACjB,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAClB,cAAc,CAAC,kBAAkB,CAAC;4BAChC,QAAQ,EAAE,8BAA8B,CAAC,iBAAiB;4BAC1D,WAAW,EAAE,KAAK,CAAC,iBAAiB;4BACpC,cAAc,EAAE,KAAK;4BACrB,GAAG,OAAO;yBACX,CAAC;qBACL;oBACD,gBAAgB,EAAE;wBAChB,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAClB,cAAc,CAAC,kBAAkB,CAAC;4BAChC,QAAQ,EAAE,8BAA8B,CAAC,gBAAgB;4BACzD,WAAW,EAAE,KAAK,CAAC,gBAAgB;4BACnC,kBAAkB,EAAE;gCAClB,aAAa;6BACd;4BACD,GAAG,OAAO;yBACX,CAAC;qBACL;iBACF;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,QAAQ,EAAE,2BAA2B;IACrC,IAAI,EAAE,+BAA+B;CACtC,CAAC"}
@@ -15,12 +15,6 @@ export declare const VITEST_PRISMA_VITEST_TEMPLATES: {
15
15
  prismaTestHelper: import("@baseplate-dev/core-generators").TsTemplateFile<{
16
16
  TPL_PRISMA_PATH: {};
17
17
  }, {
18
- prismaGeneratedImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
19
- PrismaClient: {};
20
- Prisma: {};
21
- '*': {};
22
- $Enums: {};
23
- }>>;
24
18
  prismaImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
25
19
  prisma: {};
26
20
  }>>;
@@ -1 +1 @@
1
- {"version":3,"file":"typed-templates.d.ts","sourceRoot":"","sources":["../../../../../src/generators/vitest/prisma-vitest/generated/typed-templates.ts"],"names":[],"mappings":"AA2DA,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI1C,CAAC"}
1
+ {"version":3,"file":"typed-templates.d.ts","sourceRoot":"","sources":["../../../../../src/generators/vitest/prisma-vitest/generated/typed-templates.ts"],"names":[],"mappings":"AAwDA,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;CAI1C,CAAC"}
@@ -32,10 +32,7 @@ const globalSetupPrisma = createTsTemplateFile({
32
32
  });
33
33
  const prismaTestHelper = createTsTemplateFile({
34
34
  fileOptions: { kind: 'singleton' },
35
- importMapProviders: {
36
- prismaGeneratedImports: prismaGeneratedImportsProvider,
37
- prismaImports: prismaImportsProvider,
38
- },
35
+ importMapProviders: { prismaImports: prismaImportsProvider },
39
36
  name: 'prisma-test-helper',
40
37
  projectExports: { prismaMock: {} },
41
38
  source: {
@@ -1 +1 @@
1
- {"version":3,"file":"typed-templates.js","sourceRoot":"","sources":["../../../../../src/generators/vitest/prisma-vitest/generated/typed-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,8BAA8B,EAAE,MAAM,+DAA+D,CAAC;AAC/G,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAC;AAEvG,MAAM,YAAY,GAAG,oBAAoB,CAAC;IACxC,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;IAClC,kBAAkB,EAAE;QAClB,sBAAsB,EAAE,8BAA8B;KACvD;IACD,IAAI,EAAE,gBAAgB;IACtB,cAAc,EAAE;QACd,kBAAkB,EAAE,EAAE;QACtB,8BAA8B,EAAE,EAAE;QAClC,mBAAmB,EAAE,EAAE;QACvB,aAAa,EAAE,EAAE;QACjB,eAAe,EAAE,EAAE;KACpB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,IAAI,CAAC,IAAI,CACb,MAAM,CAAC,IAAI,CAAC,OAAO,EACnB,kDAAkD,CACnD;KACF;IACD,SAAS,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;IAC7C,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;IAClC,kBAAkB,EAAE,EAAE;IACtB,IAAI,EAAE,qBAAqB;IAC3B,4BAA4B,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;IAClD,MAAM,EAAE;QACN,IAAI,EAAE,IAAI,CAAC,IAAI,CACb,MAAM,CAAC,IAAI,CAAC,OAAO,EACnB,uDAAuD,CACxD;KACF;IACD,SAAS,EAAE,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;IAC5C,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;IAClC,kBAAkB,EAAE;QAClB,sBAAsB,EAAE,8BAA8B;QACtD,aAAa,EAAE,qBAAqB;KACrC;IACD,IAAI,EAAE,oBAAoB;IAC1B,cAAc,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;IAClC,MAAM,EAAE;QACN,IAAI,EAAE,IAAI,CAAC,IAAI,CACb,MAAM,CAAC,IAAI,CAAC,OAAO,EACnB,sDAAsD,CACvD;KACF;IACD,SAAS,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,YAAY;IACZ,iBAAiB;IACjB,gBAAgB;CACjB,CAAC"}
1
+ {"version":3,"file":"typed-templates.js","sourceRoot":"","sources":["../../../../../src/generators/vitest/prisma-vitest/generated/typed-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,8BAA8B,EAAE,MAAM,+DAA+D,CAAC;AAC/G,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAC;AAEvG,MAAM,YAAY,GAAG,oBAAoB,CAAC;IACxC,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;IAClC,kBAAkB,EAAE;QAClB,sBAAsB,EAAE,8BAA8B;KACvD;IACD,IAAI,EAAE,gBAAgB;IACtB,cAAc,EAAE;QACd,kBAAkB,EAAE,EAAE;QACtB,8BAA8B,EAAE,EAAE;QAClC,mBAAmB,EAAE,EAAE;QACvB,aAAa,EAAE,EAAE;QACjB,eAAe,EAAE,EAAE;KACpB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,IAAI,CAAC,IAAI,CACb,MAAM,CAAC,IAAI,CAAC,OAAO,EACnB,kDAAkD,CACnD;KACF;IACD,SAAS,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;IAC7C,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;IAClC,kBAAkB,EAAE,EAAE;IACtB,IAAI,EAAE,qBAAqB;IAC3B,4BAA4B,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;IAClD,MAAM,EAAE;QACN,IAAI,EAAE,IAAI,CAAC,IAAI,CACb,MAAM,CAAC,IAAI,CAAC,OAAO,EACnB,uDAAuD,CACxD;KACF;IACD,SAAS,EAAE,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;IAC5C,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;IAClC,kBAAkB,EAAE,EAAE,aAAa,EAAE,qBAAqB,EAAE;IAC5D,IAAI,EAAE,oBAAoB;IAC1B,cAAc,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;IAClC,MAAM,EAAE;QACN,IAAI,EAAE,IAAI,CAAC,IAAI,CACb,MAAM,CAAC,IAAI,CAAC,OAAO,EACnB,sDAAsD,CACvD;KACF;IACD,SAAS,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,YAAY;IACZ,iBAAiB;IACjB,gBAAgB;CACjB,CAAC"}
@@ -1,6 +1,5 @@
1
1
  // @ts-nocheck
2
2
 
3
- import type { PrismaClient } from '%prismaGeneratedImports';
4
3
  import type { DeepMockProxy } from 'vitest-mock-extended';
5
4
 
6
5
  import { prisma } from '%prismaImports';
@@ -9,18 +8,11 @@ import { mockDeep, mockReset } from 'vitest-mock-extended';
9
8
 
10
9
  vi.mock(TPL_PRISMA_PATH, () => ({
11
10
  __esModule: true,
12
- prisma: mockDeep<PrismaClient>(),
11
+ prisma: mockDeep<typeof prisma>(),
13
12
  }));
14
13
 
15
- export const prismaMock = prisma as DeepMockProxy<PrismaClient>;
14
+ export const prismaMock = prisma as unknown as DeepMockProxy<typeof prisma>;
16
15
 
17
16
  beforeEach(() => {
18
17
  mockReset(prismaMock);
19
-
20
- // mock $transaction
21
- prismaMock.$transaction.mockImplementation((promises) =>
22
- typeof promises === 'function'
23
- ? promises(prismaMock)
24
- : Promise.all(promises),
25
- );
26
18
  });
@@ -50,10 +50,4 @@ export declare const prismaQueryKind: ServiceDtoKind<undefined>;
50
50
  export declare const prismaWhereUniqueInputKind: ServiceDtoKind<{
51
51
  idFields: string[];
52
52
  }>;
53
- /**
54
- * Skip validation argument kind.
55
- *
56
- * Skips Zod validation if data has already been validated (avoids double validation).
57
- */
58
- export declare const skipValidationKind: ServiceDtoKind<undefined>;
59
53
  //# sourceMappingURL=service-dto-kinds.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service-dto-kinds.d.ts","sourceRoot":"","sources":["../../src/types/service-dto-kinds.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc,CAAC,SAAS,GAAG,SAAS;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;CACjC;AA+BD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,iBAAiB,CAAC,KAAK,IACjC,KAAK,SAAS,cAAc,CAAC,MAAM,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;AAE5D;;;;;GAKG;AACH,eAAO,MAAM,WAAW,2BAAkC,CAAC;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,eAAe,2BAAuC,CAAC;AAEpE;;;;GAIG;AACH,eAAO,MAAM,0BAA0B;cAC3B,MAAM,EAAE;EACW,CAAC;AAEhC;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,2BAA0C,CAAC"}
1
+ {"version":3,"file":"service-dto-kinds.d.ts","sourceRoot":"","sources":["../../src/types/service-dto-kinds.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc,CAAC,SAAS,GAAG,SAAS;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;CACjC;AA+BD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,iBAAiB,CAAC,KAAK,IACjC,KAAK,SAAS,cAAc,CAAC,MAAM,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC;AAE5D;;;;;GAKG;AACH,eAAO,MAAM,WAAW,2BAAkC,CAAC;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,eAAe,2BAAuC,CAAC;AAEpE;;;;GAIG;AACH,eAAO,MAAM,0BAA0B;cAC3B,MAAM,EAAE;EACW,CAAC"}
@@ -44,10 +44,4 @@ export const prismaQueryKind = createServiceDtoKind('prisma-query');
44
44
  * Maps an input field (typically 'id') to a Prisma where unique input.
45
45
  */
46
46
  export const prismaWhereUniqueInputKind = createServiceDtoKind('prisma-where-unique-input');
47
- /**
48
- * Skip validation argument kind.
49
- *
50
- * Skips Zod validation if data has already been validated (avoids double validation).
51
- */
52
- export const skipValidationKind = createServiceDtoKind('skip-validation');
53
47
  //# sourceMappingURL=service-dto-kinds.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service-dto-kinds.js","sourceRoot":"","sources":["../../src/types/service-dto-kinds.ts"],"names":[],"mappings":"AAmBA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAS,oBAAoB,CAC3B,IAAY;IAEZ,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAgBD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;AAEpE;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,oBAAoB,CAE3D,2BAA2B,CAAC,CAAC;AAEhC;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"service-dto-kinds.js","sourceRoot":"","sources":["../../src/types/service-dto-kinds.ts"],"names":[],"mappings":"AAmBA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAS,oBAAoB,CAC3B,IAAY;IAEZ,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAgBD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;AAEpE;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,oBAAoB,CAE3D,2BAA2B,CAAC,CAAC"}
@@ -5,6 +5,7 @@ interface PothosFieldOptions {
5
5
  required?: boolean;
6
6
  nullable?: boolean;
7
7
  type?: TsCodeFragment;
8
+ authorize?: TsCodeFragment;
8
9
  }
9
10
  /**
10
11
  * Write the options for a Pothos field e.g.
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/writers/pothos/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AASrE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAEhF,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAE7E,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,kBAAkB,GAC/B,cAAc,GAAG,SAAS,CAc5B;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,mBAAmB,EAAE,cAAc,GAAG,mBAAmB,EACzD,MAAM,CAAC,EAAE,OAAO,GACf,cAAc,CAMhB;AAED;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,2BAA2B,EAClC,OAAO,EAAE,mBAAmB,GAC3B;IACD,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,IAAI,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;CACnC,CAwCA"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/writers/pothos/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AASrE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAEhF,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAE7E,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,kBAAkB,GAC/B,cAAc,GAAG,SAAS,CAe5B;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,mBAAmB,EAAE,cAAc,GAAG,mBAAmB,EACzD,MAAM,CAAC,EAAE,OAAO,GACf,cAAc,CAMhB;AAED;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,2BAA2B,EAClC,OAAO,EAAE,mBAAmB,GAC3B;IACD,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,IAAI,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;CACnC,CAwCA"}
@@ -13,6 +13,7 @@ export function writePothosFieldOptions(fieldOptions) {
13
13
  required: fieldOptions.required ? 'true' : undefined,
14
14
  nullable: fieldOptions.nullable ? 'true' : undefined,
15
15
  type: fieldOptions.type,
16
+ authorize: fieldOptions.authorize,
16
17
  };
17
18
  const hasFieldOptions = Object.values(formattedFieldOptions).some((a) => a !== undefined);
18
19
  return hasFieldOptions
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/writers/pothos/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,WAAW,EACX,UAAU,GACX,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAY5C;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,YAAgC;IAEhC,MAAM,qBAAqB,GAAG;QAC5B,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QACpD,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QACpD,IAAI,EAAE,YAAY,CAAC,IAAI;KACxB,CAAC;IAEF,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAC/D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CACvB,CAAC;IAEF,OAAO,eAAe;QACpB,CAAC,CAAC,WAAW,CAAC,sBAAsB,CAAC,qBAAqB,CAAC;QAC3D,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,mBAAyD,EACzD,MAAgB;IAEhB,MAAM,QAAQ,GACZ,UAAU,IAAI,mBAAmB;QAC/B,CAAC,CAAC,mBAAmB,CAAC,QAAQ;QAC9B,CAAC,CAAC,mBAAmB,CAAC;IAC1B,OAAO,MAAM,CAAC,CAAC,CAAC,UAAU,CAAA,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;AACvD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,+BAA+B,CAC7C,KAAkC,EAClC,OAA4B;IAK5B,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,GACtC,OAAO,CAAC,qBAAqB,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAE/D,6CAA6C;IAC7C,MAAM,kBAAkB,GACtB,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC;QAC1E,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,YAAY,CAAC;IAEnB,4CAA4C;IAC5C,IAAI,KAAK,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QACD,OAAO;YACL,IAAI,EAAE,uBAAuB,CAC3B,OAAO,CAAC,qBAAqB,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EACjE,KAAK,CAAC,MAAM,CACb;SACF,CAAC;IACJ,CAAC;IAED,aAAa;IACb,IAAI,kBAAkB,EAAE,CAAC;QACvB,MAAM,oBAAoB,GAAG,GAAG,kBAAkB,GAChD,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAC1B,EAAE,CAAC;QACH,OAAO;YACL,UAAU,EAAE,oBAAoB;SACjC,CAAC;IACJ,CAAC;IAED,+BAA+B;IAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,OAAO;QACL,IAAI,EAAE,cAAc,CAClB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,gBAAgB,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAC1D;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/writers/pothos/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,WAAW,EACX,UAAU,GACX,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAa5C;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,YAAgC;IAEhC,MAAM,qBAAqB,GAAG;QAC5B,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QACpD,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QACpD,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,SAAS,EAAE,YAAY,CAAC,SAAS;KAClC,CAAC;IAEF,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAC/D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CACvB,CAAC;IAEF,OAAO,eAAe;QACpB,CAAC,CAAC,WAAW,CAAC,sBAAsB,CAAC,qBAAqB,CAAC;QAC3D,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,mBAAyD,EACzD,MAAgB;IAEhB,MAAM,QAAQ,GACZ,UAAU,IAAI,mBAAmB;QAC/B,CAAC,CAAC,mBAAmB,CAAC,QAAQ;QAC9B,CAAC,CAAC,mBAAmB,CAAC;IAC1B,OAAO,MAAM,CAAC,CAAC,CAAC,UAAU,CAAA,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;AACvD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,+BAA+B,CAC7C,KAAkC,EAClC,OAA4B;IAK5B,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,GACtC,OAAO,CAAC,qBAAqB,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAE/D,6CAA6C;IAC7C,MAAM,kBAAkB,GACtB,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC;QAC1E,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,YAAY,CAAC;IAEnB,4CAA4C;IAC5C,IAAI,KAAK,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QACD,OAAO;YACL,IAAI,EAAE,uBAAuB,CAC3B,OAAO,CAAC,qBAAqB,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EACjE,KAAK,CAAC,MAAM,CACb;SACF,CAAC;IACJ,CAAC;IAED,aAAa;IACb,IAAI,kBAAkB,EAAE,CAAC;QACvB,MAAM,oBAAoB,GAAG,GAAG,kBAAkB,GAChD,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAC1B,EAAE,CAAC;QACH,OAAO;YACL,UAAU,EAAE,oBAAoB;SACjC,CAAC;IACJ,CAAC;IAED,+BAA+B;IAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,OAAO;QACL,IAAI,EAAE,cAAc,CAClB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,gBAAgB,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAC1D;KACF,CAAC;AACJ,CAAC"}
@@ -33,5 +33,7 @@ export declare function writePothosObjectFieldFromDtoScalarField(field: ServiceO
33
33
  * @param options - The options for the Pothos writer.
34
34
  * @returns The Pothos expose field.
35
35
  */
36
- export declare function writePothosExposeFieldFromDtoScalarField(field: ServiceOutputDtoScalarField, options: PothosWriterOptions): TsCodeFragment;
36
+ export declare function writePothosExposeFieldFromDtoScalarField(field: ServiceOutputDtoScalarField, options: PothosWriterOptions & {
37
+ authorize?: TsCodeFragment;
38
+ }): TsCodeFragment;
37
39
  //# sourceMappingURL=scalar-fields.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scalar-fields.d.ts","sourceRoot":"","sources":["../../../src/writers/pothos/scalar-fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAKrE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAIhF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAOxD;;;;;;;;;GASG;AACH,wBAAgB,uCAAuC,CACrD,KAAK,EAAE,2BAA2B,EAClC,OAAO,EAAE,mBAAmB,GAC3B,cAAc,CAYhB;AAED;;;;;;;;;GASG;AACH,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,2BAA2B,EAClC,OAAO,EAAE,mBAAmB,GAC3B,cAAc,CAWhB;AAED;;;;;;;;;GASG;AACH,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,2BAA2B,EAClC,OAAO,EAAE,mBAAmB,GAC3B,cAAc,CAiBhB"}
1
+ {"version":3,"file":"scalar-fields.d.ts","sourceRoot":"","sources":["../../../src/writers/pothos/scalar-fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAKrE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAIhF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAOxD;;;;;;;;;GASG;AACH,wBAAgB,uCAAuC,CACrD,KAAK,EAAE,2BAA2B,EAClC,OAAO,EAAE,mBAAmB,GAC3B,cAAc,CAYhB;AAED;;;;;;;;;GASG;AACH,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,2BAA2B,EAClC,OAAO,EAAE,mBAAmB,GAC3B,cAAc,CAWhB;AAED;;;;;;;;;GASG;AACH,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,2BAA2B,EAClC,OAAO,EAAE,mBAAmB,GAAG;IAAE,SAAS,CAAC,EAAE,cAAc,CAAA;CAAE,GAC5D,cAAc,CAkBhB"}
@@ -53,6 +53,7 @@ export function writePothosExposeFieldFromDtoScalarField(field, options) {
53
53
  const fieldOptions = writePothosFieldOptions({
54
54
  nullable: field.isOptional,
55
55
  type,
56
+ authorize: options.authorize,
56
57
  });
57
58
  const exposeMethodName = (() => {
58
59
  // exposeID instead of exposeId
@@ -1 +1 @@
1
- {"version":3,"file":"scalar-fields.js","sourceRoot":"","sources":["../../../src/writers/pothos/scalar-fields.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAI5C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIpD,OAAO,EACL,+BAA+B,EAC/B,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;GASG;AACH,MAAM,UAAU,uCAAuC,CACrD,KAAkC,EAClC,OAA4B;IAE5B,MAAM,EAAE,UAAU,GAAG,OAAO,EAAE,IAAI,EAAE,GAAG,+BAA+B,CACpE,KAAK,EACL,OAAO,CACR,CAAC;IAEF,MAAM,YAAY,GAAG,uBAAuB,CAAC;QAC3C,QAAQ,EAAE,CAAC,KAAK,CAAC,UAAU;QAC3B,IAAI;KACL,CAAC,CAAC;IAEH,OAAO,UAAU,CAAA,GAAG,OAAO,CAAC,YAAY,IAAI,UAAU,IAAI,YAAY,IAAI,EAAE,GAAG,CAAC;AAClF,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,wCAAwC,CACtD,KAAkC,EAClC,OAA4B;IAE5B,MAAM,EAAE,UAAU,GAAG,OAAO,EAAE,IAAI,EAAE,GAAG,+BAA+B,CACpE,KAAK,EACL,OAAO,CACR,CAAC;IACF,MAAM,YAAY,GAAG,uBAAuB,CAAC;QAC3C,QAAQ,EAAE,KAAK,CAAC,UAAU;QAC1B,IAAI;KACL,CAAC,CAAC;IAEH,OAAO,UAAU,CAAA,GAAG,OAAO,CAAC,YAAY,IAAI,UAAU,IAAI,YAAY,IAAI,EAAE,GAAG,CAAC;AAClF,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,wCAAwC,CACtD,KAAkC,EAClC,OAA4B;IAE5B,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,+BAA+B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7E,MAAM,YAAY,GAAG,uBAAuB,CAAC;QAC3C,QAAQ,EAAE,KAAK,CAAC,UAAU;QAC1B,IAAI;KACL,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE;QAC7B,+BAA+B;QAC/B,IAAI,UAAU,KAAK,IAAI;YAAE,OAAO,UAAU,CAAC;QAC3C,IAAI,UAAU,KAAK,QAAQ;YAAE,OAAO,cAAc,CAAC;QACnD,+EAA+E;QAC/E,IAAI,UAAU;YAAE,OAAO,SAAS,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7D,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,UAAU,CAAA,GAAG,OAAO,CAAC,YAAY,IAAI,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,YAAY,IAAI,EAAE,GAAG,CAAC;AAC7G,CAAC"}
1
+ {"version":3,"file":"scalar-fields.js","sourceRoot":"","sources":["../../../src/writers/pothos/scalar-fields.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAI5C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIpD,OAAO,EACL,+BAA+B,EAC/B,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;GASG;AACH,MAAM,UAAU,uCAAuC,CACrD,KAAkC,EAClC,OAA4B;IAE5B,MAAM,EAAE,UAAU,GAAG,OAAO,EAAE,IAAI,EAAE,GAAG,+BAA+B,CACpE,KAAK,EACL,OAAO,CACR,CAAC;IAEF,MAAM,YAAY,GAAG,uBAAuB,CAAC;QAC3C,QAAQ,EAAE,CAAC,KAAK,CAAC,UAAU;QAC3B,IAAI;KACL,CAAC,CAAC;IAEH,OAAO,UAAU,CAAA,GAAG,OAAO,CAAC,YAAY,IAAI,UAAU,IAAI,YAAY,IAAI,EAAE,GAAG,CAAC;AAClF,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,wCAAwC,CACtD,KAAkC,EAClC,OAA4B;IAE5B,MAAM,EAAE,UAAU,GAAG,OAAO,EAAE,IAAI,EAAE,GAAG,+BAA+B,CACpE,KAAK,EACL,OAAO,CACR,CAAC;IACF,MAAM,YAAY,GAAG,uBAAuB,CAAC;QAC3C,QAAQ,EAAE,KAAK,CAAC,UAAU;QAC1B,IAAI;KACL,CAAC,CAAC;IAEH,OAAO,UAAU,CAAA,GAAG,OAAO,CAAC,YAAY,IAAI,UAAU,IAAI,YAAY,IAAI,EAAE,GAAG,CAAC;AAClF,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,wCAAwC,CACtD,KAAkC,EAClC,OAA6D;IAE7D,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,+BAA+B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7E,MAAM,YAAY,GAAG,uBAAuB,CAAC;QAC3C,QAAQ,EAAE,KAAK,CAAC,UAAU;QAC1B,IAAI;QACJ,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE;QAC7B,+BAA+B;QAC/B,IAAI,UAAU,KAAK,IAAI;YAAE,OAAO,UAAU,CAAC;QAC3C,IAAI,UAAU,KAAK,QAAQ;YAAE,OAAO,cAAc,CAAC;QACnD,+EAA+E;QAC/E,IAAI,UAAU;YAAE,OAAO,SAAS,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7D,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,UAAU,CAAA,GAAG,OAAO,CAAC,YAAY,IAAI,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,YAAY,IAAI,EAAE,GAAG,CAAC;AAC7G,CAAC"}
@@ -29,7 +29,7 @@ export declare const PRISMA_SCALAR_FIELD_TYPES: {
29
29
  prismaType: string;
30
30
  };
31
31
  uuid: PrismaFieldTypeConfig<z.ZodObject<{
32
- autoGenerate: z.ZodOptional<z.ZodBoolean>;
32
+ genUuid: z.ZodOptional<z.ZodBoolean>;
33
33
  }, z.core.$strip>>;
34
34
  dateTime: PrismaFieldTypeConfig<z.ZodObject<{
35
35
  defaultToNow: z.ZodOptional<z.ZodBoolean>;
@@ -72,11 +72,11 @@ export const PRISMA_SCALAR_FIELD_TYPES = createConfigMap({
72
72
  uuid: createConfig({
73
73
  prismaType: 'String',
74
74
  optionsSchema: z.object({
75
- autoGenerate: z.boolean().optional(),
75
+ genUuid: z.boolean().optional(),
76
76
  }),
77
77
  getAttributes: (config) => {
78
78
  const attributes = [{ name: '@db.Uuid' }];
79
- if (config?.autoGenerate) {
79
+ if (config?.genUuid) {
80
80
  attributes.push({
81
81
  name: '@default',
82
82
  args: ['dbgenerated("gen_random_uuid()")'],
@@ -1 +1 @@
1
- {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../src/writers/prisma-schema/fields.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../src/writers/prisma-schema/fields.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@baseplate-dev/fastify-generators",
3
- "version": "0.5.3",
3
+ "version": "0.6.1",
4
4
  "description": "Fastify generators for Baseplate",
5
5
  "keywords": [
6
6
  "fastify",
@@ -35,13 +35,13 @@
35
35
  "dependencies": {
36
36
  "@prisma/internals": "7.2.0",
37
37
  "change-case": "5.4.4",
38
- "es-toolkit": "1.31.0",
38
+ "es-toolkit": "1.44.0",
39
39
  "indent-string": "5.0.0",
40
40
  "inflection": "3.0.0",
41
- "zod": "^4.1.13",
42
- "@baseplate-dev/core-generators": "0.5.3",
43
- "@baseplate-dev/sync": "0.5.3",
44
- "@baseplate-dev/utils": "0.5.3"
41
+ "zod": "^4.3.6",
42
+ "@baseplate-dev/core-generators": "0.6.1",
43
+ "@baseplate-dev/sync": "0.6.1",
44
+ "@baseplate-dev/utils": "0.6.1"
45
45
  },
46
46
  "devDependencies": {
47
47
  "concurrently": "9.2.1",
@@ -50,7 +50,7 @@
50
50
  "prettier": "3.8.1",
51
51
  "typescript": "5.9.3",
52
52
  "vitest": "4.0.16",
53
- "@baseplate-dev/tools": "0.5.3"
53
+ "@baseplate-dev/tools": "0.6.1"
54
54
  },
55
55
  "engines": {
56
56
  "node": "^22.0.0"
@@ -69,7 +69,7 @@
69
69
  "clean": "rm -rf ./dist",
70
70
  "lint": "eslint .",
71
71
  "prettier:check": "prettier --check .",
72
- "prettier:write": "prettier -w .",
72
+ "prettier:write": "prettier -w -l .",
73
73
  "test": "vitest",
74
74
  "tsc:watch": "tsc -p tsconfig.build.json --preserveWatchOutput -w",
75
75
  "typecheck": "tsc --noEmit",