@stackend/api
Version:
JS bindings to api.stackend.com
35 lines • 1.6 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.loginReducer = exports.REQUEST_LOGIN_DATA = exports.UPDATE_LOGIN_DATA = exports.LOGOUT = exports.LOGIN = void 0;
var get_1 = __importDefault(require("lodash/get"));
var AccessToken_1 = require("../api/AccessToken");
exports.LOGIN = 'LOGIN';
exports.LOGOUT = 'LOGOUT';
exports.UPDATE_LOGIN_DATA = 'UPDATE_LOGIN_DATA';
exports.REQUEST_LOGIN_DATA = 'REQUEST_LOGIN_DATA';
var loginReducer = function (state, action) {
if (state === void 0) { state = { isLoggedIn: false, lastUpdated: 0, user: null }; }
var now = new Date().getTime();
switch (action.type) {
case exports.LOGIN:
return Object.assign({}, state, { isLoggedIn: true, lastUpdated: now });
case exports.LOGOUT:
(0, AccessToken_1.clearPersistentData)();
return Object.assign({}, state, { isLoggedIn: false, lastUpdated: now });
case exports.REQUEST_LOGIN_DATA:
return state;
case exports.UPDATE_LOGIN_DATA:
if ((0, get_1.default)(action, 'json.user')) {
return Object.assign({}, { isLoggedIn: true, lastUpdate: now }, action.json);
}
return Object.assign({}, state, { isLoggedIn: false, lastUpdated: now });
default:
return state;
}
};
exports.loginReducer = loginReducer;
exports.default = exports.loginReducer;
//# sourceMappingURL=loginReducer.js.map