chore: use axios for the download and typo

This commit is contained in:
Rafael 2024-12-20 14:02:06 +00:00
parent 908baa4fb0
commit c4d695934c
2 changed files with 28 additions and 12 deletions

View file

@ -72,8 +72,8 @@ function validateOfac (deviceId, sanctionsActive, customer) {
function validationPatch (deviceId, sanctionsActive, customer) {
return validateOfac(deviceId, sanctionsActive, customer)
.then(sactions =>
_.isNil(customer.sanctions) || customer.sanctions !== sactions ?
.then(sanctions =>
_.isNil(customer.sanctions) || customer.sanctions !== sanctions ?
{ sanctions } :
{}
)

View file

@ -1,5 +1,5 @@
const parser = require('./parsing')
const https = require('https')
const axios = require('axios')
const { createWriteStream } = require('fs')
const fs = require('fs/promises')
const { rename } = fs
@ -22,18 +22,34 @@ const mkdir = path =>
fs.mkdir(path)
.catch(err => err.code === 'EEXIST' ? Promise.resolve() : Promise.reject(err))
const newDownload = (dstDir, { name, url }) => {
return path.join('/tmp/', name + '.xml')
}
const download = (dstDir, { name, url }) => {
const dstFile = path.join(dstDir, name + '.xml')
const file = createWriteStream(dstFile)
const writer = createWriteStream(dstFile)
return new Promise((resolve, reject) => {
const request = https.get(url, response => {
response.pipe(file)
file.on('finish', () => file.close(() => resolve(dstFile)))
})
request.on('error', reject)
})
return axios({
method: 'get',
url: url,
responseType: 'stream',
}).then(response => {
return new Promise((resolve, reject) => {
response.data.pipe(writer);
let error = null;
writer.on('error', err => {
error = err;
writer.close();
reject(err);
});
writer.on('close', () => {
if (!error) {
resolve(dstFile);
}
});
});
});
}
const parseToJson = srcFile => {