@baseplate-dev/fastify-generators 0.5.3 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/CHANGELOG.md +57 -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 +15 -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 +97 -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 +3 -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 +44 -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 +3 -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 +32 -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 +41 -50
  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 +35 -29
  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 -3
  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 +67 -18
  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 -9
  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 -6
  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 +84 -30
  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 +56 -11
  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 +365 -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/relation-helpers.ts +21 -26
  78. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/types.ts +372 -14
  79. package/dist/generators/prisma/index.d.ts +2 -0
  80. package/dist/generators/prisma/index.d.ts.map +1 -1
  81. package/dist/generators/prisma/index.js +2 -0
  82. package/dist/generators/prisma/index.js.map +1 -1
  83. package/dist/generators/prisma/prisma-authorizer-utils/generated/index.d.ts +50 -6
  84. package/dist/generators/prisma/prisma-authorizer-utils/generated/index.d.ts.map +1 -1
  85. package/dist/generators/prisma/prisma-authorizer-utils/generated/template-renderers.d.ts +25 -3
  86. package/dist/generators/prisma/prisma-authorizer-utils/generated/template-renderers.d.ts.map +1 -1
  87. package/dist/generators/prisma/prisma-authorizer-utils/generated/typed-templates.d.ts +50 -6
  88. package/dist/generators/prisma/prisma-authorizer-utils/generated/typed-templates.d.ts.map +1 -1
  89. package/dist/generators/prisma/prisma-authorizer-utils/prisma-authorizer-utils.generator.d.ts +25 -3
  90. package/dist/generators/prisma/prisma-authorizer-utils/prisma-authorizer-utils.generator.d.ts.map +1 -1
  91. package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.d.ts +26 -3
  92. package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.d.ts.map +1 -1
  93. package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.js +51 -25
  94. package/dist/generators/prisma/prisma-data-create/prisma-data-create.generator.js.map +1 -1
  95. package/dist/generators/prisma/prisma-data-delete/prisma-data-delete.generator.d.ts +31 -3
  96. package/dist/generators/prisma/prisma-data-delete/prisma-data-delete.generator.d.ts.map +1 -1
  97. package/dist/generators/prisma/prisma-data-delete/prisma-data-delete.generator.js +48 -14
  98. package/dist/generators/prisma/prisma-data-delete/prisma-data-delete.generator.js.map +1 -1
  99. package/dist/generators/prisma/prisma-data-nested-field/prisma-data-nested-field.generator.d.ts +25 -3
  100. package/dist/generators/prisma/prisma-data-nested-field/prisma-data-nested-field.generator.d.ts.map +1 -1
  101. package/dist/generators/prisma/prisma-data-service/prisma-data-service.generator.d.ts +25 -3
  102. package/dist/generators/prisma/prisma-data-service/prisma-data-service.generator.d.ts.map +1 -1
  103. package/dist/generators/prisma/prisma-data-update/prisma-data-update.generator.d.ts +31 -3
  104. package/dist/generators/prisma/prisma-data-update/prisma-data-update.generator.d.ts.map +1 -1
  105. package/dist/generators/prisma/prisma-data-update/prisma-data-update.generator.js +63 -23
  106. package/dist/generators/prisma/prisma-data-update/prisma-data-update.generator.js.map +1 -1
  107. package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.d.ts +2 -0
  108. package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.d.ts.map +1 -1
  109. package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.js +86 -53
  110. package/dist/generators/prisma/prisma-model-authorizer/prisma-model-authorizer.generator.js.map +1 -1
  111. package/dist/generators/prisma/prisma-model-query-filter/index.d.ts +2 -0
  112. package/dist/generators/prisma/prisma-model-query-filter/index.d.ts.map +1 -0
  113. package/dist/generators/prisma/prisma-model-query-filter/index.js +2 -0
  114. package/dist/generators/prisma/prisma-model-query-filter/index.js.map +1 -0
  115. package/dist/generators/prisma/prisma-model-query-filter/prisma-model-query-filter.generator.d.ts +57 -0
  116. package/dist/generators/prisma/prisma-model-query-filter/prisma-model-query-filter.generator.d.ts.map +1 -0
  117. package/dist/generators/prisma/prisma-model-query-filter/prisma-model-query-filter.generator.js +124 -0
  118. package/dist/generators/prisma/prisma-model-query-filter/prisma-model-query-filter.generator.js.map +1 -0
  119. package/dist/generators/prisma/prisma-query-filter-utils/generated/index.d.ts +348 -0
  120. package/dist/generators/prisma/prisma-query-filter-utils/generated/index.d.ts.map +1 -0
  121. package/dist/generators/prisma/prisma-query-filter-utils/generated/index.js +13 -0
  122. package/dist/generators/prisma/prisma-query-filter-utils/generated/index.js.map +1 -0
  123. package/dist/generators/prisma/prisma-query-filter-utils/generated/template-paths.d.ts +13 -0
  124. package/dist/generators/prisma/prisma-query-filter-utils/generated/template-paths.d.ts.map +1 -0
  125. package/dist/generators/prisma/prisma-query-filter-utils/generated/template-paths.js +25 -0
  126. package/dist/generators/prisma/prisma-query-filter-utils/generated/template-paths.js.map +1 -0
  127. package/dist/generators/prisma/prisma-query-filter-utils/generated/template-renderers.d.ts +123 -0
  128. package/dist/generators/prisma/prisma-query-filter-utils/generated/template-renderers.d.ts.map +1 -0
  129. package/dist/generators/prisma/prisma-query-filter-utils/generated/template-renderers.js +46 -0
  130. package/dist/generators/prisma/prisma-query-filter-utils/generated/template-renderers.js.map +1 -0
  131. package/dist/generators/prisma/prisma-query-filter-utils/generated/ts-import-providers.d.ts +57 -0
  132. package/dist/generators/prisma/prisma-query-filter-utils/generated/ts-import-providers.d.ts.map +1 -0
  133. package/dist/generators/prisma/prisma-query-filter-utils/generated/ts-import-providers.js +38 -0
  134. package/dist/generators/prisma/prisma-query-filter-utils/generated/ts-import-providers.js.map +1 -0
  135. package/dist/generators/prisma/prisma-query-filter-utils/generated/typed-templates.d.ts +401 -0
  136. package/dist/generators/prisma/prisma-query-filter-utils/generated/typed-templates.d.ts.map +1 -0
  137. package/dist/generators/prisma/prisma-query-filter-utils/generated/typed-templates.js +43 -0
  138. package/dist/generators/prisma/prisma-query-filter-utils/generated/typed-templates.js.map +1 -0
  139. package/dist/generators/prisma/prisma-query-filter-utils/index.d.ts +4 -0
  140. package/dist/generators/prisma/prisma-query-filter-utils/index.d.ts.map +1 -0
  141. package/dist/generators/prisma/prisma-query-filter-utils/index.js +3 -0
  142. package/dist/generators/prisma/prisma-query-filter-utils/index.js.map +1 -0
  143. package/dist/generators/prisma/prisma-query-filter-utils/prisma-query-filter-utils.generator.d.ts +145 -0
  144. package/dist/generators/prisma/prisma-query-filter-utils/prisma-query-filter-utils.generator.d.ts.map +1 -0
  145. package/dist/generators/prisma/prisma-query-filter-utils/prisma-query-filter-utils.generator.js +32 -0
  146. package/dist/generators/prisma/prisma-query-filter-utils/prisma-query-filter-utils.generator.js.map +1 -0
  147. package/dist/generators/prisma/prisma-query-filter-utils/templates/src/utils/query-filters.ts +185 -0
  148. package/dist/generators/prisma/prisma-query-filter-utils/templates/src/utils/query-helpers.ts +70 -0
  149. package/dist/types/service-dto-kinds.d.ts +0 -6
  150. package/dist/types/service-dto-kinds.d.ts.map +1 -1
  151. package/dist/types/service-dto-kinds.js +0 -6
  152. package/dist/types/service-dto-kinds.js.map +1 -1
  153. package/dist/writers/pothos/helpers.d.ts +1 -0
  154. package/dist/writers/pothos/helpers.d.ts.map +1 -1
  155. package/dist/writers/pothos/helpers.js +1 -0
  156. package/dist/writers/pothos/helpers.js.map +1 -1
  157. package/dist/writers/pothos/scalar-fields.d.ts +3 -1
  158. package/dist/writers/pothos/scalar-fields.d.ts.map +1 -1
  159. package/dist/writers/pothos/scalar-fields.js +1 -0
  160. package/dist/writers/pothos/scalar-fields.js.map +1 -1
  161. package/dist/writers/prisma-schema/fields.d.ts +1 -1
  162. package/dist/writers/prisma-schema/fields.js +2 -2
  163. package/dist/writers/prisma-schema/fields.js.map +1 -1
  164. package/package.json +8 -8
  165. package/dist/generators/prisma/data-utils/templates/src/utils/data-operations/define-operations.ts +0 -1134
