UNPKG

@coko/server

Version:

Reusable server for use by Coko's projects

75 lines 3.25 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.removeTeamMember = exports.addTeamMember = exports.updateTeamMembership = exports.getTeams = exports.getTeam = void 0; const logger_1 = __importDefault(require("../../logger")); const team_model_1 = __importDefault(require("./team.model")); const useTransaction_1 = __importDefault(require("../useTransaction")); const constants_1 = require("./constants"); const { TEAM_CONTROLLER } = constants_1.labels; const getTeam = async (id, options = {}) => { try { const { trx, ...restOptions } = options; return (0, useTransaction_1.default)(async (tr) => { logger_1.default.info(`${TEAM_CONTROLLER} getTeam: fetching team with id ${id}`); return team_model_1.default.findById(id, { trx: tr, ...restOptions }); }, { trx, passedTrxOnly: true }); } catch (e) { logger_1.default.error(`${TEAM_CONTROLLER} getTeam: ${e.message}`); throw e; } }; exports.getTeam = getTeam; const getTeams = async (where = {}, options = {}) => { const { trx, ...rest } = options; return team_model_1.default.find(where, { trx, ...rest }); }; exports.getTeams = getTeams; const addTeamMember = async (teamId, userId, options = {}) => { try { const { trx } = options; // notify return (0, useTransaction_1.default)(async (tr) => { logger_1.default.info(`${TEAM_CONTROLLER} addTeamMember: adding user with id ${userId} to team with id ${teamId}`); return team_model_1.default.addMember(teamId, userId, { trx: tr }); }, { trx, passedTrxOnly: true }); } catch (e) { logger_1.default.error(`${TEAM_CONTROLLER} addTeamMember: ${e.message}`); throw e; } }; exports.addTeamMember = addTeamMember; const removeTeamMember = async (teamId, userId, options = {}) => { try { const { trx } = options; // notify return (0, useTransaction_1.default)(async (tr) => { logger_1.default.info(`${TEAM_CONTROLLER} removeTeamMember: removing user with id ${userId} from team with id ${teamId}`); return team_model_1.default.removeMember(teamId, userId, { trx: tr }); }, { trx, passedTrxOnly: true }); } catch (e) { logger_1.default.error(`${TEAM_CONTROLLER} removeTeamMember: ${e.message}`); throw e; } }; exports.removeTeamMember = removeTeamMember; const updateTeamMembership = async (teamId, members, options = {}) => { try { const { trx } = options; return (0, useTransaction_1.default)(async (tr) => { logger_1.default.info(`${TEAM_CONTROLLER} updateTeamMembership: updating members of team with id ${teamId}`); return team_model_1.default.updateMembershipByTeamId(teamId, members, { trx: tr }); }, { trx, passedTrxOnly: true }); } catch (e) { logger_1.default.error(`${TEAM_CONTROLLER} updateTeamMembership: ${e.message}`); throw e; } }; exports.updateTeamMembership = updateTeamMembership; //# sourceMappingURL=team.controller.js.map