1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- import io from "../io";
- // when Vuex needs to interact with socket.io
- export default {
- register(user) {
- return new Promise((resolve, reject) => {
- const { username, email, password, recaptchaToken } = user;
- io.getSocket(socket => {
- socket.emit(
- "users.register",
- username,
- email,
- password,
- recaptchaToken,
- res => {
- if (res.status === "success") {
- if (res.SID) {
- return lofig.get("cookie", cookie => {
- const date = new Date();
- date.setTime(
- new Date().getTime() +
- 2 * 365 * 24 * 60 * 60 * 1000
- );
- const secure = cookie.secure
- ? "secure=true; "
- : "";
- document.cookie = `SID=${
- res.SID
- }; expires=${date.toGMTString()}; domain=${
- cookie.domain
- }; ${secure}path=/`;
- return resolve({ status: "success" });
- });
- }
- return reject({
- status: "error",
- message: "You must login"
- });
- }
- return reject({
- status: "error",
- message: res.message
- });
- }
- );
- });
- });
- },
- login(user) {
- return new Promise((resolve, reject) => {
- const { email, password } = user;
- io.getSocket(socket => {
- socket.emit("users.login", email, password, res => {
- if (res.status === "success") {
- return lofig.get("cookie", cookie => {
- const date = new Date();
- date.setTime(
- new Date().getTime() +
- 2 * 365 * 24 * 60 * 60 * 1000
- );
- const secure = cookie.secure ? "secure=true; " : "";
- let domain = "";
- if (cookie.domain !== "localhost")
- domain = ` domain=${cookie.domain};`;
- document.cookie = `SID=${
- res.SID
- }; expires=${date.toGMTString()}; ${domain}${secure}path=/`;
- return resolve({ status: "success" });
- });
- }
- return reject({
- status: "error",
- message: res.message
- });
- });
- });
- });
- }
- };
|