Add article category lookup

This commit is contained in:
2026-06-07 14:45:57 +02:00
parent a5608ab461
commit 68bb6ce061
9 changed files with 49 additions and 4 deletions
+19
View File
@@ -14,6 +14,7 @@ import type {
AgrarmonitorKunde2,
AgrarmonitorRegistrierungStatus,
ArtikelEinheit,
ArtikelKategorie,
EingangsrechnungLivesearchResult,
Firma,
Logger,
@@ -455,6 +456,24 @@ export class AgrarmonitorConnector implements AgrarmonitorConnectorResult {
});
}
async getArtikelKategorien(): Promise<ArtikelKategorie[]> {
const response = await this.http.get('/artikel/kategorien');
await this.saveSession();
const document = this.parseHtmlDocument(response.data);
const rows = Array.from(document.querySelectorAll<HTMLTableRowElement>('table#kategorien tbody tr'));
return rows.map(row => {
const cells = Array.from(row.querySelectorAll<HTMLTableCellElement>('td'));
return {
id: this.parseNumber(row.id),
name: cells[1]?.textContent?.trim() ?? '',
};
});
}
private createHttpClient(): AxiosInstance {
const client = wrapper(
axios.create({
+6
View File
@@ -58,6 +58,7 @@ export interface AgrarmonitorConnectorResult {
getMaschinen(gruppenId: number, suchstring?: string): Promise<Maschine[]>;
getFirmen(): Promise<Firma[]>;
getArtikelEinheiten(): Promise<ArtikelEinheit[]>;
getArtikelKategorien(): Promise<ArtikelKategorie[]>;
}
export interface AgrarmonitorFreischaltungStatus {
@@ -177,3 +178,8 @@ export interface ArtikelEinheit {
bezeichnung: string;
kurz: string;
}
export interface ArtikelKategorie {
id: number;
name: string;
}