82 lines
3.8 KiB
TypeScript
82 lines
3.8 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, 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[]>;
|
|
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
|