import { eq, desc, count } from "drizzle-orm"; import { techVendors, techVendorPossibleItems } from "@/db/schema/techVendors"; /** * 기술영업 벤더 가능 아이템 목록 조회 (조인 포함) */ export async function selectTechVendorPossibleItemsWithJoin( tx: any, where: any, orderBy: any[], offset: number, limit: number ) { return await tx .select({ id: techVendorPossibleItems.id, vendorId: techVendorPossibleItems.vendorId, vendorCode: techVendors.vendorCode, vendorName: techVendors.vendorName, techVendorType: techVendors.techVendorType, itemCode: techVendorPossibleItems.itemCode, createdAt: techVendorPossibleItems.createdAt, updatedAt: techVendorPossibleItems.updatedAt, }) .from(techVendorPossibleItems) .innerJoin(techVendors, eq(techVendorPossibleItems.vendorId, techVendors.id)) .where(where) .orderBy(...(orderBy || [desc(techVendorPossibleItems.createdAt)])) .limit(limit) .offset(offset); } /** * 기술영업 벤더 가능 아이템 총 개수 조회 (조인 포함) */ export async function countTechVendorPossibleItemsWithJoin(tx: any, where?: any) { const [result] = await tx .select({ count: count() }) .from(techVendorPossibleItems) .innerJoin(techVendors, eq(techVendorPossibleItems.vendorId, techVendors.id)) .where(where); return result.count; }