excursions/src/services/apiService.ts
2025-06-30 01:01:26 +03:00

38 lines
943 B
TypeScript

import type { IExcursionCard, IExcursionsFilter } from '@/types'
import { excursions } from "@/constants";
interface IGetExcursionsRequest {
limit: number;
offset: number;
filter?: Partial<IExcursionsFilter>;
}
export default class ApiService {
getExcursions({ limit, offset, filter }: IGetExcursionsRequest): IExcursionCard[] {
console.log(limit, offset, filter);
let result = excursions.slice(offset, offset + limit)
if (filter) {
if (filter.city) {
result = result.filter((card) => card.city.includes(filter.city))
}
if (filter.minCost) {
result = result.filter((card) => card.cost >= +filter.minCost)
}
if (filter.maxCost) {
result = result.filter((card) => card.cost <= +filter.maxCost)
}
if (filter.countPeople) {
result = result.filter((card) => (
card.minCountPeople <= filter.countPeople &&
card.maxCountPeople >= filter.countPeople)
)
}
}
return result
}
}