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(); }); */ }); }