Optimised request.js code
This commit is contained in:
parent
b229b6b3d5
commit
eeb3c70a10
@ -49,12 +49,9 @@ module.exports = function App(secret, DB) {
|
||||
next();
|
||||
})
|
||||
|
||||
//get code for login or signup
|
||||
//get code for login
|
||||
app.get('/get-login-code', Request.getLoginCode);
|
||||
|
||||
//signup request
|
||||
//app.post('/signup', Request.SignUp); Removing need for signup
|
||||
|
||||
//login request
|
||||
app.post('/login', Request.Login);
|
||||
|
||||
|
||||
@ -10,6 +10,24 @@ const {
|
||||
|
||||
var DB, assetList; //container for database and allowed assets
|
||||
|
||||
function login(floID, proxyKey) {
|
||||
return new Promise((resolve, reject) => {
|
||||
DB.query("INSERT INTO UserSession (floID, proxyKey) VALUE (?, ?) " +
|
||||
"ON DUPLICATE KEY UPDATE session_time=DEFAULT, proxyKey=?",
|
||||
[floID, proxyKey, proxyKey])
|
||||
.then(result => resolve("Login Successful"))
|
||||
.catch(error => reject(error))
|
||||
})
|
||||
}
|
||||
|
||||
function logout(floID) {
|
||||
return new Promise((resolve, reject) => {
|
||||
DB.query("DELETE FROM UserSession WHERE floID=?", [floID])
|
||||
.then(result => resolve("Logout successful"))
|
||||
.catch(error => reject(error))
|
||||
})
|
||||
}
|
||||
|
||||
const getAssetBalance = (floID, asset) => new Promise((resolve, reject) => {
|
||||
let promises = (asset === floGlobals.currency) ? [
|
||||
DB.query("SELECT SUM(balance) AS balance FROM Cash WHERE floID=?", [floID]),
|
||||
@ -516,6 +534,8 @@ function blockchainReCheck() {
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
login,
|
||||
logout,
|
||||
get rates() {
|
||||
return coupling.price.currentRates;
|
||||
},
|
||||
|
||||
604
src/request.js
604
src/request.js
@ -78,12 +78,211 @@ validateRequest.checkIfSignUsed = sign => new Promise((resolve, reject) => {
|
||||
}).catch(error => reject(error))
|
||||
});
|
||||
|
||||
function storeRequest(floID, req_str, sign, proxy = false) {
|
||||
function logRequest(floID, req_str, sign, proxy = false) {
|
||||
//console.debug(floID, req_str);
|
||||
DB.query("INSERT INTO RequestLog (floID, request, sign, proxy) VALUES (?,?,?, ?)", [floID, req_str, sign, proxy])
|
||||
.then(_ => null).catch(error => console.error(error));
|
||||
}
|
||||
|
||||
function processRequest(res, rText, validateObj, sign, floID, pubKey, marketFn) {
|
||||
validateRequest(validateObj, sign, floID, pubKey).then(req_str => {
|
||||
marketFn().then(result => {
|
||||
logRequest(data.floID, req_str, data.sign, !data.pubKey);
|
||||
res.send(result);
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send(rText + " failed! Try again later!");
|
||||
}
|
||||
})
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Request processing failed! Try again later!");
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/* User Requests */
|
||||
|
||||
function Account(req, res) {
|
||||
let data = req.body;
|
||||
validateRequest({
|
||||
type: "get_account",
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey).then(req_str => {
|
||||
market.getAccountDetails(data.floID).then(result => {
|
||||
result.sinkID = global.sinkID;
|
||||
if (trustedIDs.includes(data.floID))
|
||||
result.subAdmin = true;
|
||||
res.send(result);
|
||||
});
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Request processing failed! Try again later!");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function Login(req, res) {
|
||||
let data = req.body;
|
||||
if (!data.code || data.hash != Crypto.SHA1(data.code + secret))
|
||||
res.status(INVALID.e_code).send("Invalid Code");
|
||||
else if (!data.pubKey)
|
||||
res.status(INVALID.e_code).send("Public key missing");
|
||||
else
|
||||
processRequest(res, "Login", {
|
||||
type: "login",
|
||||
random: data.code,
|
||||
proxyKey: data.proxyKey,
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey,
|
||||
() => market.login(data.floID, data.proxyKey)
|
||||
);
|
||||
}
|
||||
|
||||
function Logout(req, res) {
|
||||
let data = req.body;
|
||||
processRequest(res, "Logout", {
|
||||
type: "logout",
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey,
|
||||
() => market.logout(data.floID)
|
||||
);
|
||||
}
|
||||
|
||||
function PlaceSellOrder(req, res) {
|
||||
let data = req.body;
|
||||
processRequest(res, "Sell order placement", {
|
||||
type: "sell_order",
|
||||
asset: data.asset,
|
||||
quantity: data.quantity,
|
||||
min_price: data.min_price,
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey,
|
||||
() => market.addSellOrder(data.floID, data.asset, data.quantity, data.min_price)
|
||||
);
|
||||
}
|
||||
|
||||
function PlaceBuyOrder(req, res) {
|
||||
let data = req.body;
|
||||
processRequest(res, "Buy order placement", {
|
||||
type: "buy_order",
|
||||
asset: data.asset,
|
||||
quantity: data.quantity,
|
||||
max_price: data.max_price,
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey,
|
||||
() => market.addBuyOrder(data.floID, data.asset, data.quantity, data.max_price)
|
||||
);
|
||||
}
|
||||
|
||||
function CancelOrder(req, res) {
|
||||
let data = req.body;
|
||||
processRequest(res, "Order cancellation", {
|
||||
type: "cancel_order",
|
||||
order: data.orderType,
|
||||
id: data.orderID,
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey,
|
||||
() => market.cancelOrder(data.orderType, data.orderID, data.floID)
|
||||
);
|
||||
}
|
||||
|
||||
function TransferToken(req, res) {
|
||||
let data = req.body;
|
||||
processRequest(res, "Token Transfer", {
|
||||
type: "transfer_token",
|
||||
receiver: JSON.stringify(data.receiver),
|
||||
token: data.token,
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey,
|
||||
() => market.transferToken(data.floID, data.receiver, data.token)
|
||||
);
|
||||
}
|
||||
|
||||
function DepositFLO(req, res) {
|
||||
let data = req.body;
|
||||
processRequest(res, "Deposit FLO", {
|
||||
type: "deposit_flo",
|
||||
txid: data.txid,
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey,
|
||||
() => market.depositFLO(data.floID, data.txid)
|
||||
);
|
||||
}
|
||||
|
||||
function WithdrawFLO(req, res) {
|
||||
let data = req.body;
|
||||
processRequest(res, "Withdraw FLO", {
|
||||
type: "withdraw_flo",
|
||||
amount: data.amount,
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey,
|
||||
() => market.withdrawFLO(data.floID, data.amount)
|
||||
);
|
||||
}
|
||||
|
||||
function DepositToken(req, res) {
|
||||
let data = req.body;
|
||||
processRequest(res, "Deposit Token", {
|
||||
type: "deposit_token",
|
||||
txid: data.txid,
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey,
|
||||
() => market.depositToken(data.floID, data.txid)
|
||||
);
|
||||
}
|
||||
|
||||
function WithdrawToken(req, res) {
|
||||
let data = req.body;
|
||||
processRequest(res, "Withdraw Token", {
|
||||
type: "withdraw_token",
|
||||
token: data.token,
|
||||
amount: data.amount,
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey,
|
||||
() => market.withdrawToken(data.floID, data.token, data.amount)
|
||||
);
|
||||
}
|
||||
|
||||
function addUserTag(req, res) {
|
||||
let data = req.body;
|
||||
if (!trustedIDs.includes(data.floID))
|
||||
res.status(INVALID.e_code).send("Access Denied");
|
||||
else processRequest(res, "Add user-tag", {
|
||||
type: "add_tag",
|
||||
user: data.user,
|
||||
tag: data.tag,
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey,
|
||||
() => market.group.addTag(data.user, data.tag)
|
||||
);
|
||||
}
|
||||
|
||||
function removeUserTag(req, res) {
|
||||
let data = req.body;
|
||||
if (!trustedIDs.includes(data.floID))
|
||||
res.status(INVALID.e_code).send("Access Denied");
|
||||
else processRequest(res, "Remove user-tag", {
|
||||
type: "remove_tag",
|
||||
user: data.user,
|
||||
tag: data.tag,
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey,
|
||||
() => market.group.removeTag(data.user, data.tag)
|
||||
);
|
||||
}
|
||||
|
||||
/* Public Requests */
|
||||
|
||||
function getLoginCode(req, res) {
|
||||
if (!serving)
|
||||
return res.status(INVALID.e_code).send(INVALID_SERVER_MSG);
|
||||
@ -95,211 +294,6 @@ function getLoginCode(req, res) {
|
||||
});
|
||||
}
|
||||
|
||||
/*
|
||||
function SignUp(req, res) {
|
||||
if (!serving)
|
||||
return res.status(INVALID.e_code).send(INVALID_SERVER_MSG);
|
||||
let data = req.body;
|
||||
if (floCrypto.getFloID(data.pubKey) !== data.floID)
|
||||
return res.status(INVALID.e_code).send("Invalid Public Key");
|
||||
if (!data.code || data.hash != Crypto.SHA1(data.code + secret))
|
||||
return res.status(INVALID.e_code).send("Invalid Code");
|
||||
let req_str = validateRequest_X({
|
||||
type: "create_account",
|
||||
random: data.code,
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.pubKey);
|
||||
if (req_str instanceof INVALID)
|
||||
return res.status(INVALID.e_code).send(req_str.message);
|
||||
let txQueries = [];
|
||||
txQueries.push(["INSERT INTO Users(floID, pubKey) VALUES (?, ?)", [data.floID, data.pubKey]]);
|
||||
txQueries.push(["INSERT INTO Cash (floID) Values (?)", [data.floID]]);
|
||||
DB.transaction(txQueries).then(_ => {
|
||||
storeRequest(data.floID, req_str, data.sign);
|
||||
res.send("Account Created");
|
||||
}).catch(error => {
|
||||
if (error.code === "ER_DUP_ENTRY")
|
||||
res.status(INVALID.e_code).send("Account already exist");
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Account creation failed! Try Again Later!");
|
||||
}
|
||||
});
|
||||
}
|
||||
*/
|
||||
|
||||
function Login(req, res) {
|
||||
let data = req.body;
|
||||
if (!data.code || data.hash != Crypto.SHA1(data.code + secret))
|
||||
return res.status(INVALID.e_code).send("Invalid Code");
|
||||
if (!data.pubKey)
|
||||
return res.status(INVALID.e_code).send("Public key missing");
|
||||
validateRequest({
|
||||
type: "login",
|
||||
random: data.code,
|
||||
proxyKey: data.proxyKey,
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey).then(req_str => {
|
||||
DB.query("INSERT INTO UserSession (floID, proxyKey) VALUE (?, ?) " +
|
||||
"ON DUPLICATE KEY UPDATE session_time=DEFAULT, proxyKey=?",
|
||||
[data.floID, data.proxyKey, data.proxyKey]).then(_ => {
|
||||
storeRequest(data.floID, req_str, data.sign);
|
||||
res.send("Login Successful");
|
||||
}).catch(error => {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Login failed! Try again later!");
|
||||
});
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Login failed! Try again later!");
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function Logout(req, res) {
|
||||
let data = req.body;
|
||||
validateRequest({
|
||||
type: "logout",
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey).then(req_str => {
|
||||
DB.query("DELETE FROM UserSession WHERE floID=?", [data.floID]).then(_ => {
|
||||
storeRequest(data.floID, req_str, data.sign, !data.pubKey);
|
||||
res.send('Logout successful');
|
||||
}).catch(error => {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Logout failed! Try again later! Contact support if this error occurs frequently");
|
||||
});
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Request processing failed! Try again later!");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function PlaceSellOrder(req, res) {
|
||||
let data = req.body;
|
||||
validateRequest({
|
||||
type: "sell_order",
|
||||
asset: data.asset,
|
||||
quantity: data.quantity,
|
||||
min_price: data.min_price,
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey).then(req_str => {
|
||||
market.addSellOrder(data.floID, data.asset, data.quantity, data.min_price).then(result => {
|
||||
storeRequest(data.floID, req_str, data.sign, !data.pubKey);
|
||||
res.send(result);
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Order placement failed! Try again later!");
|
||||
}
|
||||
});
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Request processing failed! Try again later!");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function PlaceBuyOrder(req, res) {
|
||||
let data = req.body;
|
||||
validateRequest({
|
||||
type: "buy_order",
|
||||
asset: data.asset,
|
||||
quantity: data.quantity,
|
||||
max_price: data.max_price,
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey).then(req_str => {
|
||||
market.addBuyOrder(data.floID, data.asset, data.quantity, data.max_price).then(result => {
|
||||
storeRequest(data.floID, req_str, data.sign, !data.pubKey);
|
||||
res.send(result);
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Order placement failed! Try again later!");
|
||||
}
|
||||
});
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Request processing failed! Try again later!");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function CancelOrder(req, res) {
|
||||
let data = req.body;
|
||||
validateRequest({
|
||||
type: "cancel_order",
|
||||
order: data.orderType,
|
||||
id: data.orderID,
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey).then(req_str => {
|
||||
market.cancelOrder(data.orderType, data.orderID, data.floID).then(result => {
|
||||
storeRequest(data.floID, req_str, data.sign, !data.pubKey);
|
||||
res.send(result);
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Order cancellation failed! Try again later!");
|
||||
}
|
||||
});
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Request processing failed! Try again later!");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function TransferToken(req, res) {
|
||||
let data = req.body;
|
||||
validateRequest({
|
||||
type: "transfer_token",
|
||||
receiver: JSON.stringify(data.receiver),
|
||||
token: data.token,
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey).then(req_str => {
|
||||
market.transferToken(data.floID, data.receiver, data.token).then(result => {
|
||||
storeRequest(data.floID, req_str, data.sign, !data.pubKey);
|
||||
res.send(result);
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Token Transfer failed! Try again later!");
|
||||
}
|
||||
});
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Request processing failed! Try again later!");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function ListSellOrders(req, res) {
|
||||
//TODO: Limit size (best)
|
||||
DB.query("SELECT * FROM SellOrder ORDER BY time_placed")
|
||||
@ -358,206 +352,8 @@ function getTransaction(req, res) {
|
||||
}
|
||||
}
|
||||
|
||||
function Account(req, res) {
|
||||
let data = req.body;
|
||||
validateRequest({
|
||||
type: "get_account",
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey).then(req_str => {
|
||||
market.getAccountDetails(data.floID).then(result => {
|
||||
result.sinkID = global.sinkID;
|
||||
if (trustedIDs.includes(data.floID))
|
||||
result.subAdmin = true;
|
||||
res.send(result);
|
||||
});
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Request processing failed! Try again later!");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function DepositFLO(req, res) {
|
||||
let data = req.body;
|
||||
validateRequest({
|
||||
type: "deposit_flo",
|
||||
txid: data.txid,
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey).then(req_str => {
|
||||
market.depositFLO(data.floID, data.txid).then(result => {
|
||||
storeRequest(data.floID, req_str, data.sign, !data.pubKey);
|
||||
res.send(result);
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Request processing failed! Try again later!");
|
||||
}
|
||||
});
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Request processing failed! Try again later!");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function WithdrawFLO(req, res) {
|
||||
let data = req.body;
|
||||
validateRequest({
|
||||
type: "withdraw_flo",
|
||||
amount: data.amount,
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey).then(req_str => {
|
||||
market.withdrawFLO(data.floID, data.amount).then(result => {
|
||||
storeRequest(data.floID, req_str, data.sign, !data.pubKey);
|
||||
res.send(result);
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Request processing failed! Try again later!");
|
||||
}
|
||||
});
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Request processing failed! Try again later!");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function DepositToken(req, res) {
|
||||
let data = req.body;
|
||||
validateRequest({
|
||||
type: "deposit_token",
|
||||
txid: data.txid,
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey).then(req_str => {
|
||||
market.depositToken(data.floID, data.txid).then(result => {
|
||||
storeRequest(data.floID, req_str, data.sign, !data.pubKey);
|
||||
res.send(result);
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Request processing failed! Try again later!");
|
||||
}
|
||||
});
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Request processing failed! Try again later!");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function WithdrawToken(req, res) {
|
||||
let data = req.body;
|
||||
validateRequest({
|
||||
type: "withdraw_token",
|
||||
token: data.token,
|
||||
amount: data.amount,
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey).then(req_str => {
|
||||
market.withdrawToken(data.floID, data.token, data.amount).then(result => {
|
||||
storeRequest(data.floID, req_str, data.sign, !data.pubKey);
|
||||
res.send(result);
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Request processing failed! Try again later!");
|
||||
}
|
||||
});
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Request processing failed! Try again later!");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function addUserTag(req, res) {
|
||||
let data = req.body;
|
||||
if (!trustedIDs.includes(data.floID))
|
||||
res.status(INVALID.e_code).send("Access Denied");
|
||||
else validateRequest({
|
||||
type: "add_tag",
|
||||
user: data.user,
|
||||
tag: data.tag,
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey).then(req_str => {
|
||||
market.group.addTag(data.user, data.tag).then(result => {
|
||||
storeRequest(data.floID, req_str, data.sign, !data.pubKey);
|
||||
res.send(result);
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Request processing failed! Try again later!");
|
||||
}
|
||||
});
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Request processing failed! Try again later!");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function removeUserTag(req, res) {
|
||||
let data = req.body;
|
||||
if (!trustedIDs.includes(data.floID))
|
||||
res.status(INVALID.e_code).send("Access Denied");
|
||||
else validateRequest({
|
||||
type: "remove_tag",
|
||||
user: data.user,
|
||||
tag: data.tag,
|
||||
timestamp: data.timestamp
|
||||
}, data.sign, data.floID, data.pubKey).then(req_str => {
|
||||
market.group.removeTag(data.user, data.tag).then(result => {
|
||||
storeRequest(data.floID, req_str, data.sign, !data.pubKey);
|
||||
res.send(result);
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Request processing failed! Try again later!");
|
||||
}
|
||||
});
|
||||
}).catch(error => {
|
||||
if (error instanceof INVALID)
|
||||
res.status(INVALID.e_code).send(error.message);
|
||||
else {
|
||||
console.error(error);
|
||||
res.status(INTERNAL.e_code).send("Request processing failed! Try again later!");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getLoginCode,
|
||||
//SignUp,
|
||||
Login,
|
||||
Logout,
|
||||
PlaceBuyOrder,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user