fix(admin): bulk APIs — include->select for _count (Prisma 6.19 select+include conflict)

This commit is contained in:
NW
2026-08-10 10:22:02 +01:00
parent 301763f428
commit 1b7050002e
6 changed files with 56 additions and 9 deletions

View File

@@ -34,7 +34,7 @@ export async function GET(request: NextRequest) {
db.lead.count({ where }),
db.lead.findMany({
where,
include: {
select: {
_count: {
select: { chatSessions: true },
},

View File

@@ -28,7 +28,19 @@ export async function GET(request: NextRequest) {
db.product.count({ where }),
db.product.findMany({
where,
include: {
select: {
id: true,
name: true,
description: true,
privateData: true,
price: true,
quantityInStock: true,
photoUrl: true,
hiddenPhotoUrl: true,
hiddenCoordinates: true,
hiddenDescription: true,
isMono: true,
createdAt: true,
category: { select: { id: true, name: true } },
subcategory: { select: { id: true, name: true } },
location: { select: { id: true, country: true, city: true, district: true } },

View File

@@ -25,9 +25,27 @@ export async function GET(request: NextRequest) {
const [data, total] = await Promise.all([
db.purchase.findMany({
where,
include: {
user: { select: { username: true, telegramId: true } },
product: { select: { name: true } },
select: {
id: true,
userId: true,
productId: true,
walletType: true,
txHash: true,
quantity: true,
totalPrice: true,
purchaseDate: true,
status: true,
user: {
select: {
username: true,
telegramId: true,
},
},
product: {
select: {
name: true,
},
},
},
orderBy: { id: 'desc' },
skip: (page - 1) * limit,

View File

@@ -20,9 +20,18 @@ export async function GET(request: NextRequest) {
db.transaction.count({ where }),
db.transaction.findMany({
where,
include: {
select: {
id: true,
userId: true,
walletType: true,
txHash: true,
amount: true,
createdAt: true,
user: {
select: { username: true, telegramId: true },
select: {
username: true,
telegramId: true,
},
},
},
orderBy: { createdAt: 'desc' },

View File

@@ -29,7 +29,7 @@ export async function GET(request: NextRequest) {
db.tgUser.count({ where }),
db.tgUser.findMany({
where,
include: {
select: {
_count: {
select: { wallets: true, purchases: true },
},

View File

@@ -24,7 +24,15 @@ export async function GET(request: NextRequest) {
const users = await db.tgUser.findMany({
where,
include: {
select: {
id: true,
username: true,
telegramId: true,
status: true,
totalBalance: true,
bonusBalance: true,
country: true,
city: true,
_count: {
select: { wallets: true },
},