MCPcopy Index your code
hub / github.com/chartbrew/chartbrew / getUserTeams

Method getUserTeams

server/controllers/TeamController.js:348–399  ·  view source on GitHub ↗
(userId)

Source from the content-addressed store, hash-verified

346 }
347
348 getUserTeams(userId) {
349 return db.TeamRole.findAll({ where: { user_id: userId } })
350 .then((teamIds) => {
351 const idsArray = [];
352 teamIds.forEach((role) => {
353 idsArray.push(role.team_id);
354 });
355 if (idsArray < 1) return new Promise((resolve) => resolve([]));
356 return db.Team.findAll({
357 where: { id: idsArray },
358 include: [
359 { model: db.TeamRole },
360 {
361 model: db.Project,
362 include: [
363 { model: db.Chart, attributes: ["id"] },
364 ],
365 },
366 { model: db.Connection, attributes: ["id"] },
367 ],
368 });
369 })
370 .then((teams) => {
371 // filter the projects
372 const newTeams = teams.map((team) => {
373 const newTeam = team;
374 const teamRole = team.TeamRoles.find((role) => role.user_id === parseInt(userId, 10));
375 if (teamRole.role !== "teamOwner" && teamRole.role !== "teamAdmin") {
376 const allowedProjects = [];
377 let projectsRole = [];
378 projectsRole = teamRole.projects || [];
379
380 if (team.Projects) {
381 team.Projects.map((project) => {
382 if (_.indexOf(projectsRole, project.id) > -1) {
383 allowedProjects.push(project);
384 }
385 return project;
386 });
387 }
388
389 newTeam.setDataValue("Projects", allowedProjects);
390 }
391 return newTeam;
392 });
393
394 return newTeams;
395 })
396 .catch((error) => {
397 return new Promise((resolve, reject) => reject(error));
398 });
399 }
400
401 saveTeamInvite(teamId, data, userId) {
402 const token = uuidv4();

Callers 1

TeamRoute.jsFile · 0.80

Calls 1

findAllMethod · 0.45

Tested by

no test coverage detected