UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

43 lines (34 loc) 1.57 kB
'use strict'; 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"]); });