219 lines
4.3 KiB
JavaScript
219 lines
4.3 KiB
JavaScript
import axios from 'axios';
|
|
import { Cookies } from 'react-cookie';
|
|
import Router from 'next/router';
|
|
import moment from 'moment';
|
|
import { nSQL } from "@nano-sql/core";
|
|
|
|
import * as actionTypes from '../constants/actionTypes';
|
|
import * as currentState from '../reducers/initialState';
|
|
|
|
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 getContract = ({ dispatch, number, }) =>
|
|
{
|
|
return new Promise((resolve, reject) =>
|
|
{
|
|
axios.post(`${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/contract`, {
|
|
number: number
|
|
},
|
|
{
|
|
withCredentials: true,
|
|
})
|
|
.then((response) =>
|
|
{
|
|
console.log("response.data");
|
|
console.log(response.data);
|
|
|
|
dispatch({ type: actionTypes.CONTRACT_PAYMENTS, data: { payments: response.data } });
|
|
|
|
resolve();
|
|
})
|
|
.catch((error) =>
|
|
{
|
|
console.error(error);
|
|
reject();
|
|
});
|
|
});
|
|
}
|
|
|
|
export const getContractInfo = ({ dispatch, number, }) =>
|
|
{
|
|
return new Promise((resolve, reject) =>
|
|
{
|
|
axios.post(`${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/contract/info`, {
|
|
number: number
|
|
},
|
|
{
|
|
withCredentials: true,
|
|
})
|
|
.then((response) =>
|
|
{
|
|
dispatch({ type: actionTypes.CONTRACT_DATE, data: { date: response.data.dl_date } });
|
|
|
|
resolve();
|
|
})
|
|
.catch((error) =>
|
|
{
|
|
console.error(error);
|
|
reject();
|
|
});
|
|
});
|
|
}
|
|
|
|
export const getContractInsurance = ({ dispatch, number, }) =>
|
|
{
|
|
return new Promise((resolve, reject) =>
|
|
{
|
|
axios.post(`${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/contract/insurance`, {
|
|
number: number
|
|
},
|
|
{
|
|
withCredentials: true,
|
|
})
|
|
.then((response) =>
|
|
{
|
|
dispatch({ type: actionTypes.CONTRACT_INSURANCE, data: { insurance: response.data } });
|
|
|
|
resolve();
|
|
})
|
|
.catch((error) =>
|
|
{
|
|
console.error(error);
|
|
reject();
|
|
});
|
|
});
|
|
}
|
|
|
|
export const getContractHelpCard = ({ dispatch, number, }) =>
|
|
{
|
|
return new Promise((resolve, reject) =>
|
|
{
|
|
axios.post(`${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/contract/helpcard`, {
|
|
number: number
|
|
},
|
|
{
|
|
withCredentials: true,
|
|
})
|
|
.then((response) =>
|
|
{
|
|
dispatch({ type: actionTypes.CONTRACT_HELPCARD, data: { helpcard: response.data } });
|
|
|
|
resolve();
|
|
})
|
|
.catch((error) =>
|
|
{
|
|
console.error(error);
|
|
reject();
|
|
});
|
|
});
|
|
}
|
|
|
|
export const getContractRegistration = ({ dispatch, number, }) =>
|
|
{
|
|
return new Promise((resolve, reject) =>
|
|
{
|
|
axios.post(`${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/contract/registration`, {
|
|
number: number
|
|
},
|
|
{
|
|
withCredentials: true,
|
|
})
|
|
.then((response) =>
|
|
{
|
|
dispatch({ type: actionTypes.CONTRACT_REGISTRATION, data: { registration: response.data } });
|
|
|
|
resolve();
|
|
})
|
|
.catch((error) =>
|
|
{
|
|
console.error(error);
|
|
reject();
|
|
});
|
|
});
|
|
}
|
|
|
|
export const getContractTelematic = ({ dispatch, number, }) =>
|
|
{
|
|
return new Promise((resolve, reject) =>
|
|
{
|
|
axios.post(`${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/contract/telematic`, {
|
|
number: number
|
|
},
|
|
{
|
|
withCredentials: true,
|
|
})
|
|
.then((response) =>
|
|
{
|
|
dispatch({ type: actionTypes.CONTRACT_TELEMATIC, data: { telematic: response.data } });
|
|
|
|
resolve();
|
|
})
|
|
.catch((error) =>
|
|
{
|
|
console.error(error);
|
|
reject();
|
|
});
|
|
});
|
|
}
|
|
|
|
export const getContractAgreement = ({ dispatch, number, }) =>
|
|
{
|
|
return new Promise((resolve, reject) =>
|
|
{
|
|
axios.post(`${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/contract/agreement`, {
|
|
number: number
|
|
},
|
|
{
|
|
withCredentials: true,
|
|
})
|
|
.then((response) =>
|
|
{
|
|
dispatch({ type: actionTypes.CONTRACT_AGREEMENT, data: { agreement: response.data } });
|
|
|
|
resolve();
|
|
})
|
|
.catch((error) =>
|
|
{
|
|
console.error(error);
|
|
reject();
|
|
});
|
|
});
|
|
}
|
|
|
|
export const getContractDocuments = ({ dispatch, number, }) =>
|
|
{
|
|
return new Promise((resolve, reject) =>
|
|
{
|
|
axios.post(`${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/contract/documents`, {
|
|
number: number
|
|
},
|
|
{
|
|
withCredentials: true,
|
|
})
|
|
.then((response) =>
|
|
{
|
|
dispatch({ type: actionTypes.CONTRACT_DOCUMENTS, data: { documents: response.data } });
|
|
|
|
resolve();
|
|
})
|
|
.catch((error) =>
|
|
{
|
|
console.error(error);
|
|
reject();
|
|
});
|
|
});
|
|
} |