72 lines
1.5 KiB
JavaScript
72 lines
1.5 KiB
JavaScript
import CONFIG from "./config.js";
|
|
import UTILS from "./background_utils.js";
|
|
|
|
const API = {
|
|
_get: async function (url, payload, token = null) {
|
|
try {
|
|
const headers = {
|
|
"Content-Type": "application/json",
|
|
}
|
|
|
|
if (token) {
|
|
headers['Authorization'] = `Bearer ${token}`
|
|
}
|
|
|
|
if (payload) {
|
|
url += '?' + new URLSearchParams(payload).toString();
|
|
}
|
|
|
|
const response = await fetch(url, {
|
|
headers
|
|
});
|
|
|
|
if (!response.ok) {
|
|
return false;
|
|
} else {
|
|
return await response.json();
|
|
}
|
|
} catch (error) {
|
|
console.error("background_api: _get", error);
|
|
return false;
|
|
}
|
|
},
|
|
|
|
_post: async function (url, payload, token = null) {
|
|
try {
|
|
const headers = {
|
|
"Content-Type": "application/json",
|
|
}
|
|
|
|
if (token) {
|
|
headers['Authorization'] = `Bearer ${token}`
|
|
}
|
|
|
|
const response = await fetch(url, {
|
|
method: "POST",
|
|
body: JSON.stringify(payload),
|
|
headers
|
|
});
|
|
|
|
if (!response.ok) {
|
|
return false;
|
|
} else {
|
|
return await response.json();
|
|
}
|
|
} catch (error) {
|
|
console.error("background_api: _post", error);
|
|
return false;
|
|
}
|
|
},
|
|
|
|
// TODO examle
|
|
example: async function(buyer_id) {
|
|
const env = await UTILS.getStorage('env') ?? 'dev'
|
|
const url = CONFIG._ENV[env][url]
|
|
return await this._get(url, null, {
|
|
request
|
|
});
|
|
}
|
|
};
|
|
|
|
export default API;
|