UNPKG

@openade/pel

Version:

Punto di Elaborazione (Elaboration Point) - Server library for managing PEMs and communicating with ADE

62 lines 2.37 kB
import type { DocumentoCommerciale, Journal } from '@openade/common'; export interface ConservationPackage { packageId: string; createdAt: string; type: 'DOCUMENTS' | 'JOURNALS' | 'DAILY_RECEIPTS' | 'MIXED'; periodFrom: string; periodTo: string; itemCount: number; sizeBytes: number; signed: boolean; timestamped: boolean; expiryDate: string; metadata?: Record<string, unknown>; } export interface ConservationItem { itemId: string; type: 'DOCUMENT' | 'JOURNAL' | 'DAILY_RECEIPTS' | 'METADATA' | 'OTHER'; filename: string; hash: string; sizeBytes: number; createdAt: string; documentRef?: string; } export interface ConservationFilter { packageType?: string; dateFrom?: string; dateTo?: string; emissionPointId?: string; itemType?: string; limit?: number; offset?: number; } export interface ConservationStats { totalPackages: number; totalItems: number; totalSizeBytes: number; oldestPackage?: string; newestPackage?: string; packagesByType: Record<string, number>; } export interface IConservation { createPackage(type: string, periodFrom: string, periodTo: string, metadata?: Record<string, any>): Promise<ConservationPackage>; addItem(packageId: string, item: ConservationItem, content: Uint8Array): Promise<void>; finalizePackage(packageId: string): Promise<void>; getPackage(packageId: string): Promise<ConservationPackage | null>; listPackages(filter?: ConservationFilter): Promise<ConservationPackage[]>; getItem(packageId: string, itemId: string): Promise<Uint8Array | null>; listItems(packageId: string): Promise<ConservationItem[]>; verifyPackage(packageId: string): Promise<boolean>; getStats(): Promise<ConservationStats>; exportPackage(packageId: string): Promise<Uint8Array>; deleteExpired(): Promise<number>; } export declare function conserveDocuments(conservation: IConservation, documents: Array<{ document: DocumentoCommerciale; hash: string; }>, periodFrom: string, periodTo: string): Promise<ConservationPackage>; export declare function conserveJournals(conservation: IConservation, journals: Array<{ journal: Journal; hash: string; }>, periodFrom: string, periodTo: string): Promise<ConservationPackage>; //# sourceMappingURL=conservation.interface.d.ts.map