@@ -4,6 +4,8 @@
4
4
  export declare const prismaDataDeleteGenerator: import("@baseplate-dev/sync").GeneratorBundleCreator<{
5
5
  name: string;
6
6
  modelName: string;
7
+ globalRoles?: string[] | undefined;
8
+ instanceRoles?: string[] | undefined;
7
9
  }, {
8
10
  main: import("@baseplate-dev/sync").GeneratorTask<any, {
9
11
  serviceFile: import("@baseplate-dev/sync").ProviderType<import("#src/generators/core/index.js").ServiceFileProvider>;
@@ -15,13 +17,24 @@ export declare const prismaDataDeleteGenerator: import("@baseplate-dev/sync").Ge
15
17
  AnyOperationHooks: {
16
18
  isTypeOnly: true;
17
19
  };
20
+ commitCreate: {};
21
+ commitDelete: {};
22
+ commitUpdate: {};
23
+ composeCreate: {};
24
+ composeUpdate: {};
18
25
  createParentModelConfig: {};
26
+ DataCreateInput: {
27
+ isTypeOnly: true;
28
+ };
29
+ DataDeleteInput: {
30
+ isTypeOnly: true;
31
+ };
19
32
  DataOperationType: {
20
33
  isTypeOnly: true;
21
34
  };
22
- defineCreateOperation: {};
23
- defineDeleteOperation: {};
24
- defineUpdateOperation: {};
35
+ DataUpdateInput: {
36
+ isTypeOnly: true;
37
+ };
25
38
  FieldContext: {
26
39
  isTypeOnly: true;
27
40
  };
@@ -34,6 +47,8 @@ export declare const prismaDataDeleteGenerator: import("@baseplate-dev/sync").Ge
34
47
  FieldTransformResult: {
35
48
  isTypeOnly: true;
36
49
  };
50
+ generateCreateSchema: {};
51
+ generateUpdateSchema: {};
37
52
  GetPayload: {
38
53
  isTypeOnly: true;
39
54
  };
@@ -46,6 +61,9 @@ export declare const prismaDataDeleteGenerator: import("@baseplate-dev/sync").Ge
46
61
  ModelPropName: {
47
62
  isTypeOnly: true;
48
63
  };
64
+ ModelQuery: {
65
+ isTypeOnly: true;
66
+ };
49
67
  nestedOneToManyField: {};
50
68
  NestedOneToManyFieldConfig: {
51
69
  isTypeOnly: true;
@@ -71,8 +89,18 @@ export declare const prismaDataDeleteGenerator: import("@baseplate-dev/sync").Ge
71
89
  TransactionalOperationContext: {
72
90
  isTypeOnly: true;
73
91
  };
92
+ WhereInput: {
93
+ isTypeOnly: true;
94
+ };
95
+ WhereUniqueInput: {
96
+ isTypeOnly: true;
97
+ };
74
98
  }>>;
75
99
  prismaOutput: import("@baseplate-dev/sync").ProviderType<import("../prisma/prisma.generator.js").PrismaOutputProvider>;
100
+ prismaImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
101
+ prisma: {};
102
+ }>>;
103
+ modelAuthorizer: import("@baseplate-dev/sync").ProviderDependency<import("../prisma-model-authorizer/prisma-model-authorizer.generator.js").PrismaModelAuthorizerProvider | undefined>;
76
104
  }, any>;
