public async Task <IActionResult> TeamFromSteamGroup(SteamUserGroup group) { ApplicationUser user = await GetAuthUser(); if (!await _steamService.VerifyUserIsGroupAdmin(user.Id, group.groupID64)) { return(BadRequest("User is not a steam group owner for " + group.groupName)); } CSGOTeam team = new() { SteamGroupId = group.groupID64, TeamName = group.groupName, TeamAvatar = group.avatarFull }; _dbContext.CSGOTeams.Add(team); team.InitializeDefaults(); team.UniqueCustomUrl(_dbContext); team.Members.Add(new TeamMember() { UserId = user.Id, IsActive = true, IsAdmin = true, IsEditor = true }); try { await _dbContext.SaveChangesAsync(); } catch (DbUpdateException e) { System.Diagnostics.Trace.TraceWarning($"Attempting to register steam group twice: ${group.groupID64} msg: ${e.Message}"); return(BadRequest(group.groupName + " Steam group has already been registered.")); } return(Ok(team)); }