Files
AgrarmonitorConnector/dist/AgrarmonitorConnector.d.ts
T

83 lines
3.9 KiB
TypeScript

import { type AxiosInstance } from 'axios';
import type { AgrarmonitorApiCustomer, AgrarmonitorConnectorOptions, AgrarmonitorConnectorResult, AgrarmonitorDeviceRegistrationOptions, AgrarmonitorDeviceRegistrationResult, AgrarmonitorFetchCustomersOptions, AgrarmonitorFreischaltungStatus, AgrarmonitorKunde2, AgrarmonitorRegistrierungStatus, Artikel, ArtikelEinheit, ArtikelKategorie, EingangsrechnungLivesearchResult, Firma, Maschine, MaschinenKategorie, Mitarbeiter, 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;
private readonly autoLogin;
private readonly autoRetry;
private readonly loginStrategy;
private readonly logger?;
private cookieJar;
private apiHttp;
private loginInProgress;
constructor(options: AgrarmonitorConnectorOptions);
init(): Promise<this>;
login(): Promise<void>;
clearSession(): Promise<void>;
saveSession(): Promise<void>;
getCookieCount(url?: string): Promise<number>;
checkFreigeschaltet(): Promise<AgrarmonitorFreischaltungStatus>;
checkRegistriert(): Promise<AgrarmonitorRegistrierungStatus>;
registerDevice(registration: AgrarmonitorDeviceRegistrationOptions): Promise<AgrarmonitorDeviceRegistrationResult>;
fetchCustomers(options?: AgrarmonitorFetchCustomersOptions): Promise<AgrarmonitorApiCustomer[]>;
getKunden2(options?: AgrarmonitorFetchCustomersOptions): Promise<AgrarmonitorKunde2[]>;
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>;
getMaschinenKategorien(): Promise<MaschinenKategorie[]>;
getMaschinen(gruppenId: number, suchstring?: string): Promise<Maschine[]>;
getFirmen(): Promise<Firma[]>;
getArtikelEinheiten(): Promise<ArtikelEinheit[]>;
getArtikelKategorien(): Promise<ArtikelKategorie[]>;
getArtikel(artikelGruppe: number, suchstring?: string): Promise<Artikel[]>;
getMitarbeiter(suchstring?: string, mitarbeitergruppe?: number): Promise<Mitarbeiter[]>;
private createHttpClient;
private createApiHttpClient;
private apiRequest;
private fetchAllCustomers;
private mapKunde2;
private performLogin;
private performRedirectLogin;
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 parsePositiveNumber;
private toStringValue;
private toBoolean;
private parseJaNein;
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;
private isLoginPageText;
private extractNonce;
private maskNonce;
}
//# sourceMappingURL=AgrarmonitorConnector.d.ts.map