2024-12-11 06:38:50 -05:00
|
|
|
import { db } from '../../index';
|
|
|
|
|
import { psa } from '../../../drizzle/schema';
|
2024-12-13 00:31:17 -05:00
|
|
|
import { eq, lt, gte, ne, and, like } from 'drizzle-orm';
|
2024-12-12 16:23:05 -05:00
|
|
|
import CATEGORY from '@src/data/parts_cats.json';
|
2024-12-11 06:38:50 -05:00
|
|
|
|
|
|
|
|
export async function getPSA(page = 1) {
|
2024-12-12 00:04:14 -05:00
|
|
|
const limit = 20;
|
2024-12-11 06:38:50 -05:00
|
|
|
const offset = (page - 1) * limit;
|
|
|
|
|
|
|
|
|
|
return await db.select()
|
|
|
|
|
.from(psa)
|
|
|
|
|
.limit(limit)
|
2024-12-12 00:04:14 -05:00
|
|
|
.where(eq(psa.fineline, "Lower Build Kits"))
|
2024-12-11 06:38:50 -05:00
|
|
|
.offset(offset);
|
2024-12-12 00:04:14 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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) {
|
2024-12-12 10:34:50 -05:00
|
|
|
const limit = 40;
|
2024-12-12 00:04:14 -05:00
|
|
|
const offset = (page - 1) * limit;
|
|
|
|
|
|
|
|
|
|
return await db.select()
|
|
|
|
|
.from(psa)
|
|
|
|
|
.limit(limit)
|
|
|
|
|
.where(eq(psa.fineline, "AR Complete Lowers"))
|
|
|
|
|
.offset(offset);
|
|
|
|
|
}
|
2024-12-12 16:23:05 -05:00
|
|
|
|
|
|
|
|
export async function getProductType(productType : any, page = 1) {
|
|
|
|
|
const limit = 40;
|
|
|
|
|
const offset = (page - 1) * limit;
|
|
|
|
|
|
|
|
|
|
return await db.select()
|
|
|
|
|
.from(psa)
|
|
|
|
|
.limit(limit)
|
2024-12-13 00:31:17 -05:00
|
|
|
.where(eq(psa.fineline, (typeof(productType) !== 'string' ? productType.name : productType)))
|
2024-12-12 16:23:05 -05:00
|
|
|
.offset(offset);
|
|
|
|
|
}
|
2024-12-13 00:31:17 -05:00
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
|
2024-12-13 14:22:24 -05:00
|
|
|
return await db.select()
|
|
|
|
|
.from(psa)
|
|
|
|
|
.limit(limit)
|
|
|
|
|
.where(and(like(psa.fineline, "%Trigger%"), like(psa.category, "Ar Parts")))
|
|
|
|
|
.offset(offset);
|
|
|
|
|
}
|
|
|
|
|
export async function getARParts(page = 1) {
|
|
|
|
|
const limit = 40;
|
|
|
|
|
const offset = (page - 1) * limit;
|
|
|
|
|
|
2024-12-13 00:31:17 -05:00
|
|
|
return await db.select()
|
|
|
|
|
.from(psa)
|
|
|
|
|
.limit(limit)
|
|
|
|
|
.where(and(like(psa.fineline, "%Trigger%"), like(psa.category, "Ar Parts")))
|
|
|
|
|
.offset(offset);
|
2024-12-15 23:39:56 -05:00
|
|
|
}
|
|
|
|
|
export async function getMags(page = 1) {
|
|
|
|
|
const limit = 40;
|
|
|
|
|
const offset = (page - 1) * limit;
|
|
|
|
|
|
|
|
|
|
return await db.select()
|
|
|
|
|
.from(psa)
|
|
|
|
|
.limit(limit)
|
|
|
|
|
.where(and(like(psa.fineline, "%Magazine%"), like(psa.category, "Ar Parts")))
|
|
|
|
|
.offset(offset);
|
2024-12-13 00:31:17 -05:00
|
|
|
}
|