instantjob-recruiter-client
Version:
a set of tools for creating an instantjob recruiter react client
71 lines (58 loc) • 2.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _defineProperty2 = require("babel-runtime/helpers/defineProperty");
var _defineProperty3 = _interopRequireDefault(_defineProperty2);
var _extends3 = require("babel-runtime/helpers/extends");
var _extends4 = _interopRequireDefault(_extends3);
var _objectWithoutProperties2 = require("babel-runtime/helpers/objectWithoutProperties");
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
exports.recruiters = recruiters;
var _base = require("./base");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var initial_state = {
recruiters: {},
teams: {},
self: null
};
function recruiters() {
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initial_state;
var action = arguments[1];
switch (action.type) {
case "store_recruiters":
return (0, _base.store_items)(state, "recruiters", action.recruiters.map(function (_ref) {
var default_deal_id = _ref.default_deal.id,
recruiter = (0, _objectWithoutProperties3.default)(_ref, ["default_deal"]);
return (0, _extends4.default)({}, recruiter, {
default_deal_id: default_deal_id
});
}));
case "update_profile":
var self = state.self;
if (action.profile.id) {
self = action.profile.id;
}
var recruiter = action.profile;
if (state.recruiters[self]) {
recruiter = (0, _extends4.default)({}, state.recruiters[self], recruiter);
}
if (self) {
return (0, _extends4.default)({}, state, {
recruiters: (0, _extends4.default)({}, state.recruiters, (0, _defineProperty3.default)({}, self, recruiter)),
self: self
});
}
return state;
case "update_recruiter":
return (0, _base.update_item)(state, "recruiters", action.recruiter);
case "update_recruiters":
return (0, _base.update_items)(state, "recruiters", action.recruiters);
case "store_teams":
return (0, _base.store_items)(state, "teams", action.teams);
case "remove_team":
return (0, _base.remove_item)(state, "teams", action.team_id);
default:
return state;
}
}