77
105
  }>;
78
106
  //# sourceMappingURL=prisma-data-delete.generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-data-delete.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-data-delete/prisma-data-delete.generator.ts"],"names":[],"mappings":"AA0BA;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsEpC,CAAC"}
1
+ {"version":3,"file":"prisma-data-delete.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-data-delete/prisma-data-delete.generator.ts"],"names":[],"mappings":"AAmCA;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgHpC,CAAC"}
@@ -5,13 +5,16 @@ import { z } from 'zod';
5
5
  import { serviceFileProvider } from '#src/generators/core/index.js';
6
6
  import { contextKind, prismaQueryKind, prismaWhereUniqueInputKind, } from '#src/types/service-dto-kinds.js';
7
7
  import { createServiceOutputDtoInjectedArg, prismaToServiceOutputDto, } from '#src/types/service-output.js';
8
- import { generateDeleteCallback } from '../_shared/build-data-helpers/index.js';
8
+ import { generateAuthorizeFragment, generateDeleteExecuteCallback, } from '../_shared/build-data-helpers/index.js';
9
9
  import { dataUtilsImportsProvider } from '../data-utils/index.js';
10
10
  import { prismaDataServiceProvider } from '../prisma-data-service/prisma-data-service.generator.js';
11
- import { prismaOutputProvider } from '../prisma/prisma.generator.js';
11
+ import { prismaModelAuthorizerProvider } from '../prisma-model-authorizer/index.js';
12
+ import { prismaImportsProvider, prismaOutputProvider, } from '../prisma/index.js';
12
13
  const descriptorSchema = z.object({
13
14
  name: z.string().min(1),
14
15
  modelName: z.string().min(1),
16
+ globalRoles: z.array(z.string().min(1)).optional(),
17
+ instanceRoles: z.array(z.string().min(1)).optional(),
15
18
  });
