Skip to content

Commit 5dc5b1a

Browse files
💡 create teams as closed, set description
* Closes #10 (It appears to be possible to create private teams)
1 parent 0085419 commit 5dc5b1a

3 files changed

Lines changed: 11 additions & 9 deletions

File tree

src/services/gitHub.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -264,10 +264,12 @@ class InstalledGitHubClient implements InstalledClient {
264264
}
265265
}
266266

267-
public async CreateTeam(team: GitHubTeamName): Response<any> {
267+
public async CreateTeam(team: GitHubTeamName, description:string): Response<any> {
268268
await this.gitHubClient.rest.teams.create({
269269
name: team,
270-
org: this.orgName
270+
org: this.orgName,
271+
description,
272+
privacy:"closed"
271273
})
272274

273275
return {
@@ -328,7 +330,7 @@ class InstalledGitHubClient implements InstalledClient {
328330
org: this.orgName,
329331
privacy: "closed",
330332
team_slug: team,
331-
description: description
333+
description: description
332334
})
333335

334336
return {

src/services/gitHubTypes.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export interface InstalledClient {
1818
IsUserMember(id: GitHubId): Response<boolean>
1919
GetAllTeams(): Response<GitHubTeamId[]>
2020
AddTeamMember(team: GitHubTeamName, id: GitHubId): Response
21-
CreateTeam(teamName: GitHubTeamName): Response
21+
CreateTeam(teamName: GitHubTeamName, description:string): Response
2222
DoesUserExist(gitHubId: string): Response<GitHubId>
2323
ListCurrentMembersOfGitHubTeam(team: GitHubTeamName): Response<GitHubId[]>
2424
RemoveTeamMemberAsync(team: GitHubTeamName, user: GitHubId): Response

src/services/githubSync.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ async function SynchronizeOrgMembers(installedGitHubClient: InstalledClient, tea
7171
}
7272

7373
async function SynchronizeGitHubTeam(installedGitHubClient: InstalledClient, teamName: string, config: AppConfig, existingMembers: GitHubId[]) {
74+
await installedGitHubClient.UpdateTeamDetails(teamName, teamDescription);
75+
7476
const trueMembersList = await GetGitHubIds(teamName, config);
7577
const orgName = installedGitHubClient.GetCurrentOrgName();
7678

@@ -102,9 +104,7 @@ async function SynchronizeGitHubTeam(installedGitHubClient: InstalledClient, tea
102104
}
103105

104106
const validMemberCheckResults = await Promise.all(trueMembersList.map(tm => checkValidOrgMember(tm)));
105-
const trueValidTeamMembersList: string[] = validMemberCheckResults.filter(r => r.successful).map(r => r.gitHubId);
106-
107-
await installedGitHubClient.UpdateTeamDetails(teamName, teamDescription);
107+
const trueValidTeamMembersList: string[] = validMemberCheckResults.filter(r => r.successful).map(r => r.gitHubId);
108108

109109
const listMembersResponse = await installedGitHubClient.ListCurrentMembersOfGitHubTeam(teamName);
110110

@@ -148,7 +148,7 @@ export async function SyncOrg(installedGitHubClient: InstalledClient, config: Ap
148148
for (let t of config.SecurityManagerTeams) {
149149
if(!setOfExistingTeams.has(t.toUpperCase())) {
150150
console.log(`Creating team '${orgName}/${t}'`)
151-
await installedGitHubClient.CreateTeam(t);
151+
await installedGitHubClient.CreateTeam(t, teamDescription);
152152
setOfExistingTeams.add(t);
153153
}
154154

@@ -183,7 +183,7 @@ export async function SyncOrg(installedGitHubClient: InstalledClient, config: Ap
183183
if(teamsToCreate.length > 0) {
184184
for(let t of teamsToCreate) {
185185
console.log(`Creating team '${orgName}/${t}'`)
186-
await installedGitHubClient.CreateTeam(t);
186+
await installedGitHubClient.CreateTeam(t, teamDescription);
187187
}
188188
}
189189

0 commit comments

Comments
 (0)