instantjob-recruiter-client
Version:
a set of tools for creating an instantjob recruiter react client
146 lines (114 loc) • 5.08 kB
JavaScript
;
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 });
}