UNPKG

silvie

Version:

Typescript Back-end Framework

60 lines (56 loc) 2.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _drivers = _interopRequireDefault(require("./driver/drivers")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; } function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } const config = process.configs.auth; class Auth { constructor(payload, token, user) { _defineProperty(this, "token", void 0); _defineProperty(this, "payload", void 0); _defineProperty(this, "user", void 0); this.token = token; this.payload = payload; this.user = user; } static init() { if (config.driver in _drivers.default && config.driver in config) { this.driver = new _drivers.default[config.driver](config[config.driver]); } } /** * Generates a token for the given payload * @param payload */ static login(payload) { const token = this.driver.generate(payload); if (token) { return new Auth(payload, token); } return null; } /** * Checks a token to see if it is valid or not * @param token */ static check(token) { const payload = this.driver.validate(token); if (payload) { return new Auth(payload, token); } return null; } /** * Invalidates the current auth instance */ logout() { return Auth.driver.invalidate(this.token); } } _defineProperty(Auth, "driver", void 0); var _default = exports.default = Auth;