collection details

This commit is contained in:
Julian Krauser 2025-03-26 12:20:06 +01:00
parent 3e87bbc267
commit 45fe7b34c3
19 changed files with 782 additions and 39 deletions

View file

@ -4,7 +4,7 @@ import type {
CreateEquipmentViewModel,
EquipmentStatisticsViewModel,
UpdateEquipmentViewModel,
} from "@/viewmodels/admin/unit/equipment/equipment.models";
} from "@/viewmodels/admin/unit/equipmentType/equipment.models";
import { http } from "@/serverCom";
import type { AxiosResponse } from "axios";

View file

@ -13,6 +13,9 @@ export const useEquipmentTypeStore = defineStore("equipmentType", {
equipmentTypes: [] as Array<EquipmentTypeViewModel & { tab_pos: number }>,
totalCount: 0 as number,
loading: "loading" as "loading" | "fetched" | "failed",
activeEquipmentType: null as string | null,
activeEquipmentTypeObj: null as EquipmentTypeViewModel | null,
loadingActive: "loading" as "loading" | "fetched" | "failed",
};
},
actions: {
@ -41,13 +44,13 @@ export const useEquipmentTypeStore = defineStore("equipmentType", {
});
},
async getAllEquipmentTypes(): Promise<AxiosResponse<any, any>> {
return await http.get(`/admin/equipment?noLimit=true`).then((res) => {
return await http.get(`/admin/equipmentType?noLimit=true`).then((res) => {
return { ...res, data: res.data.equipments };
});
},
async getEquipmentTypesByIds(ids: Array<string>): Promise<AxiosResponse<any, any>> {
return await http
.post(`/admin/equipment/ids`, {
.post(`/admin/equipmentType/ids`, {
ids,
})
.then((res) => {
@ -55,42 +58,51 @@ export const useEquipmentTypeStore = defineStore("equipmentType", {
});
},
async searchEquipmentTypes(search: string): Promise<AxiosResponse<any, any>> {
return await http.get(`/admin/equipment?search=${search}&noLimit=true`).then((res) => {
return await http.get(`/admin/equipmentType?search=${search}&noLimit=true`).then((res) => {
return { ...res, data: res.data.equipments };
});
},
fetchEquipmentTypeByActiveId() {
this.loadingActive = "loading";
http
.get(`/admin/equipmentType/${this.activeEquipmentType}`)
.then((res) => {
this.activeEquipmentTypeObj = res.data;
this.loadingActive = "fetched";
})
.catch((err) => {
this.loadingActive = "failed";
});
},
fetchEquipmentTypeById(id: string) {
return http.get(`/admin/equipment/${id}`);
return http.get(`/admin/equipmentType/${id}`);
},
fetchEquipmentTypeStatisticsById(id: string) {
return http.get(`/admin/equipment/${id}/statistics`);
},
async createEquipmentType(equipment: CreateEquipmentTypeViewModel): Promise<AxiosResponse<any, any>> {
const result = await http.post(`/admin/equipment`, {
salutationId: equipment.salutationId,
firstname: equipment.firstname,
lastname: equipment.lastname,
nameaffix: equipment.nameaffix,
birthdate: equipment.birthdate,
internalId: equipment.internalId,
async createEquipmentType(equipmentType: CreateEquipmentTypeViewModel): Promise<AxiosResponse<any, any>> {
const result = await http.post(`/admin/equipmentType`, {
salutationId: equipmentType.salutationId,
firstname: equipmentType.firstname,
lastname: equipmentType.lastname,
nameaffix: equipmentType.nameaffix,
birthdate: equipmentType.birthdate,
internalId: equipmentType.internalId,
});
this.fetchEquipmentTypes();
return result;
},
async updateEquipmentType(equipment: UpdateEquipmentTypeViewModel): Promise<AxiosResponse<any, any>> {
const result = await http.patch(`/admin/equipment/${equipment.id}`, {
salutationId: equipment.salutationId,
firstname: equipment.firstname,
lastname: equipment.lastname,
nameaffix: equipment.nameaffix,
birthdate: equipment.birthdate,
internalId: equipment.internalId,
async updateActiveEquipmentType(equipmentType: UpdateEquipmentTypeViewModel): Promise<AxiosResponse<any, any>> {
const result = await http.patch(`/admin/equipmentType/${equipmentType.id}`, {
salutationId: equipmentType.salutationId,
firstname: equipmentType.firstname,
lastname: equipmentType.lastname,
nameaffix: equipmentType.nameaffix,
birthdate: equipmentType.birthdate,
internalId: equipmentType.internalId,
});
this.fetchEquipmentTypes();
return result;
},
async deleteEquipmentType(equipment: number): Promise<AxiosResponse<any, any>> {
const result = await http.delete(`/admin/equipment/${equipment}`);
async deleteEquipmentType(equipmentType: number): Promise<AxiosResponse<any, any>> {
const result = await http.delete(`/admin/equipmentType/${equipmentType}`);
this.fetchEquipmentTypes();
return result;
},