16
19
  /**
17
20
  * Generator for prisma/prisma-data-delete
@@ -20,33 +23,64 @@ export const prismaDataDeleteGenerator = createGenerator({
20
23
  name: 'prisma/prisma-data-delete',
21
24
  generatorFileUrl: import.meta.url,
22
25
  descriptorSchema,
23
- buildTasks: ({ name, modelName }) => ({
26
+ buildTasks: ({ name, modelName, globalRoles, instanceRoles }) => ({
24
27
  main: createGeneratorTask({
25
28
  dependencies: {
26
29
  serviceFile: serviceFileProvider,
27
30
  prismaDataService: prismaDataServiceProvider,
28
31
  dataUtilsImports: dataUtilsImportsProvider,
29
32
  prismaOutput: prismaOutputProvider,
33
+ prismaImports: prismaImportsProvider,
34
+ modelAuthorizer: prismaModelAuthorizerProvider
35
+ .dependency()
36
+ .optionalReference(modelName),
30
37
  },
31
- run({ serviceFile, prismaDataService, dataUtilsImports, prismaOutput }) {
38
+ run({ serviceFile, prismaDataService, dataUtilsImports, prismaOutput, prismaImports, modelAuthorizer, }) {
32
39
  return {
33
40
  build: () => {
34
- // Generate delete callback
35
- const { deleteCallbackFragment } = generateDeleteCallback({
36
- modelVariableName: lowercaseFirstChar(modelName),
41
+ const modelVar = lowercaseFirstChar(modelName);
42
+ // Generate execute callback
43
+ const { executeCallbackFragment } = generateDeleteExecuteCallback({
44
+ modelVariableName: modelVar,
37
45
  });
38
- const deleteOperation = tsTemplate `
39
- export const ${name} = ${dataUtilsImports.defineDeleteOperation.fragment()}({
40
- model: ${quot(lowercaseFirstChar(modelName))},
41
- delete: ${deleteCallbackFragment},
42
- })
46
+ // Build authorize array from global + instance roles
47
+ const authorizeFragment = generateAuthorizeFragment({
48
+ modelName,
49
+ methodType: 'Delete',
50
+ globalRoles,
51
+ instanceRoles,
52
+ modelAuthorizer,
53
+ });
54
+ // Instance roles require loadExisting to fetch the model instance
55
+ const hasInstanceRoles = instanceRoles != null && instanceRoles.length > 0;
56
+ const loadExistingFragment = hasInstanceRoles
57
+ ? tsTemplate `
58
+ loadExisting: () => ${prismaImports.prisma.fragment()}.${modelVar}.findUniqueOrThrow({ where }),`
59
+ : '';
60
+ // Generate the delete function
61
+ const deleteFunction = tsTemplate `
62
+ export async function ${name}<
63
+ TQueryArgs extends ${dataUtilsImports.ModelQuery.typeFragment()}<${quot(modelVar)}> = ${dataUtilsImports.ModelQuery.typeFragment()}<${quot(modelVar)}>,
64
+ >({
65
+ where,
66
+ query,
67
+ context,
68
+ }: ${dataUtilsImports.DataDeleteInput.typeFragment()}<${quot(modelVar)}, TQueryArgs>): Promise<
69
+ ${dataUtilsImports.GetPayload.typeFragment()}<${quot(modelVar)}, TQueryArgs>
70
+ > {
71
+ return ${dataUtilsImports.commitDelete.fragment()}({
72
+ model: ${quot(modelVar)},
73
+ query,
74
+ context,
75
+ execute: ${executeCallbackFragment},${authorizeFragment}${loadExistingFragment}
76
+ });
77
+ }
43
78
  `;
44
- serviceFile.getServicePath();
45
79
  const prismaModel = prismaOutput.getPrismaModel(modelName);
46
80
  prismaDataService.registerMethod({
47
81
  name,
48
82
  type: 'delete',
49
- fragment: deleteOperation,
83
+ fragment: deleteFunction,
50
84
  outputMethod: {
51
85
  name,
52
86
  referenceFragment: TsCodeUtils.importFragment(name, serviceFile.getServicePath()),
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-data-delete.generator.js","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-data-delete/prisma-data-delete.generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prisma-data-delete.generator.js","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-data-delete/prisma-data-delete.generator.ts"],"names":[],"mappings":"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"}
@@ -33,13 +33,24 @@ export declare const prismaDataNestedFieldGenerator: import("@baseplate-dev/sync
33
33
  AnyOperationHooks: {
34
34
  isTypeOnly: true;
35
35
  };
36
+ commitCreate: {};
37
+ commitDelete: {};
38
+ commitUpdate: {};
39
+ composeCreate: {};
40
+ composeUpdate: {};
36
41
  createParentModelConfig: {};
42
+ DataCreateInput: {
43
+ isTypeOnly: true;
44
+ };
45
+ DataDeleteInput: {
46
+ isTypeOnly: true;
47
+ };
37
48
  DataOperationType: {
38
49
  isTypeOnly: true;
39
50
  };
40
- defineCreateOperation: {};
41
- defineDeleteOperation: {};
42
- defineUpdateOperation: {};
51
+ DataUpdateInput: {
52
+ isTypeOnly: true;
53
+ };
43
54
  FieldContext: {
44
55
  isTypeOnly: true;
45
56
  };
@@ -52,6 +63,8 @@ export declare const prismaDataNestedFieldGenerator: import("@baseplate-dev/sync
52
63
  FieldTransformResult: {
53
64
  isTypeOnly: true;
54
65
  };
66
+ generateCreateSchema: {};
67
+ generateUpdateSchema: {};
55
68
  GetPayload: {
56
69
  isTypeOnly: true;
57
70
  };
@@ -64,6 +77,9 @@ export declare const prismaDataNestedFieldGenerator: import("@baseplate-dev/sync
64
77
  ModelPropName: {
65
78
  isTypeOnly: true;
66
79
  };
80
+ ModelQuery: {
81
+ isTypeOnly: true;
82
+ };
67
83
  nestedOneToManyField: {};
68
84
  NestedOneToManyFieldConfig: {
69
85
  isTypeOnly: true;
@@ -89,6 +105,12 @@ export declare const prismaDataNestedFieldGenerator: import("@baseplate-dev/sync
89
105
  TransactionalOperationContext: {
90
106
  isTypeOnly: true;
91
107
  };
108
+ WhereInput: {
109
+ isTypeOnly: true;
110
+ };
111
+ WhereUniqueInput: {
112
+ isTypeOnly: true;
113
+ };
92
114
  }>>;
93
115
  prismaGeneratedImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
94
116
  PrismaClient: {};
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-data-nested-field.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-data-nested-field/prisma-data-nested-field.generator.ts"],"names":[],"mappings":"AAgCA;;GAEG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8HzC,CAAC"}
1
+ {"version":3,"file":"prisma-data-nested-field.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-data-nested-field/prisma-data-nested-field.generator.ts"],"names":[],"mappings":"AAgCA;;GAEG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8HzC,CAAC"}
@@ -55,13 +55,24 @@ export declare const prismaDataServiceGenerator: import("@baseplate-dev/sync").G
55
55
  AnyOperationHooks: {
56
56
  isTypeOnly: true;
57
57
  };
58
+ commitCreate: {};
59
+ commitDelete: {};
60
+ commitUpdate: {};
61
+ composeCreate: {};
62
+ composeUpdate: {};
58
63
  createParentModelConfig: {};
64
+ DataCreateInput: {
65
+ isTypeOnly: true;
66
+ };
67
+ DataDeleteInput: {
68
+ isTypeOnly: true;
69
+ };
59
70
  DataOperationType: {
60
71
  isTypeOnly: true;
61
72
  };
62
- defineCreateOperation: {};
63
- defineDeleteOperation: {};
64
- defineUpdateOperation: {};
73
+ DataUpdateInput: {
74
+ isTypeOnly: true;
75
+ };
65
76
  FieldContext: {
66
77
  isTypeOnly: true;
67
78
  };
@@ -74,6 +85,8 @@ export declare const prismaDataServiceGenerator: import("@baseplate-dev/sync").G
74
85
  FieldTransformResult: {
75
86
  isTypeOnly: true;
76
87
  };
88
+ generateCreateSchema: {};
89
+ generateUpdateSchema: {};
77
90
  GetPayload: {
78
91
  isTypeOnly: true;
79
92
  };
@@ -86,6 +99,9 @@ export declare const prismaDataServiceGenerator: import("@baseplate-dev/sync").G
86
99
  ModelPropName: {
87
100
  isTypeOnly: true;
88
101
  };
102
+ ModelQuery: {
103
+ isTypeOnly: true;
104
+ };
89
105
  nestedOneToManyField: {};
90
106
  NestedOneToManyFieldConfig: {
91
107
  isTypeOnly: true;
@@ -111,6 +127,12 @@ export declare const prismaDataServiceGenerator: import("@baseplate-dev/sync").G
111
127
  TransactionalOperationContext: {
112
128
  isTypeOnly: true;
113
129
  };
130
+ WhereInput: {
131
+ isTypeOnly: true;
132
+ };
133
+ WhereUniqueInput: {
134
+ isTypeOnly: true;
135
+ };
114
136
  }>>;
115
137
  prismaGeneratedImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
116
138
  PrismaClient: {};
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-data-service.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-data-service/prisma-data-service.generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAarE,OAAO,EAGL,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAIxE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAclG,QAAA,MAEE,8BAA8B;IAI5B,8DAA8D;;IAE9D,sDAAsD;;;;EAWzD,CAAC;AAEF,OAAO,EAAE,8BAA8B,EAAE,CAAC;AAE1C,UAAU,uBAAuB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrC,QAAQ,EAAE,cAAc,CAAC;IACzB,YAAY,EAAE,mBAAmB,CAAC;CACnC;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,IAAI,0BAA0B,EAAE,CAAC;IAC1C,qBAAqB,IAAI,MAAM,CAAC;IAChC;;OAEG;IACH,iBAAiB,IAAI,cAAc,CAAC;IACpC,cAAc,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAAC;CACvD;AAED,eAAO,MAAM,yBAAyB,uEACgC,CAAC;AAQvE;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;YA9CnC,8DAA8D;;YAE9D,sDAAsD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4KxD,CAAC"}
1
+ {"version":3,"file":"prisma-data-service.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-data-service/prisma-data-service.generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAarE,OAAO,EAGL,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAIxE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAclG,QAAA,MAEE,8BAA8B;IAI5B,8DAA8D;;IAE9D,sDAAsD;;;;EAWzD,CAAC;AAEF,OAAO,EAAE,8BAA8B,EAAE,CAAC;AAE1C,UAAU,uBAAuB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrC,QAAQ,EAAE,cAAc,CAAC;IACzB,YAAY,EAAE,mBAAmB,CAAC;CACnC;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,IAAI,0BAA0B,EAAE,CAAC;IAC1C,qBAAqB,IAAI,MAAM,CAAC;IAChC;;OAEG;IACH,iBAAiB,IAAI,cAAc,CAAC;IACpC,cAAc,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAAC;CACvD;AAED,eAAO,MAAM,yBAAyB,uEACgC,CAAC;AAQvE;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;YA9CnC,8DAA8D;;YAE9D,sDAAsD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4KxD,CAAC"}
@@ -5,6 +5,8 @@ export declare const prismaDataUpdateGenerator: import("@baseplate-dev/sync").Ge
5
5
  name: string;
6
6
  modelName: string;
7
7
  fields: string[];
8
+ globalRoles?: string[] | undefined;
9
+ instanceRoles?: string[] | undefined;
8
10
  }, {
9
11
  main: import("@baseplate-dev/sync").GeneratorTask<any, {
10
12
  serviceFile: import("@baseplate-dev/sync").ProviderType<import("#src/generators/core/index.js").ServiceFileProvider>;
@@ -16,13 +18,24 @@ export declare const prismaDataUpdateGenerator: import("@baseplate-dev/sync").Ge
16
18
  AnyOperationHooks: {
17
19
  isTypeOnly: true;
18
20
  };
21
+ commitCreate: {};
22
+ commitDelete: {};
23
+ commitUpdate: {};
24
+ composeCreate: {};
25
+ composeUpdate: {};
19
26
  createParentModelConfig: {};
27
+ DataCreateInput: {
28
+ isTypeOnly: true;
29
+ };
30
+ DataDeleteInput: {
31
+ isTypeOnly: true;
32
+ };
20
33
  DataOperationType: {
21
34
  isTypeOnly: true;
22
35
  };
23
- defineCreateOperation: {};
24
- defineDeleteOperation: {};
25
- defineUpdateOperation: {};
36
+ DataUpdateInput: {
37
+ isTypeOnly: true;
38
+ };
26
39
  FieldContext: {
27
40
  isTypeOnly: true;
28
41
  };
@@ -35,6 +48,8 @@ export declare const prismaDataUpdateGenerator: import("@baseplate-dev/sync").Ge
35
48
  FieldTransformResult: {
36
49
  isTypeOnly: true;
37
50
  };
51
+ generateCreateSchema: {};
52
+ generateUpdateSchema: {};
38
53
  GetPayload: {
39
54
  isTypeOnly: true;
40
55
  };
@@ -47,6 +62,9 @@ export declare const prismaDataUpdateGenerator: import("@baseplate-dev/sync").Ge
47
62
  ModelPropName: {
48
63
  isTypeOnly: true;
49
64
  };
65
+ ModelQuery: {
66
+ isTypeOnly: true;
67
+ };
50
68
  nestedOneToManyField: {};
51
69
  NestedOneToManyFieldConfig: {
52
70
  isTypeOnly: true;
@@ -72,8 +90,18 @@ export declare const prismaDataUpdateGenerator: import("@baseplate-dev/sync").Ge
72
90
  TransactionalOperationContext: {
73
91
  isTypeOnly: true;
74
92
  };
93
+ WhereInput: {
94
+ isTypeOnly: true;
95
+ };
96
+ WhereUniqueInput: {
97
+ isTypeOnly: true;
98
+ };
75
99
  }>>;
76
100
  prismaOutput: import("@baseplate-dev/sync").ProviderType<import("../prisma/prisma.generator.js").PrismaOutputProvider>;
101
+ prismaImports: import("@baseplate-dev/sync").ProviderType<import("@baseplate-dev/core-generators").InferTsImportMapFromSchema<{
102
+ prisma: {};
103
+ }>>;
104
+ modelAuthorizer: import("@baseplate-dev/sync").ProviderDependency<import("../prisma-model-authorizer/prisma-model-authorizer.generator.js").PrismaModelAuthorizerProvider | undefined>;
77
105
  }, any>;
78
106
  }>;
79
107
  //# sourceMappingURL=prisma-data-update.generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-data-update.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-data-update/prisma-data-update.generator.ts"],"names":[],"mappings":"AAqCA;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4GpC,CAAC"}
1
+ {"version":3,"file":"prisma-data-update.generator.d.ts","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-data-update/prisma-data-update.generator.ts"],"names":[],"mappings":"AA6CA;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+JpC,CAAC"}
@@ -3,16 +3,19 @@ import { createGenerator, createGeneratorTask } from '@baseplate-dev/sync';
3
3
  import { lowercaseFirstChar, quot, uppercaseFirstChar, } from '@baseplate-dev/utils';
4
4
  import { z } from 'zod';
5
5
  import { serviceFileProvider } from '#src/generators/core/index.js';
6
- import { contextKind, prismaQueryKind, prismaWhereUniqueInputKind, skipValidationKind, } from '#src/types/service-dto-kinds.js';
6
+ import { contextKind, prismaQueryKind, prismaWhereUniqueInputKind, } from '#src/types/service-dto-kinds.js';
7
7
  import { createServiceOutputDtoInjectedArg, prismaToServiceOutputDto, } from '#src/types/service-output.js';
8
- import { generateUpdateCallback } from '../_shared/build-data-helpers/index.js';
8
+ import { generateAuthorizeFragment, generateUpdateExecuteCallback, } from '../_shared/build-data-helpers/index.js';
9
9
  import { dataUtilsImportsProvider } from '../data-utils/index.js';
10
10
  import { prismaDataServiceProvider } from '../prisma-data-service/prisma-data-service.generator.js';
11
- import { prismaOutputProvider } from '../prisma/prisma.generator.js';
11
+ import { prismaModelAuthorizerProvider } from '../prisma-model-authorizer/index.js';
12
+ import { prismaImportsProvider, prismaOutputProvider, } from '../prisma/index.js';
12
13
  const descriptorSchema = z.object({
13
14
  name: z.string().min(1),
14
15
  modelName: z.string().min(1),
15
16
  fields: z.array(z.string().min(1)),
17
+ globalRoles: z.array(z.string().min(1)).optional(),
18
+ instanceRoles: z.array(z.string().min(1)).optional(),
16
19
  });
17
20
  /**
18
21
  * Generator for prisma/prisma-data-update
@@ -21,15 +24,19 @@ export const prismaDataUpdateGenerator = createGenerator({
21
24
  name: 'prisma/prisma-data-update',
22
25
  generatorFileUrl: import.meta.url,
23
26
  descriptorSchema,
24
- buildTasks: ({ name, modelName, fields }) => ({
27
+ buildTasks: ({ name, modelName, fields, globalRoles, instanceRoles }) => ({
25
28
  main: createGeneratorTask({
26
29
  dependencies: {
27
30
  serviceFile: serviceFileProvider,
28
31
  prismaDataService: prismaDataServiceProvider,
29
32
  dataUtilsImports: dataUtilsImportsProvider,
30
33
  prismaOutput: prismaOutputProvider,
34
+ prismaImports: prismaImportsProvider,
35
+ modelAuthorizer: prismaModelAuthorizerProvider
36
+ .dependency()
37
+ .optionalReference(modelName),
31
38
  },
32
- run({ serviceFile, prismaDataService, dataUtilsImports, prismaOutput }) {
39
+ run({ serviceFile, prismaDataService, dataUtilsImports, prismaOutput, prismaImports, modelAuthorizer, }) {
33
40
  const serviceFields = prismaDataService.getFields();
34
41
  const usedFields = serviceFields.filter((field) => fields.includes(field.name));
35
42
  if (usedFields.length !== fields.length) {
@@ -37,31 +44,69 @@ export const prismaDataUpdateGenerator = createGenerator({
37
44
  }
38
45
  return {
39
46
  build: () => {
40
- const fieldsFragment = fields.length === serviceFields.length
47
+ const modelVar = lowercaseFirstChar(modelName);
48
+ const useAllFields = fields.length === serviceFields.length;
49
+ const fieldsVariableName = useAllFields
41
50
  ? prismaDataService.getFieldsVariableName()
51
+ : `${modelVar}UpdateFields`;
52
+ const fieldsDeclarationFragment = useAllFields
53
+ ? ''
42
54
  : tsTemplateWithImports([
43
55
  tsImportBuilder(['pick']).from('es-toolkit'),
44
- ]) `pick(${prismaDataService.getFieldsVariableName()}, [${fields.map((field) => quot(field)).join(', ')}] as const)`;
45
- // Generate update callback that transforms FK fields into relations
46
- const { updateCallbackFragment } = generateUpdateCallback({
56
+ ]) `const ${fieldsVariableName} = pick(${prismaDataService.getFieldsVariableName()}, [${fields.map((field) => quot(field)).join(', ')}] as const);\n\n`;
57
+ // Generate execute callback that transforms FK fields into relations
58
+ const { executeCallbackFragment } = generateUpdateExecuteCallback({
47
59
  prismaModel: prismaOutput.getPrismaModel(modelName),
48
60
  inputFieldNames: fields,
49
61
  dataUtilsImports,
50
- modelVariableName: lowercaseFirstChar(modelName),
62
+ modelVariableName: modelVar,
51
63
  });
52
- const updateOperation = tsTemplate `
53
- export const ${name} = ${dataUtilsImports.defineUpdateOperation.fragment()}({
54
- model: ${quot(lowercaseFirstChar(modelName))},
55
- fields: ${fieldsFragment},
56
- update: ${updateCallbackFragment},
57
- })
64
+ // Generate the schema export and update function together
65
+ const schemaName = `${modelVar}UpdateSchema`;
66
+ // Build authorize array from global + instance roles
67
+ const authorizeFragment = generateAuthorizeFragment({
68
+ modelName,
69
+ methodType: 'Update',
70
+ globalRoles,
71
+ instanceRoles,
72
+ modelAuthorizer,
73
+ });
74
+ const updateFunction = tsTemplate `
75
+ ${fieldsDeclarationFragment}\nexport const ${schemaName} = ${dataUtilsImports.generateUpdateSchema.fragment()}(${fieldsVariableName});
76
+
77
+ export async function ${name}<
78
+ TQueryArgs extends ${dataUtilsImports.ModelQuery.typeFragment()}<${quot(modelVar)}> = ${dataUtilsImports.ModelQuery.typeFragment()}<${quot(modelVar)}>,
79
+ >({
80
+ where,
81
+ data: input,
82
+ query,
83
+ context,
84
+ }: ${dataUtilsImports.DataUpdateInput.typeFragment()}<
85
+ ${quot(modelVar)},
86
+ typeof ${fieldsVariableName},
87
+ TQueryArgs
88
+ >): Promise<${dataUtilsImports.GetPayload.typeFragment()}<${quot(modelVar)}, TQueryArgs>> {
89
+ const plan = await ${dataUtilsImports.composeUpdate.fragment()}({
90
+ model: ${quot(modelVar)},
91
+ fields: ${fieldsVariableName},
92
+ input,
93
+ context,
94
+ loadExisting: () => ${prismaImports.prisma.fragment()}.${modelVar}.findUniqueOrThrow({ where }),${authorizeFragment}
95
+ });
96
+
97
+ return ${dataUtilsImports.commitUpdate.fragment()}(plan, {
98
+ query,
99
+ execute: ${executeCallbackFragment},
100
+ });
101
+ }
58
102
  `;
59
103
  const prismaModel = prismaOutput.getPrismaModel(modelName);
60
104
  const methodFragment = TsCodeUtils.importFragment(name, serviceFile.getServicePath());
105
+ const schemaMethodFragment = TsCodeUtils.importFragment(schemaName, serviceFile.getServicePath());
61
106
  prismaDataService.registerMethod({
62
107
  name,
63
108
  type: 'update',
64
- fragment: updateOperation,
109
+ fragment: updateFunction,
65
110
  outputMethod: {
66
111
  name,
67
112
  referenceFragment: methodFragment,
@@ -84,7 +129,7 @@ export const prismaDataUpdateGenerator = createGenerator({
84
129
  isOptional: true,
85
130
  })),
86
131
  },
87
- zodSchemaFragment: tsTemplate `${methodFragment}.$dataSchema`,
132
+ zodSchemaFragment: schemaMethodFragment,
88
133
  },
89
134
  createServiceOutputDtoInjectedArg({
90
135
  type: 'injected',
@@ -96,11 +141,6 @@ export const prismaDataUpdateGenerator = createGenerator({
96
141
  name: 'query',
97
142
  kind: prismaQueryKind,
98
143
  }),
99
- createServiceOutputDtoInjectedArg({
100
- type: 'injected',
101
- name: 'skipValidation',
102
- kind: skipValidationKind,
103
- }),
104
144
  ],
105
145
  returnType: prismaToServiceOutputDto(prismaModel, (enumName) => prismaOutput.getServiceEnum(enumName)),
106
146
  },
@@ -1 +1 @@
1
- {"version":3,"file":"prisma-data-update.generator.js","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-data-update/prisma-data-update.generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prisma-data-update.generator.js","sourceRoot":"","sources":["../../../../src/generators/prisma/prisma-data-update/prisma-data-update.generator.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,9 @@ export declare const prismaModelAuthorizerGenerator: import("@baseplate-dev/sync
32
32
  roles: {
33
33
  name: string;
34
34
  roleCode: string;
35
+ foreignAuthorizerRefs?: string[] | undefined;
35
36
  }[];
37
+ foreignAuthorizerModelNames?: string[] | undefined;
36
38
  }, {
37
39
  main: import("@baseplate-dev/sync").GeneratorTask<any, {
38
40
  appModule: import("@baseplate-dev/sync").ProviderType<import("#src/generators/core/app-module/index.js").AppModuleProvider>;
@@ -1 +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"}
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;AAwCrE;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;EAgJzC,CAAC"}