Add invoice and customer API methods

This commit is contained in:
2026-05-23 11:17:05 +02:00
parent 921c67503b
commit cf6bc1b5cc
9 changed files with 756 additions and 24 deletions
+32 -1
View File
@@ -1,8 +1,9 @@
import { type AxiosInstance } from 'axios';
import type { AgrarmonitorApiCustomer, AgrarmonitorConnectorOptions, AgrarmonitorConnectorResult, AgrarmonitorDeviceRegistrationOptions, AgrarmonitorDeviceRegistrationResult, AgrarmonitorFetchCustomersOptions, AgrarmonitorFreischaltungStatus, AgrarmonitorRegistrierungStatus } from './types';
import type { AgrarmonitorApiCustomer, AgrarmonitorConnectorOptions, AgrarmonitorConnectorResult, AgrarmonitorDeviceRegistrationOptions, AgrarmonitorDeviceRegistrationResult, AgrarmonitorFetchCustomersOptions, AgrarmonitorFreischaltungStatus, AgrarmonitorRegistrierungStatus, EingangsrechnungLivesearchResult, Rechnungsdaten } from './types';
export declare class AgrarmonitorConnector implements AgrarmonitorConnectorResult {
private readonly options;
http: AxiosInstance;
private static readonly s3DateienBaseUrl;
private readonly baseUrl;
private readonly apiBaseUrl;
private readonly timeoutMs;
@@ -11,6 +12,7 @@ export declare class AgrarmonitorConnector implements AgrarmonitorConnectorResul
private readonly loginStrategy;
private readonly logger?;
private cookieJar;
private apiHttp;
private loginInProgress;
constructor(options: AgrarmonitorConnectorOptions);
init(): Promise<this>;
@@ -22,7 +24,17 @@ export declare class AgrarmonitorConnector implements AgrarmonitorConnectorResul
checkRegistriert(): Promise<AgrarmonitorRegistrierungStatus>;
registerDevice(registration: AgrarmonitorDeviceRegistrationOptions): Promise<AgrarmonitorDeviceRegistrationResult>;
fetchCustomers(options?: AgrarmonitorFetchCustomersOptions): Promise<AgrarmonitorApiCustomer[]>;
eingangsrechnungenLivesearch(suchstring: string): Promise<EingangsrechnungLivesearchResult[]>;
eingangsrechnungVorhanden(suchstring: string): Promise<boolean>;
eingangsrechnungImDateieingangVorhanden(suchstring: string): Promise<boolean>;
getRechnungsdaten(rechnungId: number): Promise<Rechnungsdaten>;
setRechnungsdaten(rechnungId: number, daten: Rechnungsdaten): Promise<boolean>;
setLieferscheinNummer(rechnungId: number, nummer: string): Promise<void>;
setEingangsdatum(rechnungId: number, datum: Date): Promise<boolean>;
getCustomerById(id: number): Promise<AgrarmonitorApiCustomer>;
private createHttpClient;
private createApiHttpClient;
private apiRequest;
private performLogin;
private performAutoLogin;
private performAuthLogin;
@@ -30,6 +42,25 @@ export declare class AgrarmonitorConnector implements AgrarmonitorConnectorResul
private isSessionValid;
private isLoginRequiredResponse;
private retryAfterLogin;
private createDateienLivesearchParams;
private getEingangsrechnungEditMeta;
private getEingangsrechnungDetailMeta;
private formPostConfig;
private parseHtmlDocument;
private hasTableRows;
private inputValue;
private selectedNumberValue;
private parseNumber;
private parseGermanShortDate;
private requireDate;
private formatGermanShortDate;
private lastPathSegment;
private fileBasename;
private normalizeApiBaseUrl;
private isWrappedApiCustomer;
private isApiCustomer;
private parseGermanShortDateFromText;
private logDebug;
private getResponseUrl;
private getHeader;
private isFreischaltungUrl;