@batlify/mscms2-api
Version:
MineStoreCMS v3 API package
58 lines (57 loc) • 1.71 kB
JavaScript
;
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;