UNPKG

@batlify/mscms2-api

Version:

MineStoreCMS v3 API package

58 lines (57 loc) 1.71 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const context_1 = __importDefault(require("../../core/context")); const login_1 = __importDefault(require("./classic/login")); class Auth extends context_1.default { constructor() { super(); this.authClassic = new login_1.default(); } /* * Check if user is logged in * @note Authorization isn't needed (obviously, it's login check) * @returns true | false */ async isLoggedIn() { const token = this.cookies.get('mscms_auth_token'); return !!token; } /* * Login user * @note Authorization isn't needed (obviously, it's login) * @param username User's username * @returns banned | success | failed * @throws Error */ async login(type, username) { if (type === 'classic') { if (!username) { throw new Error('Username is required'); } return await this.authClassic.login(username); } throw new Error('Unsupported login type'); } /* * Logout user * @note Authorization isn't needed, it's just cookies clear * @returns true | false */ async logout() { try { this.cookies.remove('mscms_auth_token'); this.cookies.remove('mscms_auth_username'); return true; } catch (e) { return false; } } async getUsername() { return this.cookies.get('mscms_auth_username'); } } exports.default = Auth;