mirror of
https://gitlab.com/nekoya/web.git
synced 2024-12-23 06:50:30 +01:00
134 lines
No EOL
3 KiB
JavaScript
134 lines
No EOL
3 KiB
JavaScript
const axios = require("axios");
|
|
|
|
let config;
|
|
try {
|
|
config = require("../config");
|
|
} catch (e) {
|
|
console.log("No config file found");
|
|
process.exit(0);
|
|
}
|
|
|
|
const HOST = config.host + "/api";
|
|
|
|
function getProducts() {
|
|
return axios
|
|
.get(HOST + "/getproducts")
|
|
.then((response) => response.data)
|
|
.catch((error) => console.log(error));
|
|
}
|
|
|
|
function getProduct(id) {
|
|
return axios
|
|
.get(HOST + "/getproduct", {
|
|
params: {
|
|
id: id
|
|
}
|
|
})
|
|
.then((response) => response.data)
|
|
.catch((error) => console.log(error));
|
|
}
|
|
|
|
function register(email, password, first_name, last_name) {
|
|
let params = new URLSearchParams({
|
|
email: email,
|
|
password: password,
|
|
first_name: first_name,
|
|
last_name: last_name,
|
|
});
|
|
const conf = {
|
|
headers: {
|
|
"Content-Type": "application/x-www-form-urlencoded",
|
|
},
|
|
};
|
|
return axios
|
|
.post(HOST + "/register", params, conf)
|
|
.then((response) => response.status)
|
|
.catch((error) => [error.status, []]);
|
|
}
|
|
|
|
function login(email, password, ua, ip) {
|
|
let params = new URLSearchParams({
|
|
email: email,
|
|
password: password,
|
|
ua: ua,
|
|
ip: ip,
|
|
});
|
|
const conf = {
|
|
headers: {
|
|
"Content-Type": "application/x-www-form-urlencoded",
|
|
},
|
|
};
|
|
return axios
|
|
.post(HOST + "/login", params, conf)
|
|
.then((response) => [response.status, response.data])
|
|
.catch((error) => [error.status, []]);
|
|
}
|
|
|
|
function verify_mail(token) {
|
|
let params = new URLSearchParams({
|
|
token: token,
|
|
});
|
|
const conf = {
|
|
headers: {
|
|
"Content-Type": "application/x-www-form-urlencoded",
|
|
},
|
|
};
|
|
return axios
|
|
.post(HOST + "/verify-mail", params, conf)
|
|
.then((response) => [response.status, response.data])
|
|
.catch((error) => [error.status, []]);
|
|
}
|
|
|
|
function checkout(
|
|
firstName,
|
|
lastName,
|
|
phoneNumber,
|
|
streetAddress1,
|
|
streetAddress2,
|
|
region,
|
|
province,
|
|
city,
|
|
district,
|
|
subDistrict,
|
|
postalCode,
|
|
logistic,
|
|
data,
|
|
key
|
|
) {
|
|
let params = new URLSearchParams({
|
|
firstName: firstName,
|
|
lastName: lastName,
|
|
phoneNumber: phoneNumber,
|
|
streetAddress1: streetAddress1,
|
|
streetAddress2: streetAddress2,
|
|
region: region,
|
|
province: province,
|
|
city: city,
|
|
district: district,
|
|
subDistrict: subDistrict,
|
|
postalCode: postalCode,
|
|
logistic: logistic,
|
|
data: data,
|
|
});
|
|
const conf = {
|
|
headers: {
|
|
"Content-Type": "application/x-www-form-urlencoded",
|
|
},
|
|
params: {
|
|
key: key,
|
|
}
|
|
};
|
|
return axios
|
|
.post(HOST + "/checkout", params, conf)
|
|
.then((response) => [response.status, response.data])
|
|
.catch((error) => [error.status, []]);
|
|
}
|
|
|
|
module.exports = {
|
|
getProducts,
|
|
getProduct,
|
|
register,
|
|
login,
|
|
verify_mail,
|
|
checkout
|
|
}; |