instantjob-recruiter-client
Version:
a set of tools for creating an instantjob recruiter react client
43 lines (34 loc) • 1.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.get_demands = undefined;
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _base = require('./base');
var _utilities = require('../common/utilities');
var _demands = require('../common/demands');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var get_raw_demands = function get_raw_demands(state) {
return state.demands.demands;
};
var get_raw_users = function get_raw_users(state) {
return state.users.users;
};
var get_recruiter_id = function get_recruiter_id(state) {
return state.profile.id;
};
var get_demands = exports.get_demands = (0, _base.tolerant_selector)([get_raw_demands, get_raw_users, get_recruiter_id], function (demands, users, recruiter_id) {
return (0, _utilities.split_array)((0, _utilities.array_from_hash)(demands).map(function (demand) {
return (0, _extends3.default)({}, demand, {
user: users[demand.user_id],
status: demand.accepted_at ? "accepted" : demand.rejected_at ? "rejected" : "pending",
accept: function accept() {
return (0, _demands.action_accept_demand)(demand.id);
},
reject: function reject() {
return (0, _demands.action_reject_demand)(demand.id);
}
});
}).filter((0, _utilities.property_getter)("user")).filter((0, _utilities.property_is)("recruiter_id", recruiter_id)), (0, _utilities.property_getter)("status"), ["accepted", "rejected", "pending"]);
});