rework internal order system

This commit is contained in:
Matthias Hochmeister
2026-03-24 08:59:46 +01:00
parent 3c0a8a6832
commit 6ff5cc89ad
8 changed files with 240 additions and 154 deletions

View File

@@ -2,26 +2,27 @@ import { api } from './api';
import type {
AusruestungArtikel,
AusruestungArtikelFormData,
AusruestungAnfrage,
AusruestungAnfrageDetailResponse,
AusruestungAnfrageFormItem,
AusruestungOverview,
AusruestungKategorie,
AusruestungEigenschaft,
AusruestungAnfrage,
AusruestungWidgetOverview,
} from '../types/ausruestungsanfrage.types';
export const ausruestungsanfrageApi = {
// ── Categories (DB-backed) ──
// ── Categories (DB-backed, hierarchical) ──
getKategorien: async (): Promise<AusruestungKategorie[]> => {
const r = await api.get('/api/ausruestungsanfragen/kategorien');
return r.data.data;
},
createKategorie: async (name: string): Promise<AusruestungKategorie> => {
const r = await api.post('/api/ausruestungsanfragen/kategorien', { name });
createKategorie: async (name: string, parentId?: number | null): Promise<AusruestungKategorie> => {
const r = await api.post('/api/ausruestungsanfragen/kategorien', { name, parent_id: parentId ?? null });
return r.data.data;
},
updateKategorie: async (id: number, name: string): Promise<AusruestungKategorie> => {
const r = await api.patch(`/api/ausruestungsanfragen/kategorien/${id}`, { name });
updateKategorie: async (id: number, data: { name?: string; parent_id?: number | null }): Promise<AusruestungKategorie> => {
const r = await api.patch(`/api/ausruestungsanfragen/kategorien/${id}`, data);
return r.data.data;
},
deleteKategorie: async (id: number): Promise<void> => {
@@ -126,6 +127,12 @@ export const ausruestungsanfrageApi = {
return r.data.data;
},
// ── Widget overview ──
getWidgetOverview: async (): Promise<AusruestungWidgetOverview> => {
const r = await api.get('/api/ausruestungsanfragen/widget-overview');
return r.data.data;
},
// ── Users ──
getOrderUsers: async (): Promise<Array<{ id: string; name: string }>> => {
const r = await api.get('/api/permissions/users-with', { params: { permission: 'ausruestungsanfrage:create_request' } });