You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.0 KiB
JavaScript

1 year ago
// Strict Mode
"use strict";
// Imports
import cookie from "./cookie/cookie.js";
import jsonwebtoken from "./jsonwebtoken/jsonwebtoken.js";
// Key
const JsonwebtokenKey = process.env.JSON_WEB_TOKEN_KEY;
// Set User
async function setUser ( req, res, data ) {
cookie.set(req, res, "ShootyArenaUser", jsonwebtoken.set(data, JsonwebtokenKey), true);
};
// Get User
async function getUser ( req, res ) {
return new Promise (async (resolve) => {
try {
const userCookie = cookie.get(req, res, "ShootyArenaUser");
if (userCookie === undefined) {
setUser(req, res, "");
resolve("");
} else {
const user = await jsonwebtoken.get(userCookie, JsonwebtokenKey);
if (user === false || user.data === "") {
setUser(req, res, "");
resolve("");
} else {
setUser(req, res, user.data);
resolve(user.data);
};
};
} catch {
resolve("")
}
});
};
// Set Game
async function setGame ( req, res, data ) {
cookie.set(req, res, "ShootyArenaGame", data, false);
};
// Exports
module.exports = {
setUser,
getUser,
setGame
};