@openade/pel
Version:
Punto di Elaborazione (Elaboration Point) - Server library for managing PEMs and communicating with ADE
44 lines • 1.86 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.conserveDocuments = conserveDocuments;
exports.conserveJournals = conserveJournals;
async function conserveDocuments(conservation, documents, periodFrom, periodTo) {
const pkg = await conservation.createPackage('DOCUMENTS', periodFrom, periodTo, {
documentCount: documents.length,
});
for (const { document, hash } of documents) {
const content = new TextEncoder().encode(JSON.stringify(document));
const item = {
itemId: `DOC_${document.datiGenerali.numero}`,
type: 'DOCUMENT',
filename: `${document.datiGenerali.numero}.json`,
hash,
sizeBytes: content.length,
createdAt: document.datiGenerali.dataOra,
documentRef: document.datiGenerali.numero,
};
await conservation.addItem(pkg.packageId, item, content);
}
await conservation.finalizePackage(pkg.packageId);
return pkg;
}
async function conserveJournals(conservation, journals, periodFrom, periodTo) {
const pkg = await conservation.createPackage('JOURNALS', periodFrom, periodTo, {
journalCount: journals.length,
});
for (const { journal, hash } of journals) {
const content = new TextEncoder().encode(JSON.stringify(journal));
const item = {
itemId: `JOURNAL_${journal.identificativoPEM}_${journal.dataRiferimento}`,
type: 'JOURNAL',
filename: `journal_${journal.dataRiferimento}.json`,
hash,
sizeBytes: content.length,
createdAt: journal.dataOraGenerazione,
};
await conservation.addItem(pkg.packageId, item, content);
}
await conservation.finalizePackage(pkg.packageId);
return pkg;
}
//# sourceMappingURL=conservation.interface.js.map