evoleasing-account/actions/fileActions.js
2022-07-13 10:10:29 +03:00

198 lines
3.8 KiB
JavaScript

import axios from 'axios';
import { Cookies } from 'react-cookie';
import Router from 'next/router';
import moment from 'moment';
import fileDownload from 'js-file-download';
import * as actionTypes from '../constants/actionTypes';
if(process.browser)
{
FormData.prototype.appendObject = function(obj, namespace)
{
let keyName;
for (var key in obj)
{
if (obj.hasOwnProperty(key))
{
keyName = [namespace, '[', key, ']'].join('');
this.append(keyName, obj[key]);
}
}
};
}
export const getImage = async ({ id }) =>
{
console.log("getImage");
const response = await axios.get(`${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/file/image`, {
params: { id },
responseType: 'blob',
});
console.log("getImage", "response");
console.log(response);
return response;
}
export const getFile = ({ id, filename }) =>
{
console.log("getFile");
return new Promise((resolve, reject) =>
{
axios.get(`${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/file/download`, {
params: { id },
responseType: 'blob',
})
.then((response) =>
{
fileDownload(response.data, filename);
resolve();
})
.catch((error) =>
{
console.log("error");
console.error(error);
reject();
});
});
}
export const getPrintFile = ({ contract, num, type, date, filename }) =>
{
console.log("getFile");
return new Promise((resolve, reject) =>
{
axios.get(`${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/file/print-form`, {
params: { contract, num, type, date },
responseType: 'blob',
})
.then((response) =>
{
fileDownload(response.data, filename);
resolve();
})
.catch((error) =>
{
console.log("error");
console.error(error);
reject();
});
});
}
export const getFineBeforeAccrualFile = ({ contract, num, filename }) =>
{
console.log("getFile");
return new Promise((resolve, reject) =>
{
axios.get(`${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/file/fine-before-accrual`, {
params: { contract, num, },
responseType: 'blob',
})
.then((response) =>
{
fileDownload(response.data, filename);
resolve();
})
.catch((error) =>
{
console.log("error");
console.error(error);
reject();
});
});
}
export const getFineAfterAccrualFile = ({ contract, num, filename }) =>
{
console.log("getFile");
return new Promise((resolve, reject) =>
{
axios.get(`${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/file/fine-after-accrual`, {
params: { contract, num, },
responseType: 'blob',
})
.then((response) =>
{
fileDownload(response.data, filename);
resolve();
})
.catch((error) =>
{
console.log("error");
console.error(error);
reject();
});
});
}
export const getReconciliationFile = ({ contract, date_from, date_to, filename }) =>
{
console.log("getFile");
return new Promise((resolve, reject) =>
{
axios.get(`${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/file/reconciliation`, {
params: { contract, date_from, date_to, },
responseType: 'blob',
})
.then((response) =>
{
fileDownload(response.data, filename);
resolve();
})
.catch((error) =>
{
console.log("error");
console.error(error);
reject();
});
});
}
export const getBitrixFile = ({ url, filename }) =>
{
console.log("getFile");
return new Promise((resolve, reject) =>
{
axios.get(`${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/file/bitrix`, {
params: { url, },
responseType: 'blob',
})
.then((response) =>
{
fileDownload(response.data, filename);
resolve();
})
.catch((error) =>
{
console.log("error");
console.error(error);
reject();
});
/*
axios.get(`${ url }`, {
responseType: 'blob',
})
.then((response) =>
{
fileDownload(response.data, filename);
resolve();
})
.catch((error) =>
{
console.log("error");
console.error(error);
reject();
});
*/
});
}