@accounter/server
Version:
Accounter GraphQL server
25 lines (24 loc) • 1.23 kB
TypeScript
import { Injector } from 'graphql-modules';
import type { IGetAllDocumentsResult } from '../types.js';
export declare function validateDocumentVat(document: IGetAllDocumentsResult, vatValue: number, onError: (message: string) => void, requireVat?: boolean): boolean;
export declare function validateDocumentAllocation(document: IGetAllDocumentsResult, injector: Injector): Promise<boolean>;
export declare function basicDocumentValidation(document: IGetAllDocumentsResult): boolean | "" | null;
/** result of a single validation check */
export type DocumentValidationCheck = {
isValid: boolean;
message: string | null;
};
/** aggregated validation info combining all document validations */
export type DocumentValidationInfo = {
documentId: string;
isValid: boolean;
issues: string[];
basicValidation: DocumentValidationCheck;
vatValidation: DocumentValidationCheck;
allocationValidation: DocumentValidationCheck;
};
/**
* Runs all document validations (basic required-fields, VAT and allocation) and
* combines them into a single informative response.
*/
export declare function getDocumentValidationInfo(document: IGetAllDocumentsResult, injector: Injector): Promise<DocumentValidationInfo>;