Skip to content

Commit 69ef9d0

Browse files
calin-lupas_dsamcapscalin-lupas_dsamcaps
authored andcommitted
#32 Enhance team/member string processing
Updated `RepositoryService.cs` and `TeamService.cs` to trim whitespace and ensure distinct entries for team and member names. This improves code robustness by preventing issues from leading/trailing spaces and eliminating duplicates.
1 parent 7ebd40b commit 69ef9d0

2 files changed

Lines changed: 9 additions & 7 deletions

File tree

src/DevExcelerateApi/Services/RepositoryService.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public async Task ValidateCreateRepository(IssuesEvent issuesEvent, bool createP
5353
// Validate if the teams exist
5454
var teamsString = $"{repoRequest.RepositoryMaintainers},{repoRequest.RepositoryContributors},{repoRequest.RepositoryReaders}";
5555

56-
var teams = teamsString.Split(Constants.Comma, StringSplitOptions.RemoveEmptyEntries);
56+
var teams = teamsString.Split(Constants.Comma, StringSplitOptions.RemoveEmptyEntries).Select(i => i.Trim()).Distinct();
5757

5858
foreach (var team in teams)
5959
{
@@ -298,7 +298,8 @@ public async Task SaveRepository(PullRequestEvent pullRequestEvent)
298298
// Step 2: Add the reader teams to the repo
299299
if (repoRequest.RepositoryReaders != null)
300300
{
301-
var teams = repoRequest.RepositoryReaders.Split(Constants.Comma);
301+
var teams = repoRequest.RepositoryReaders.Split(Constants.Comma).Select(i => i.Trim()).Distinct();
302+
302303
foreach (var team in teams)
303304
{
304305
await installationClient.Organization.Team.AddOrUpdateTeamRepositoryPermissions(repoRequest.RepositoryOwner, team, repoRequest.RepositoryOwner, repoRequest.RepositoryName, CollaboratorPermission.Pull.ToString().ToLowerInvariant());
@@ -308,7 +309,7 @@ public async Task SaveRepository(PullRequestEvent pullRequestEvent)
308309
// Step 3: Add the contributor teams to the repo
309310
if (repoRequest.RepositoryContributors != null)
310311
{
311-
var teams = repoRequest.RepositoryContributors.Split(Constants.Comma);
312+
var teams = repoRequest.RepositoryContributors.Split(Constants.Comma).Select(i => i.Trim()).Distinct();
312313
foreach (var team in teams)
313314
{
314315
await installationClient.Organization.Team.AddOrUpdateTeamRepositoryPermissions(repoRequest.RepositoryOwner, team, repoRequest.RepositoryOwner, repoRequest.RepositoryName, CollaboratorPermission.Push.ToString().ToLowerInvariant());
@@ -318,7 +319,7 @@ public async Task SaveRepository(PullRequestEvent pullRequestEvent)
318319
// Step 4: Add the maintain teams to the repo
319320
if (repoRequest.RepositoryMaintainers != null)
320321
{
321-
var teams = repoRequest.RepositoryMaintainers.Split(Constants.Comma);
322+
var teams = repoRequest.RepositoryMaintainers.Split(Constants.Comma).Select(i => i.Trim()).Distinct();
322323
foreach (var team in teams)
323324
{
324325
await installationClient.Organization.Team.AddOrUpdateTeamRepositoryPermissions(repoRequest.RepositoryOwner, team, repoRequest.RepositoryOwner, repoRequest.RepositoryName, CollaboratorPermission.Maintain.ToString().ToLowerInvariant());

src/DevExcelerateApi/Services/TeamService.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,15 @@ public async Task ValidateCreateTeam(IssuesEvent issuesEvent, bool createPullReq
6969
// Validate team members and maintainers
7070
var membersString = $"{teamRequest.TeamMaintainers},{teamRequest.TeamMembers}";
7171

72-
var members = membersString.Split(Constants.Comma, StringSplitOptions.RemoveEmptyEntries);
72+
var members = membersString.Split(Constants.Comma, StringSplitOptions.RemoveEmptyEntries).Select(i => i.Trim()).Distinct();
7373

7474
foreach (var member in members)
7575
{
7676
try
7777
{
7878
// Check if the member exists
7979
await gitHubClient.User.Get(member);
80+
//await gitHubClient.Organization.Member.GetOrganizationMembership(teamRequest.TeamOwner, member);
8081
}
8182
catch (NotFoundException)
8283
{
@@ -298,7 +299,7 @@ public async Task SaveTeam(PullRequestEvent pullRequestEvent)
298299
// Step 2: Add members to the team
299300
if (!string.IsNullOrEmpty(teamRequest.TeamMembers))
300301
{
301-
var members = teamRequest.TeamMembers.Split(Constants.Comma, StringSplitOptions.RemoveEmptyEntries);
302+
var members = teamRequest.TeamMembers.Split(Constants.Comma, StringSplitOptions.RemoveEmptyEntries).Select(i => i.Trim()).Distinct();
302303

303304
foreach (var member in members)
304305
{
@@ -309,7 +310,7 @@ public async Task SaveTeam(PullRequestEvent pullRequestEvent)
309310
// Step 3: Add maintainers to the team
310311
if (!string.IsNullOrEmpty(teamRequest.TeamMaintainers))
311312
{
312-
var maintainers = teamRequest.TeamMaintainers.Split(Constants.Comma, StringSplitOptions.RemoveEmptyEntries);
313+
var maintainers = teamRequest.TeamMaintainers.Split(Constants.Comma, StringSplitOptions.RemoveEmptyEntries).Select(i => i.Trim()).Distinct();
313314

314315
foreach (var maintainer in maintainers)
315316
{

0 commit comments

Comments
 (0)