prisma-generator-express 1.56.2 → 1.56.4
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.
|
@@ -173,19 +173,21 @@ export async function updateEach(
|
|
|
173
173
|
}
|
|
174
174
|
const items = body as Record<string, unknown>[]
|
|
175
175
|
const client = ctx.prisma as PrismaClientLike
|
|
176
|
-
const delegate = getDelegate(client, '${modelNameLower}')
|
|
177
176
|
|
|
178
177
|
if (atomic) {
|
|
179
178
|
if (typeof client.$transaction !== 'function') {
|
|
180
179
|
throw new HttpError(500, 'Atomic updateEach requires transaction support on the Prisma client')
|
|
181
180
|
}
|
|
182
|
-
const
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
) =>
|
|
186
|
-
|
|
181
|
+
const runInteractive = client.$transaction as unknown as <T>(
|
|
182
|
+
fn: (tx: unknown) => Promise<T>,
|
|
183
|
+
) => Promise<T>
|
|
184
|
+
return runInteractive(async (tx) => {
|
|
185
|
+
const txDelegate = getDelegate(tx, '${modelNameLower}')
|
|
186
|
+
return Promise.all(items.map((item) => txDelegate.update(item)))
|
|
187
|
+
})
|
|
187
188
|
}
|
|
188
189
|
|
|
190
|
+
const delegate = getDelegate(client, '${modelNameLower}')
|
|
189
191
|
const settled = await Promise.allSettled(
|
|
190
192
|
items.map((item) => delegate.update(item)),
|
|
191
193
|
)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateOperationCore.js","sourceRoot":"","sources":["../../src/generators/generateOperationCore.ts"],"names":[],"mappings":";;AAyEA,
|
|
1
|
+
{"version":3,"file":"generateOperationCore.js","sourceRoot":"","sources":["../../src/generators/generateOperationCore.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -29,7 +29,8 @@ function getTarget(options) {
|
|
|
29
29
|
throw new Error(`Invalid target "${raw}". Expected "express", "fastify", or "hono".`);
|
|
30
30
|
}
|
|
31
31
|
function getWriteStrategy(options) {
|
|
32
|
-
const raw = String(options.generator.config.writeStrategy ??
|
|
32
|
+
const raw = String(options.generator.config.writeStrategy ??
|
|
33
|
+
'regular');
|
|
33
34
|
const lower = raw.toLowerCase();
|
|
34
35
|
if (lower === 'regular')
|
|
35
36
|
return 'regular';
|
|
@@ -44,7 +45,8 @@ function getWriteStrategy(options) {
|
|
|
44
45
|
throw new Error(`Invalid writeStrategy "${raw}". Expected "regular", "throwOnNonReturning", or "forceReturn".`);
|
|
45
46
|
}
|
|
46
47
|
function getFindManyPaginatedMode(options) {
|
|
47
|
-
const raw = String(options.generator.config
|
|
48
|
+
const raw = String(options.generator.config
|
|
49
|
+
.findManyPaginatedMode ?? 'promiseAll');
|
|
48
50
|
const lower = raw.toLowerCase();
|
|
49
51
|
if (lower === 'transaction')
|
|
50
52
|
return 'transaction';
|
|
@@ -67,9 +69,10 @@ function validateClientGeneratorPresent(options) {
|
|
|
67
69
|
const target = getTarget(options);
|
|
68
70
|
const writeStrategy = getWriteStrategy(options);
|
|
69
71
|
const findManyPaginatedMode = getFindManyPaginatedMode(options);
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
72
|
+
const manifestDefaultAbs = path_1.default.resolve(__dirname, '..', 'generated', target);
|
|
73
|
+
const currentOutput = options.generator.output?.value;
|
|
74
|
+
const isUnsetOrManifestDefault = !currentOutput || path_1.default.resolve(currentOutput) === manifestDefaultAbs;
|
|
75
|
+
if (isUnsetOrManifestDefault) {
|
|
73
76
|
const schemaDir = path_1.default.dirname(options.schemaPath);
|
|
74
77
|
const outputPath = path_1.default.join(schemaDir, 'generated', target);
|
|
75
78
|
options.generator.output = { value: outputPath, fromEnvVar: null };
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,+DAIiC;AACjC,gDAAuB;AACvB,gFAA4E;AAC5E,gFAA4E;AAC5E,0EAAsE;AACtE,gEAAoE;AACpE,8EAAkF;AAClF,wEAA4E;AAC5E,kFAA8E;AAC9E,0EAAsE;AACtE,wFAAoF;AACpF,8EAAsE;AACtE,4EAG0C;AAC1C,8FAGmD;AACnD,6DAAyD;AACzD,iDAA6C;AAC7C,mEAA4E;AAC5E,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prisma-generator-express",
|
|
3
3
|
"description": "Prisma generator for Express, Fastify, and Hono CRUD APIs with OpenAPI documentation",
|
|
4
|
-
"version": "1.56.
|
|
4
|
+
"version": "1.56.4",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"license": "MIT",
|
|
@@ -57,8 +57,7 @@
|
|
|
57
57
|
"pino-pretty": "^13.0.0",
|
|
58
58
|
"prisma": "7.5.0",
|
|
59
59
|
"semantic-release": "^24.2.9",
|
|
60
|
-
"typescript": "5.9.3"
|
|
61
|
-
"vitest-mock-extended": "^3.1.0"
|
|
60
|
+
"typescript": "5.9.3"
|
|
62
61
|
},
|
|
63
62
|
"homepage": "https://github.com/multipliedtwice/prisma-generator-express",
|
|
64
63
|
"repository": {
|
|
@@ -199,19 +199,21 @@ export async function updateEach(
|
|
|
199
199
|
}
|
|
200
200
|
const items = body as Record<string, unknown>[]
|
|
201
201
|
const client = ctx.prisma as PrismaClientLike
|
|
202
|
-
const delegate = getDelegate(client, '${modelNameLower}')
|
|
203
202
|
|
|
204
203
|
if (atomic) {
|
|
205
204
|
if (typeof client.$transaction !== 'function') {
|
|
206
205
|
throw new HttpError(500, 'Atomic updateEach requires transaction support on the Prisma client')
|
|
207
206
|
}
|
|
208
|
-
const
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
) =>
|
|
212
|
-
|
|
207
|
+
const runInteractive = client.$transaction as unknown as <T>(
|
|
208
|
+
fn: (tx: unknown) => Promise<T>,
|
|
209
|
+
) => Promise<T>
|
|
210
|
+
return runInteractive(async (tx) => {
|
|
211
|
+
const txDelegate = getDelegate(tx, '${modelNameLower}')
|
|
212
|
+
return Promise.all(items.map((item) => txDelegate.update(item)))
|
|
213
|
+
})
|
|
213
214
|
}
|
|
214
215
|
|
|
216
|
+
const delegate = getDelegate(client, '${modelNameLower}')
|
|
215
217
|
const settled = await Promise.allSettled(
|
|
216
218
|
items.map((item) => delegate.update(item)),
|
|
217
219
|
)
|
package/src/index.ts
CHANGED
|
@@ -25,7 +25,12 @@ import {
|
|
|
25
25
|
import { writeFileSafely } from './utils/writeFileSafely'
|
|
26
26
|
import { copyFiles } from './utils/copyFiles'
|
|
27
27
|
import { resolveImportStyle, ImportStyle } from './utils/resolveImportStyle'
|
|
28
|
-
import {
|
|
28
|
+
import {
|
|
29
|
+
GENERATOR_NAME,
|
|
30
|
+
Target,
|
|
31
|
+
WriteStrategy,
|
|
32
|
+
FindManyPaginatedMode,
|
|
33
|
+
} from './constants'
|
|
29
34
|
|
|
30
35
|
const GENERATOR_OFF_RE = /\bgenerator off\b/
|
|
31
36
|
|
|
@@ -34,12 +39,15 @@ function getTarget(options: GeneratorOptions): Target {
|
|
|
34
39
|
(options.generator.config as Record<string, unknown>).target ?? 'express',
|
|
35
40
|
).toLowerCase()
|
|
36
41
|
if (raw === 'express' || raw === 'fastify' || raw === 'hono') return raw
|
|
37
|
-
throw new Error(
|
|
42
|
+
throw new Error(
|
|
43
|
+
`Invalid target "${raw}". Expected "express", "fastify", or "hono".`,
|
|
44
|
+
)
|
|
38
45
|
}
|
|
39
46
|
|
|
40
47
|
function getWriteStrategy(options: GeneratorOptions): WriteStrategy {
|
|
41
48
|
const raw = String(
|
|
42
|
-
(options.generator.config as Record<string, unknown>).writeStrategy ??
|
|
49
|
+
(options.generator.config as Record<string, unknown>).writeStrategy ??
|
|
50
|
+
'regular',
|
|
43
51
|
)
|
|
44
52
|
const lower = raw.toLowerCase()
|
|
45
53
|
if (lower === 'regular') return 'regular'
|
|
@@ -56,9 +64,12 @@ function getWriteStrategy(options: GeneratorOptions): WriteStrategy {
|
|
|
56
64
|
)
|
|
57
65
|
}
|
|
58
66
|
|
|
59
|
-
function getFindManyPaginatedMode(
|
|
67
|
+
function getFindManyPaginatedMode(
|
|
68
|
+
options: GeneratorOptions,
|
|
69
|
+
): FindManyPaginatedMode {
|
|
60
70
|
const raw = String(
|
|
61
|
-
(options.generator.config as Record<string, unknown>)
|
|
71
|
+
(options.generator.config as Record<string, unknown>)
|
|
72
|
+
.findManyPaginatedMode ?? 'promiseAll',
|
|
62
73
|
)
|
|
63
74
|
const lower = raw.toLowerCase()
|
|
64
75
|
if (lower === 'transaction') return 'transaction'
|
|
@@ -69,7 +80,10 @@ function getFindManyPaginatedMode(options: GeneratorOptions): FindManyPaginatedM
|
|
|
69
80
|
}
|
|
70
81
|
|
|
71
82
|
function validateClientGeneratorPresent(options: GeneratorOptions): void {
|
|
72
|
-
getRelativeClientPath(
|
|
83
|
+
getRelativeClientPath(
|
|
84
|
+
options,
|
|
85
|
+
options.dmmf.datamodel.models[0]?.name ?? 'Model',
|
|
86
|
+
)
|
|
73
87
|
}
|
|
74
88
|
|
|
75
89
|
generatorHandler({
|
|
@@ -85,11 +99,18 @@ generatorHandler({
|
|
|
85
99
|
const target = getTarget(options)
|
|
86
100
|
const writeStrategy = getWriteStrategy(options)
|
|
87
101
|
const findManyPaginatedMode = getFindManyPaginatedMode(options)
|
|
88
|
-
const hasExplicitOutput =
|
|
89
|
-
!!options.generator.output?.fromEnvVar ||
|
|
90
|
-
(options.generator.config as Record<string, unknown>).output !== undefined
|
|
91
102
|
|
|
92
|
-
|
|
103
|
+
const manifestDefaultAbs = path.resolve(
|
|
104
|
+
__dirname,
|
|
105
|
+
'..',
|
|
106
|
+
'generated',
|
|
107
|
+
target,
|
|
108
|
+
)
|
|
109
|
+
const currentOutput = options.generator.output?.value
|
|
110
|
+
const isUnsetOrManifestDefault =
|
|
111
|
+
!currentOutput || path.resolve(currentOutput) === manifestDefaultAbs
|
|
112
|
+
|
|
113
|
+
if (isUnsetOrManifestDefault) {
|
|
93
114
|
const schemaDir = path.dirname(options.schemaPath)
|
|
94
115
|
const outputPath = path.join(schemaDir, 'generated', target)
|
|
95
116
|
options.generator.output = { value: outputPath, fromEnvVar: null }
|
|
@@ -237,4 +258,4 @@ generatorHandler({
|
|
|
237
258
|
console.log(`✓ ${modelNames.length} models (${target})`)
|
|
238
259
|
console.log('')
|
|
239
260
|
},
|
|
240
|
-
})
|
|
261
|
+
})
|