import { db } from '../../index'; import { psa } from '../../../drizzle/schema'; import { eq, lt, gte, ne, and, like } from 'drizzle-orm'; import CATEGORY from '@src/data/parts_cats.json'; export async function getPSA(page = 1) { const limit = 20; const offset = (page - 1) * limit; return await db.select() .from(psa) .limit(limit) .where(eq(psa.fineline, "Lower Build Kits")) .offset(offset); } export async function getLowerBuildKits(page = 1) { const limit = 20; const offset = (page - 1) * limit; return await db.select() .from(psa) .limit(limit) .where(eq(psa.fineline, "Lower Build Kits")) .offset(offset); } export async function getARCompleteLowers(page = 1) { const limit = 40; const offset = (page - 1) * limit; return await db.select() .from(psa) .limit(limit) .where(eq(psa.fineline, "AR Complete Lowers")) .offset(offset); } export async function getProductType(productType : any, page = 1) { const limit = 40; const offset = (page - 1) * limit; return await db.select() .from(psa) .limit(limit) .where(eq(psa.fineline, (typeof(productType) !== 'string' ? productType.name : productType))) .offset(offset); } export async function getGrips(page = 1) { const limit = 40; const offset = (page - 1) * limit; return await db.select() .from(psa) .limit(limit) .where(eq(psa.fineline, "Grips")) .offset(offset); } export async function getARHandGuards(page = 1) { const limit = 40; const offset = (page - 1) * limit; return await db.select() .from(psa) .limit(limit) .where(and(eq(psa.fineline, "Handguards & Rail Systems"), eq(psa.category, 'Ar Parts'))) .offset(offset); } export async function getAKHandGuards(page = 1) { const limit = 40; const offset = (page - 1) * limit; return await db.select() .from(psa) .limit(limit) .where(and(eq(psa.fineline, "Handguards & Rail Systems"), eq(psa.category, 'Ak Parts'))) .offset(offset); } export async function getMuzzleDevices(page = 1) { const limit = 40; const offset = (page - 1) * limit; return await db.select() .from(psa) .limit(limit) .where(eq(psa.fineline, "Muzzle Brakes")) .offset(offset); } export async function getStocks(page = 1) { const limit = 40; const offset = (page - 1) * limit; return await db.select() .from(psa) .limit(limit) .where(eq(psa.fineline, "Stocks")) .offset(offset); } export async function getStocksParts(page = 1) { const limit = 40; const offset = (page - 1) * limit; return await db.select() .from(psa) .limit(limit) .where(eq(psa.fineline, "Stocks")) .offset(offset); } export async function getUpperReciever(page = 1) { const limit = 40; const offset = (page - 1) * limit; return await db.select() .from(psa) .limit(limit) .where(like(psa.fineline, "%Upper Receivers")) .offset(offset); } export async function getARTriggers(page = 1) { const limit = 40; const offset = (page - 1) * limit; return await db.select() .from(psa) .limit(limit) .where(and(like(psa.fineline, "%Trigger%"), like(psa.category, "Ar Parts"))) .offset(offset); }