car_trader/server/api/cars/[city].get.js

38 lines
742 B
JavaScript

// GET: http://localhost:3000/api/cars/toronto
// import cars from "@/assets/cars.json";
import { PrismaClient } from "@prisma/client";
const prisma = new PrismaClient();
export default defineEventHandler((event => {
const {city} = event.context.params;
const {make,minPrice,maxPrice} = getQuery(event);
const filters = {
city: city.toLowerCase()
};
if (make){
filters.make = make;
}
if (minPrice || maxPrice) {
filters.price = {}
}
if (minPrice) {
filters.price.gte = parseInt(minPrice);
}
if (maxPrice) {
filters.price.lte = parseInt(maxPrice);
}
console.log(filters);
return prisma.car.findMany({
where: filters
});
}));