public async Task <ActionResult <CreateGroupResponse> > CreateGroup([FromQuery] CourseAuthorizationParameters courseAuthorizationParameters, CreateGroupParameters parameters) { var ownerId = User.GetUserId(); var group = await groupsRepo.CreateGroupAsync(courseAuthorizationParameters.CourseId, parameters.Name, ownerId).ConfigureAwait(false); await notificationsRepo.AddNotification( group.CourseId, new CreatedGroupNotification(group.Id), UserId ).ConfigureAwait(false); var url = Url.Action(new UrlActionContext { Action = nameof(GroupController.Group), Controller = "Group", Values = new { groupId = group.Id } }); return(Created(url, new CreateGroupResponse { Id = group.Id, ApiUrl = url, })); }
public async Task <ActionResult <CreateGroupResponse> > CreateGroup([FromRoute] Course course, CreateGroupParameters parameters) { var ownerId = User.GetUserId(); var group = await groupsRepo.CreateGroupAsync(course.Id, parameters.Name, ownerId).ConfigureAwait(false); var url = Url.Action(new UrlActionContext { Action = nameof(GroupController.Group), Controller = "Group", Values = new { groupId = group.Id } }); return(Created(url, new CreateGroupResponse { GroupId = group.Id, ApiUrl = url, })); }