mirror of
https://github.com/sysadminsmedia/homebox.git
synced 2025-12-21 21:33:02 +01:00
* implement backend to query maintenances * improve backend API for maintenances * add itemId and itemName (v1/maintenances) * fix remaining todo in backend (/v1/maintenances) * refactor: extract MaintenanceEditModal * first draft (to be cleaned) * revert dependency updates (not required) * translation + fix deletion * fix main menu css issues * fix main menu "create" button (css) * enhancement: make item name clickable * fix: add page title (+ translate existing ones) * fix: missing toast translation (when updating) * bug fix: missing group check in backend (for new endpoint) * backport from following PR (to avoid useless changes) * maintenances => maintenance
31 lines
798 B
TypeScript
31 lines
798 B
TypeScript
import { BaseAPI, route } from "../base";
|
|
import type {
|
|
MaintenanceEntry,
|
|
MaintenanceEntryWithDetails,
|
|
MaintenanceEntryUpdate,
|
|
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,
|
|
});
|
|
}
|
|
}
|