@accounter/server
Version:
20 lines (19 loc) • 1.7 kB
TypeScript
import { IGetChargesByIdsResult } from '../../charges/types.js';
import type { LedgerProto } from '../../../shared/types/index.js';
import type { IGetLedgerRecordsByChargesIdsResult, IInsertLedgerRecordsParams, IUpdateLedgerRecordParams } from '../types.js';
type LedgerRecordInput = IInsertLedgerRecordsParams['ledgerRecords'][number];
export declare function ledgerRecordsGenerationFullMatchComparison(storageRecords: IGetLedgerRecordsByChargesIdsResult[], newRecords: readonly IGetLedgerRecordsByChargesIdsResult[]): {
unmatchedStorageRecords: IGetLedgerRecordsByChargesIdsResult[];
unmatchedNewRecords: IGetLedgerRecordsByChargesIdsResult[];
fullMatches: Map<number, string | undefined>;
isFullyMatched: boolean;
};
export declare function ledgerRecordsGenerationPartialMatchComparison(storageRecords: IGetLedgerRecordsByChargesIdsResult[], newRecords: IGetLedgerRecordsByChargesIdsResult[]): {
toUpdate: IGetLedgerRecordsByChargesIdsResult[];
toRemove: IGetLedgerRecordsByChargesIdsResult[];
};
export declare function convertToStorageInputRecord(record: LedgerProto, context: GraphQLModules.Context): LedgerRecordInput;
export declare function convertLedgerRecordToProto(record: IGetLedgerRecordsByChargesIdsResult, context: GraphQLModules.Context): LedgerProto;
export declare function convertLedgerRecordToInput(record: IGetLedgerRecordsByChargesIdsResult, context: GraphQLModules.Context): LedgerRecordInput | IUpdateLedgerRecordParams;
export declare function storeInitialGeneratedRecords(charge: IGetChargesByIdsResult, records: LedgerProto[], context: GraphQLModules.Context): Promise<import("../types.js").IInsertLedgerRecordsResult[] | undefined>;
export {};