@accounter/server
Version:
Accounter GraphQL server
25 lines (24 loc) • 1.9 kB
TypeScript
import DataLoader from 'dataloader';
import { AdminContextProvider } from '../../admin-context/providers/admin-context.provider.js';
import { TenantAwareDBClient } from '../../app-providers/tenant-db-client.js';
import type { DateOrString, IAddBusinessTripAttendeesParams, IGetBusinessTripsAttendeesByBusinessTripIdsResult, IRemoveBusinessTripAttendeesParams, IUpdateBusinessTripAttendeeParams } from '../types.js';
import { BusinessTripsProvider } from './business-trips.provider.js';
export declare class BusinessTripAttendeesProvider {
private db;
private adminContextProvider;
private businessTripsProvider;
constructor(db: TenantAwareDBClient, adminContextProvider: AdminContextProvider, businessTripsProvider: BusinessTripsProvider);
private batchBusinessTripsAttendeesByChargeIds;
getBusinessTripsAttendeesByChargeIdLoader: DataLoader<string, IGetBusinessTripsAttendeesByBusinessTripIdsResult[], string>;
private batchBusinessTripsAttendeesByBusinessTripIds;
getBusinessTripsAttendeesByBusinessTripIdLoader: DataLoader<string, IGetBusinessTripsAttendeesByBusinessTripIdsResult[], string>;
getBusinessTripsByAttendeeId(attendeeId: string): Promise<import("../types.js").IGetBusinessTripsByAttendeeIdResult[]>;
getLastFlightByDateAndAttendeeId(params: {
attendeeBusinessId: string;
date: DateOrString;
}): Promise<import("../types.js").IGetLastFlightByDateAndAttendeeIdResult[]>;
addBusinessTripAttendees(params: IAddBusinessTripAttendeesParams): Promise<import("../types.js").IAddBusinessTripAttendeesResult[]>;
updateBusinessTripAttendee(params: IUpdateBusinessTripAttendeeParams): Promise<import("../types.js").IUpdateBusinessTripAttendeeResult[]>;
removeBusinessTripAttendees(params: IRemoveBusinessTripAttendeesParams): Promise<import("../types.js").IRemoveBusinessTripAttendeesResult[]>;
clearCache(): void;
}