if (typeof clientId !== 'number') {
throw new ApiError('clientId must be a number')
}
const transactions = await prisma.$queryRaw(Prisma.sql`
SELECT currency, sum("fromAmount"), sum("toAmount"), account."createdAt"
FROM "Transaction"
LEFT JOIN public."Account" account on "Transaction"."fromAccountId" = account.id
WHERE type = 'CARD_OUT'
AND "clientId" ${clientId ? `= ${clientId}` : `IS NULL`}
AND account."clientId"
GROUP BY currency, "fromAmount", "toAmount", account."createdAt"
`)
Данный код падает с ошибкой
PrismaClientKnownRequestError:
Invalid `prisma.$queryRaw()` invocation:
Raw query failed. Code: `42601`. Message: `ERROR: syntax error at or near "$1"`
at si.handleRequestError (C:\Users\meebo\WebstormProjects\back-v2.g01.gg\node_modules\@prisma\client\runtime\library.js:125:6817)
at si.handleAndLogRequestError (C:\Users\meebo\WebstormProjects\back-v2.g01.gg\node_modules\@prisma\client\runtime\library.js:125:6151)
at si.request (C:\Users\meebo\WebstormProjects\back-v2.g01.gg\node_modules\@prisma\client\runtime\library.js:125:5859)
at async l (C:\Users\meebo\WebstormProjects\back-v2.g01.gg\node_modules\@prisma\client\runtime\library.js:130:9805)
at async Object.GET (file:///C:/Users/meebo/WebstormProjects/back-v2.g01.gg/src/endpoints/admin/stats.js:18:24)
at async file:///C:/Users/meebo/WebstormProjects/back-v2.g01.gg/src/app.js:359:17
Причём такой код не работает вообще ни с какими шаблонными строками, даже если вместо этого тернарного оператора туда какой-нибудь примитив засунуть.
Вот можно попробовать лично построить данный запро...
Хотя всё по документации:
https://www.prisma.io/docs/orm/prisma-client/queri...