Skip to content
Snippets Groups Projects
Commit 96be7d0c authored by Benedikt Heinrichs's avatar Benedikt Heinrichs
Browse files

Merge branch 'Topic/1531-UseMangmntTableView' into 'Product/1548-projectInviteMngmnt'

Update: Improve invitation handling

See merge request !152
parents 302af7a0 9b86d483
No related branches found
No related tags found
3 merge requests!159Product/1548 project invite mngmnt,!158Sprint/2021 12,!152Update: Improve invitation handling
......@@ -600,7 +600,7 @@ namespace Coscine.Api.Project.Controllers
return Unauthorized($"You are not an owner of the project.");
}
var invitations = _invitationModel.GetAllWhere(x => x.Project == projectId && x.Expiration > DateTime.UtcNow)
var invitations = _invitationModel.GetAllWhere(x => x.Project == projectId)
.Select(x => new InvitationReturnObject
{
Id = x.Id,
......@@ -652,11 +652,22 @@ namespace Coscine.Api.Project.Controllers
x.Expiration > DateTime.UtcNow
);
if (invitations != null && invitations.Any())
if (invitations.Any())
{
return BadRequest("This invitee already has a valid invitation to this project.");
}
var expiredInvitations = _invitationModel.GetAllWhere(
x => x.Project == sendInvitationObject.Project &&
x.InviteeEmail == sendInvitationObject.Email &&
x.Expiration <= DateTime.UtcNow
);
foreach (var expiredInvitation in expiredInvitations)
{
_invitationModel.Delete(expiredInvitation);
}
var token = _invitationModel.CreateInvitation(sendInvitationObject.Project, user.Id, sendInvitationObject.Role, sendInvitationObject.Email);
var body = new JObject
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment