Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion services/teams/handler.js
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ export const leaveTeam = async (event, ctx, callback) => {
}
});

await teamHelpers.leaveTeam(data.memberID, data.eventID, data.year, data.teamID);
await teamHelpers.leaveTeam(data.memberID, data.eventID, data.year);

const response = helpers.createResponse(200, {
message: "Successfully left team.",
Expand Down
21 changes: 8 additions & 13 deletions services/teams/helpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -142,8 +142,13 @@ export default {
// Remove member from the team
team.memberIDs = team.memberIDs.filter((id) => id !== memberID);

// TODO: delete team if empty ?
await this._putTeam(team, false);
if (team.memberIDs.length === 0) {
await db.deleteOne(team.id, TEAMS_TABLE, {
"eventID;year": eventID_year
});
} else {
await this._putTeam(team, false);
}

// Remove teamID from user registration
registration.teamID = "";
Expand Down Expand Up @@ -342,17 +347,7 @@ export default {
"eventID;year": eventID_year
});

if (res.teamID) {
// If user is already on a team, remove them from that team on the Teams table
const team = await this._getTeamFromUserRegistration(
memberID,
eventID,
year
);
team.memberIDs = team.memberIDs.filter((id) => id !== memberID);
await this._putTeam(team, false);
}

// at this point, they are guaranteed to not be in a team, due to the above check
res.teamID = params.id;

let conditionExpression =
Expand Down
Loading