import AbstractFilter from '~/services/data/Filters/AbstractFilter' import RefUtils from '~/services/utils/refUtils' import type {ApiFilter} from "~/types/data"; import type ApiResource from "~/models/ApiResource"; import type {Query as PiniaOrmQuery} from "pinia-orm"; export default class TimeFilter extends AbstractFilter implements ApiFilter{ field: string filterValue: string /** * @param field * @param value * @param reactiveFilter */ constructor( field: string, value: string, reactiveFilter: boolean = false, ) { super(reactiveFilter) this.field = field this.filterValue = value } public applyToPiniaOrmQuery ( query: PiniaOrmQuery, ): PiniaOrmQuery { return query } public getApiQueryPart(): string { const filterValue = RefUtils.castToRef( this.filterValue, this.reactiveFilter, ) if (filterValue.value === null) { return '' } return `${this.field}[time]=${filterValue.value}` } }