summaryrefslogtreecommitdiffstats
path: root/front/odiparpack/app/utils/odipar/api.js
blob: ea5e6175bc15512504a7d504eef534caf129bc55 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
import Axios from 'axios'
import {apiUrl} from './constants';
import qs from "query-string";
import { openSuccessMessage, openErrorMessage } from 'ba-actions/message';

export function getHeaders() {
	let session = getSession();
	return {
		//Authorization: `Token ${(session && session.accessToken) || null}`
	}
}


export function getSession() {
	if (window && window.localStorage) {
		return window.localStorage.getObject('session');
	}

	return null;
}

export function saveSession(value) {
	if (window && window.localStorage) {
		return window.localStorage.saveObject('session', value);
	}

	return null;
}

export function apiReq(endPoint, data, method, headers, requestOptions = {}) {
	return new Promise((res, rej) => {

		headers = {
			...headers
		}
		if (method === 'get' || method === 'delete') {
			data = {
				...requestOptions,
				params: data,
				paramsSerializer: function (params) {
					return qs.stringify(params, { arrayFormat: 'repeat' })
				},
				headers
			}
		}

		Axios[method](endPoint, data, { headers }).then((result) => {
			let { data } = result;
			console.log("aca en la promesa ps")
			if (data.status === false) {
				return rej(data);
			}

			return res(data);
		}).catch((err) => {
			return rej(err);
		});
	})
}

export function generateUrl(path) {
    return apiUrl + path;
}

export function apiPost(endPoint, data, headers = {}) {
	return apiReq(generateUrl(endPoint), data, 'post', headers);
}

export function apiDelete(endPoint, data, headers = {}) {
	return apiReq(generateUrl(endPoint), data, 'delete', headers);
}

export function apiGet(endPoint, data, headers = {}, requestOptions) {
    return apiReq(generateUrl(endPoint), data, 'get', headers, requestOptions);
}

export function apiPut(endPoint, data, headers = {}) {
	return apiReq(generateUrl(endPoint), data, 'put', headers);
}


export function addMessageCurry(promise, dispatch, errorMsg = '', successMsg = '', showError = true) {
	return new Promise(
		(resolve, reject) => {

			promise
				.then(response => {

					if (successMsg) {
						console.log("mensajitooooo=?????")
						dispatch(
							openSuccessMessage(successMsg)
						)
					}

					resolve(response)
				})
				.catch(
					err => {
						if(showError) {
							 dispatch(
								openErrorMessage(errorMsg || ((err.response && err.response.data.message) || 'Server encountered an error'))
							)
						}

						reject(err)
					}
				)

		}
	)

}