From c32cb2d4be86c17cbb126b3c92ac5d57d31f2634 Mon Sep 17 00:00:00 2001 From: Jason Sylvestre Date: Thu, 3 Apr 2025 09:05:51 -0700 Subject: [PATCH 1/2] Extra check to make sure person isn't already in team --- Keas.Mvc/Controllers/Api/PeopleController.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Keas.Mvc/Controllers/Api/PeopleController.cs b/Keas.Mvc/Controllers/Api/PeopleController.cs index 881938548..64281f4fb 100644 --- a/Keas.Mvc/Controllers/Api/PeopleController.cs +++ b/Keas.Mvc/Controllers/Api/PeopleController.cs @@ -251,7 +251,8 @@ public async Task Create([FromBody] Person person) else { //Force lookup. Don't trust passed user - person.User = await _identityService.GetByKerberos(person.UserId); + user = await _identityService.GetByKerberos(person.UserId); + person.User = user; } if (person.User == null) @@ -259,6 +260,13 @@ public async Task Create([FromBody] Person person) return NotFound(); } + //Need to have API call validated so it doesn't create a dup person + if(await _context.People.IgnoreQueryFilters().Where(a => a.TeamId == team.Id && a.UserId == user.Id).AnyAsync()) + { + ModelState.AddModelError("UserId", "This user is already added to this team."); + return BadRequest(ModelState); + } + if (person.Supervisor != null) { _context.People.Attach(person.Supervisor); From 3bde896937bb0a4a72443c1ad77d4de12e5a8156 Mon Sep 17 00:00:00 2001 From: Jason Sylvestre Date: Thu, 3 Apr 2025 09:06:10 -0700 Subject: [PATCH 2/2] show team and slug info (needed for most api calls) --- Keas.Mvc/Views/TeamAdmin/RegenerateApiCode.cshtml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Keas.Mvc/Views/TeamAdmin/RegenerateApiCode.cshtml b/Keas.Mvc/Views/TeamAdmin/RegenerateApiCode.cshtml index f6707f810..072b5c994 100644 --- a/Keas.Mvc/Views/TeamAdmin/RegenerateApiCode.cshtml +++ b/Keas.Mvc/Views/TeamAdmin/RegenerateApiCode.cshtml @@ -24,8 +24,9 @@ @if (Model.TeamApiCode != null) {
-

Current API Code:

-

@Html.DisplayFor(model => model.TeamApiCode.ApiCode)

+
Current API Code: @Html.DisplayFor(model => model.TeamApiCode.ApiCode)
+
Team Slug: @Model.Slug
+
Team Id: @Model.Id
}