33 lines
1.0 KiB
TypeScript
33 lines
1.0 KiB
TypeScript
import { NotFoundError } from '../../http/errors'
|
|
import * as repo from './offer.repo'
|
|
|
|
export function listOffers(companyId: string, filters: { active?: string; public?: string }) {
|
|
return repo.findMany(companyId, filters)
|
|
}
|
|
|
|
export function getOffer(id: string, companyId: string) {
|
|
return repo.findByIdOrThrow(id, companyId)
|
|
}
|
|
|
|
export function createOffer(companyId: string, data: any, vehicleIds: string[]) {
|
|
return repo.create(companyId, data, vehicleIds)
|
|
}
|
|
|
|
export async function updateOffer(id: string, companyId: string, data: any, vehicleIds?: string[]) {
|
|
const existing = await repo.findFirst(id, companyId)
|
|
if (!existing) throw new NotFoundError('Offer not found')
|
|
return repo.update(id, data, vehicleIds)
|
|
}
|
|
|
|
export function deleteOffer(id: string, companyId: string) {
|
|
return repo.deleteMany(id, companyId)
|
|
}
|
|
|
|
export function setOfferActive(id: string, companyId: string, isActive: boolean) {
|
|
return repo.setActive(id, companyId, isActive)
|
|
}
|
|
|
|
export function getOfferStats(id: string, companyId: string) {
|
|
return repo.getStats(id, companyId)
|
|
}
|