mirror of
https://github.com/sysadminsmedia/homebox.git
synced 2026-01-02 02:57:22 +01:00
31 lines
798 B
TypeScript
31 lines
798 B
TypeScript
import { BaseAPI, route } from "../base";
|
|
import type {
|
|
MaintenanceEntry,
|
|
MaintenanceEntryUpdate,
|
|
MaintenanceEntryWithDetails,
|
|
MaintenanceFilterStatus,
|
|
} from "../types/data-contracts";
|
|
|
|
export interface MaintenanceFilters {
|
|
status?: MaintenanceFilterStatus;
|
|
}
|
|
|
|
export class MaintenanceAPI extends BaseAPI {
|
|
getAll(filters: MaintenanceFilters) {
|
|
return this.http.get<MaintenanceEntryWithDetails[]>({
|
|
url: route(`/maintenance`, { status: filters.status?.toString() }),
|
|
});
|
|
}
|
|
|
|
delete(id: string) {
|
|
return this.http.delete<void>({ url: route(`/maintenance/${id}`) });
|
|
}
|
|
|
|
update(id: string, data: MaintenanceEntryUpdate) {
|
|
return this.http.put<MaintenanceEntryUpdate, MaintenanceEntry>({
|
|
url: route(`/maintenance/${id}`),
|
|
body: data,
|
|
});
|
|
}
|
|
}
|