public virtual async Task <ActionResult <T> > GetCollection(Guid?id) { if ((id ?? User.GetOid()) == User.GetOid()) { return(await GetUserCollectionOrCreateAsync().ConfigureAwait(false)); } return(Representer.ToViewOrDefault(await Store.GetCollectionAsync(User.GetOid(), id ?? User.GetOid()).ConfigureAwait(false)).ToActionResult() ?? this.NotFound()); }
public virtual async Task <ActionResult <T> > GetRoleAssignment(Guid collection, Guid user) { var role = await Store.GetRoleAssignment(collection, User.GetOid()).ConfigureAwait(false); if (role?.Role != RoleAssignment.Owner) { return(this.Forbid()); } return(Representer.ToViewOrDefault(await Store.GetRoleAssignment(user, collection).ConfigureAwait(false)).ToActionResult() ?? this.NotFound()); }