Skip to content

Commit 1d71d01

Browse files
committed
Fix bug where SysAdm does not see linked users
1 parent 38320fe commit 1d71d01

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

api/src/routes/report-router.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -452,7 +452,10 @@ reportRouter.put("/:id/step/:step_id/:operation", async (req: Request, res: Resp
452452
reportRouter.get("/:slug/linked-users", async (req: Request, res: Response) => {
453453
const { slug } = req.params;
454454

455-
const incident = await db.getBySlug(slug, req.user.email);
455+
const userIsAdmin =
456+
(req.user.roles = req.user.roles || []).filter((role: UserRole) => role.name === "System Admin").length > 0;
457+
458+
const incident = await db.getBySlug(slug, userIsAdmin ? "System Admin" : req.user.email);
456459

457460
if (incident) {
458461
const list = await knex("incident_users").where({ incident_id: incident.id });
@@ -465,7 +468,10 @@ reportRouter.get("/:slug/linked-users", async (req: Request, res: Response) => {
465468
reportRouter.post("/:slug/linked-users", async (req: Request, res: Response) => {
466469
const { slug } = req.params;
467470

468-
const incident = await db.getBySlug(slug, req.user.email);
471+
const userIsAdmin =
472+
(req.user.roles = req.user.roles || []).filter((role: UserRole) => role.name === "System Admin").length > 0;
473+
474+
const incident = await db.getBySlug(slug, userIsAdmin ? "System Admin" : req.user.email);
469475

470476
if (incident) {
471477
await knex("incident_users").insert(req.body);
@@ -483,7 +489,10 @@ reportRouter.post("/:slug/linked-users", async (req: Request, res: Response) =>
483489
reportRouter.delete("/:slug/linked-users/:id", async (req: Request, res: Response) => {
484490
const { slug, id } = req.params;
485491

486-
const incident = await db.getBySlug(slug, req.user.email);
492+
const userIsAdmin =
493+
(req.user.roles = req.user.roles || []).filter((role: UserRole) => role.name === "System Admin").length > 0;
494+
495+
const incident = await db.getBySlug(slug, userIsAdmin ? "System Admin" : req.user.email);
487496

488497
if (incident) {
489498
const list = await knex("incident_users").where({ id }).delete();

0 commit comments

Comments
 (0)