Files
jlinc-sdk-node/dist/agreement.js
T
2026-10-23 18:49:11 +00:00

37 lines
1.4 KiB
JavaScript

"use strict";
const axios = require('axios');
const { getConfig, getDefault } = require('./config.js');
function _getUrl(path) {
const cfg = getConfig();
return `${cfg.apiUrl}${path}`;
}
function _headers(token) {
return {
'Authorization': `Bearer ${token || getConfig().apiKey}`,
};
}
async function produceAgreement({ data, shortName, role, archive }) {
const cfg = getConfig();
const defaultArchive = { url: cfg.archiveUrl, key: cfg.archiveKey };
return (await axios.post(_getUrl('/api/v1/data/agreement/produce'), {
data,
shortName,
role,
archive: archive || defaultArchive,
}, { headers: _headers() })).data;
}
async function processAgreement({ agreementId, shortName, role, archive }) {
const cfg = getConfig();
const defaultArchive = { url: cfg.archiveUrl, key: cfg.archiveKey };
return (await axios.post(_getUrl('/api/v1/data/agreement/process'), {
agreementId: agreementId || getDefault('agreementId'),
shortName,
role,
archive: archive || defaultArchive,
}, { headers: _headers() })).data;
}
async function getAgreement({ agreementId, includeSignatures }) {
return (await axios.post(_getUrl('/api/v1/data/agreement/get'), { agreementId: agreementId || getDefault('agreementId'), includeSignatures }, { headers: _headers() })).data;
}
module.exports = { produceAgreement, processAgreement, getAgreement };