UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

146 lines (114 loc) 5.08 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.action_login = action_login; exports.action_reset_password = action_reset_password; exports.action_logout = action_logout; exports.try_logging_in = try_logging_in; exports.action_redirect_if_not_logged_in = action_redirect_if_not_logged_in; exports.action_update_password = action_update_password; exports.action_check_reset_password_token = action_check_reset_password_token; exports.action_accept_invitation = action_accept_invitation; exports.action_check_invitation_token = action_check_invitation_token; exports.action_get_public_profile = action_get_public_profile; var _reactRouter = require('react-router'); var _jsCookie = require('js-cookie'); var _jsCookie2 = _interopRequireDefault(_jsCookie); var _store = require('common/store'); var _store2 = _interopRequireDefault(_store); var _request = require('common/request'); var _request2 = _interopRequireDefault(_request); var _utilities = require('common/utilities'); var _authentication = require('actions/authentication'); var _authentication2 = require('selectors/authentication'); var _display = require('actions/display'); var _init = require('common/init'); var _init2 = _interopRequireDefault(_init); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function action_redirect_after_login() { var _store$getState = _store2.default.getState(), path = _store$getState.authentication.redirect_to_after_login; _reactRouter.browserHistory.push(path); _store2.default.dispatch((0, _authentication.redirect_to_after_login)('/')); } function action_login_with_token(token) { _store2.default.dispatch((0, _authentication.login)(token)); (0, _init2.default)(); } function action_login(email, password) { return _request2.default.post('recruiter_token', { auth: { email: email, password: password } }).then(function (_ref) { var token = _ref.jwt; _jsCookie2.default.set('jwt', token, { expires: 366 * 20 }); // cookie expires in 20 years action_login_with_token(token); action_redirect_after_login(); }).catch(function () { return _store2.default.dispatch((0, _display.alert_info)("Mot de passe incorrect")); }); } function action_reset_password(email) { return _request2.default.post('recruiters/reset_password', { email: email }).then(function () { return _store2.default.dispatch((0, _display.alert_info)("Mail de récupération de mot de passe envoyé")); }); } function action_logout() { var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, _ref2$redirect_after_ = _ref2.redirect_after_logout, redirect_after_logout = _ref2$redirect_after_ === undefined ? true : _ref2$redirect_after_; _jsCookie2.default.remove('jwt'); _store2.default.dispatch((0, _authentication.logout)()); if (redirect_after_logout) { _reactRouter.browserHistory.push('/login'); } } function is_logged_in() { var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, _ref3$login_if_not_lo = _ref3.login_if_not_logged_in, login_if_not_logged_in = _ref3$login_if_not_lo === undefined ? true : _ref3$login_if_not_lo; if ((0, _authentication2.get_logged_in)(_store2.default.getState())) { return true; } var token = _jsCookie2.default.get('jwt'); if (token) { if (login_if_not_logged_in) { action_login_with_token(token); } return true; } return false; } function try_logging_in() { if (is_logged_in()) { action_redirect_after_login(); } } function action_redirect_if_not_logged_in(path) { if (!is_logged_in()) { _store2.default.dispatch((0, _display.alert_info)("Veuillez vous connecter")); _store2.default.dispatch((0, _authentication.redirect_to_after_login)(path)); _reactRouter.browserHistory.push('/login'); } } function action_update_password(password) { return _request2.default.post('recruiters/update_password', { token: (0, _utilities.get_url_parameter)('token'), password: password }).then(function (_ref4) { var email = _ref4.email; return action_login(email, password); }).then(function () { return _store2.default.dispatch((0, _display.alert_info)("Votre mot de passe a été mis à jour")); }); } function action_check_reset_password_token() { return _request2.default.get('recruiters/check_reset_password_token', { token: (0, _utilities.get_url_parameter)('token') }); } function action_accept_invitation(password) { return _request2.default.post('recruiters/accept_invitation', { token: (0, _utilities.get_url_parameter)('token'), password: password }).then(function (_ref5) { var email = _ref5.email; return action_login(email, password); }); } function action_check_invitation_token() { return _request2.default.get('recruiters/check_invitation_token', { token: (0, _utilities.get_url_parameter)('token') }); } function action_get_public_profile(email) { return _request2.default.get('public_profile', { email: email }); }