Add article category lookup
This commit is contained in:
@@ -77,4 +77,5 @@ The store can read both the connector format and the older Telefonbuch cookie-ar
|
|||||||
- `getMaschinen(gruppenId, suchstring?)` reads `/module/maschinen/livesearch.php` and returns ID, number, name, license plate, and active flag.
|
- `getMaschinen(gruppenId, suchstring?)` reads `/module/maschinen/livesearch.php` and returns ID, number, name, license plate, and active flag.
|
||||||
- `getFirmen()` reads `/einstellungen` and returns company ID and description.
|
- `getFirmen()` reads `/einstellungen` and returns company ID and description.
|
||||||
- `getArtikelEinheiten()` reads `/artikel/einheiten` and returns unit ID, description, and short label.
|
- `getArtikelEinheiten()` reads `/artikel/einheiten` and returns unit ID, description, and short label.
|
||||||
|
- `getArtikelKategorien()` reads `/artikel/kategorien` and returns product group ID and name.
|
||||||
- `saveSession()` explicitly persists the current cookie jar.
|
- `saveSession()` explicitly persists the current cookie jar.
|
||||||
|
|||||||
Vendored
+2
-1
@@ -1,5 +1,5 @@
|
|||||||
import { type AxiosInstance } from 'axios';
|
import { type AxiosInstance } from 'axios';
|
||||||
import type { AgrarmonitorApiCustomer, AgrarmonitorConnectorOptions, AgrarmonitorConnectorResult, AgrarmonitorDeviceRegistrationOptions, AgrarmonitorDeviceRegistrationResult, AgrarmonitorFetchCustomersOptions, AgrarmonitorFreischaltungStatus, AgrarmonitorKunde2, AgrarmonitorRegistrierungStatus, ArtikelEinheit, EingangsrechnungLivesearchResult, Firma, Maschine, MaschinenKategorie, Rechnungsdaten } from './types';
|
import type { AgrarmonitorApiCustomer, AgrarmonitorConnectorOptions, AgrarmonitorConnectorResult, AgrarmonitorDeviceRegistrationOptions, AgrarmonitorDeviceRegistrationResult, AgrarmonitorFetchCustomersOptions, AgrarmonitorFreischaltungStatus, AgrarmonitorKunde2, AgrarmonitorRegistrierungStatus, ArtikelEinheit, ArtikelKategorie, EingangsrechnungLivesearchResult, Firma, Maschine, MaschinenKategorie, Rechnungsdaten } from './types';
|
||||||
export declare class AgrarmonitorConnector implements AgrarmonitorConnectorResult {
|
export declare class AgrarmonitorConnector implements AgrarmonitorConnectorResult {
|
||||||
private readonly options;
|
private readonly options;
|
||||||
http: AxiosInstance;
|
http: AxiosInstance;
|
||||||
@@ -37,6 +37,7 @@ export declare class AgrarmonitorConnector implements AgrarmonitorConnectorResul
|
|||||||
getMaschinen(gruppenId: number, suchstring?: string): Promise<Maschine[]>;
|
getMaschinen(gruppenId: number, suchstring?: string): Promise<Maschine[]>;
|
||||||
getFirmen(): Promise<Firma[]>;
|
getFirmen(): Promise<Firma[]>;
|
||||||
getArtikelEinheiten(): Promise<ArtikelEinheit[]>;
|
getArtikelEinheiten(): Promise<ArtikelEinheit[]>;
|
||||||
|
getArtikelKategorien(): Promise<ArtikelKategorie[]>;
|
||||||
private createHttpClient;
|
private createHttpClient;
|
||||||
private createApiHttpClient;
|
private createApiHttpClient;
|
||||||
private apiRequest;
|
private apiRequest;
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"AgrarmonitorConnector.d.ts","sourceRoot":"","sources":["../src/AgrarmonitorConnector.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"AgrarmonitorConnector.d.ts","sourceRoot":"","sources":["../src/AgrarmonitorConnector.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,aAAa,EAA+C,MAAM,OAAO,CAAC;AAI/F,OAAO,KAAK,EACV,uBAAuB,EACvB,4BAA4B,EAC5B,2BAA2B,EAC3B,qCAAqC,EACrC,oCAAoC,EACpC,iCAAiC,EACjC,+BAA+B,EAE/B,kBAAkB,EAClB,+BAA+B,EAC/B,cAAc,EACd,gBAAgB,EAChB,gCAAgC,EAChC,KAAK,EAEL,QAAQ,EACR,kBAAkB,EAClB,cAAc,EACf,MAAM,SAAS,CAAC;AAcjB,qBAAa,qBAAsB,YAAW,2BAA2B;IAgB3D,OAAO,CAAC,QAAQ,CAAC,OAAO;IAf7B,IAAI,EAAG,aAAa,CAAC;IAE5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAsE;IAE9G,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,eAAe,CAA8B;gBAExB,OAAO,EAAE,4BAA4B;IAU5D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAYtB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAO7B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,cAAc,CAAC,GAAG,SAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAInD,mBAAmB,IAAI,OAAO,CAAC,+BAA+B,CAAC;IAqB/D,gBAAgB,IAAI,OAAO,CAAC,+BAA+B,CAAC;IAoB5D,cAAc,CAClB,YAAY,EAAE,qCAAqC,GAClD,OAAO,CAAC,oCAAoC,CAAC;IA6C1C,cAAc,CAAC,OAAO,GAAE,iCAAsC,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAiBnG,UAAU,CAAC,OAAO,GAAE,iCAAsC,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAK1F,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gCAAgC,EAAE,CAAC;IAqD7F,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU/D,uCAAuC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAa7E,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAqB9D,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAkB9E,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYxE,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAenE,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAe7D,sBAAsB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAoBvD,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IA4BrE,SAAS,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAkB7B,mBAAmB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAmBhD,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAkBzD,OAAO,CAAC,gBAAgB;IAwCxB,OAAO,CAAC,mBAAmB;YAYb,UAAU;YAeV,iBAAiB;IA2B/B,OAAO,CAAC,SAAS;YAmBH,YAAY;YAiBZ,oBAAoB;YA4BpB,cAAc;IAS5B,OAAO,CAAC,uBAAuB;YAajB,eAAe;IAa7B,OAAO,CAAC,6BAA6B;YAYvB,2BAA2B;YAyB3B,6BAA6B;IA0B3C,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,4BAA4B;IAKpC,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,SAAS;CAGlB"}
|
||||||
Vendored
+13
@@ -332,6 +332,19 @@ class AgrarmonitorConnector {
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
async getArtikelKategorien() {
|
||||||
|
const response = await this.http.get('/artikel/kategorien');
|
||||||
|
await this.saveSession();
|
||||||
|
const document = this.parseHtmlDocument(response.data);
|
||||||
|
const rows = Array.from(document.querySelectorAll('table#kategorien tbody tr'));
|
||||||
|
return rows.map(row => {
|
||||||
|
const cells = Array.from(row.querySelectorAll('td'));
|
||||||
|
return {
|
||||||
|
id: this.parseNumber(row.id),
|
||||||
|
name: cells[1]?.textContent?.trim() ?? '',
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
||||||
createHttpClient() {
|
createHttpClient() {
|
||||||
const client = (0, axios_cookiejar_support_1.wrapper)(axios_1.default.create({
|
const client = (0, axios_cookiejar_support_1.wrapper)(axios_1.default.create({
|
||||||
baseURL: this.baseUrl,
|
baseURL: this.baseUrl,
|
||||||
|
|||||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+5
@@ -52,6 +52,7 @@ export interface AgrarmonitorConnectorResult {
|
|||||||
getMaschinen(gruppenId: number, suchstring?: string): Promise<Maschine[]>;
|
getMaschinen(gruppenId: number, suchstring?: string): Promise<Maschine[]>;
|
||||||
getFirmen(): Promise<Firma[]>;
|
getFirmen(): Promise<Firma[]>;
|
||||||
getArtikelEinheiten(): Promise<ArtikelEinheit[]>;
|
getArtikelEinheiten(): Promise<ArtikelEinheit[]>;
|
||||||
|
getArtikelKategorien(): Promise<ArtikelKategorie[]>;
|
||||||
}
|
}
|
||||||
export interface AgrarmonitorFreischaltungStatus {
|
export interface AgrarmonitorFreischaltungStatus {
|
||||||
freigeschaltet: boolean;
|
freigeschaltet: boolean;
|
||||||
@@ -158,4 +159,8 @@ export interface ArtikelEinheit {
|
|||||||
bezeichnung: string;
|
bezeichnung: string;
|
||||||
kurz: string;
|
kurz: string;
|
||||||
}
|
}
|
||||||
|
export interface ArtikelKategorie {
|
||||||
|
id: number;
|
||||||
|
name: string;
|
||||||
|
}
|
||||||
//# sourceMappingURL=types.d.ts.map
|
//# sourceMappingURL=types.d.ts.map
|
||||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
@@ -14,6 +14,7 @@ import type {
|
|||||||
AgrarmonitorKunde2,
|
AgrarmonitorKunde2,
|
||||||
AgrarmonitorRegistrierungStatus,
|
AgrarmonitorRegistrierungStatus,
|
||||||
ArtikelEinheit,
|
ArtikelEinheit,
|
||||||
|
ArtikelKategorie,
|
||||||
EingangsrechnungLivesearchResult,
|
EingangsrechnungLivesearchResult,
|
||||||
Firma,
|
Firma,
|
||||||
Logger,
|
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 {
|
private createHttpClient(): AxiosInstance {
|
||||||
const client = wrapper(
|
const client = wrapper(
|
||||||
axios.create({
|
axios.create({
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ export interface AgrarmonitorConnectorResult {
|
|||||||
getMaschinen(gruppenId: number, suchstring?: string): Promise<Maschine[]>;
|
getMaschinen(gruppenId: number, suchstring?: string): Promise<Maschine[]>;
|
||||||
getFirmen(): Promise<Firma[]>;
|
getFirmen(): Promise<Firma[]>;
|
||||||
getArtikelEinheiten(): Promise<ArtikelEinheit[]>;
|
getArtikelEinheiten(): Promise<ArtikelEinheit[]>;
|
||||||
|
getArtikelKategorien(): Promise<ArtikelKategorie[]>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface AgrarmonitorFreischaltungStatus {
|
export interface AgrarmonitorFreischaltungStatus {
|
||||||
@@ -177,3 +178,8 @@ export interface ArtikelEinheit {
|
|||||||
bezeichnung: string;
|
bezeichnung: string;
|
||||||
kurz: string;
|
kurz: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface ArtikelKategorie {
|
||||||
|
id: number;
|
||||||
|
name: string;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user