new API callers

This commit is contained in:
Hayden 2023-02-03 14:34:39 -09:00
parent 37b7031264
commit 95a0bf0367
No known key found for this signature in database
GPG key ID: 17CF79474E257545

View file

@ -21,6 +21,7 @@ export type ItemsQuery = {
locations?: string[]; locations?: string[];
labels?: string[]; labels?: string[];
q?: string; q?: string;
fields?: string[];
}; };
export class AttachmentsAPI extends BaseAPI { export class AttachmentsAPI extends BaseAPI {
@ -48,6 +49,16 @@ export class AttachmentsAPI extends BaseAPI {
} }
} }
export class FieldsAPI extends BaseAPI {
getAll() {
return this.http.get<string[]>({ url: route("/items/fields") });
}
getAllValues(field: string) {
return this.http.get<string[]>({ url: route(`/items/fields/values`, { field }) });
}
}
export class MaintenanceAPI extends BaseAPI { export class MaintenanceAPI extends BaseAPI {
getLog(itemId: string) { getLog(itemId: string) {
return this.http.get<MaintenanceLog>({ url: route(`/items/${itemId}/maintenance`) }); return this.http.get<MaintenanceLog>({ url: route(`/items/${itemId}/maintenance`) });
@ -75,9 +86,11 @@ export class MaintenanceAPI extends BaseAPI {
export class ItemsApi extends BaseAPI { export class ItemsApi extends BaseAPI {
attachments: AttachmentsAPI; attachments: AttachmentsAPI;
maintenance: MaintenanceAPI; maintenance: MaintenanceAPI;
fields: FieldsAPI;
constructor(http: Requests, token: string) { constructor(http: Requests, token: string) {
super(http, token); super(http, token);
this.fields = new FieldsAPI(http);
this.attachments = new AttachmentsAPI(http); this.attachments = new AttachmentsAPI(http);
this.maintenance = new MaintenanceAPI(http); this.maintenance = new MaintenanceAPI(http);
} }