38 lines
742 B
JavaScript
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
|
|
});
|
|
})); |