Skip to content
Snippets Groups Projects
Commit 302af7a0 authored by Petar Hristov's avatar Petar Hristov :speech_balloon:
Browse files

Merge branch 'Topic/1530-invitationUserManagement' into 'Product/1548-projectInviteMngmnt'

Fix: Naming and Json Property of Invitation Object (coscine/issues#1530)

See merge request !149
parents db7d88e5 c54b4453
Branches
No related tags found
3 merge requests!151Product/1548 project invite mngmnt,!150Sprint/2021 10,!149Fix: Naming and Json Property of Invitation Object (coscine/issues#1530)
...@@ -620,13 +620,13 @@ namespace Coscine.Api.Project.Controllers ...@@ -620,13 +620,13 @@ namespace Coscine.Api.Project.Controllers
/// <param name="sendInvitationObject">Informations for sending an invitation</param> /// <param name="sendInvitationObject">Informations for sending an invitation</param>
/// <returns>NoContent</returns> /// <returns>NoContent</returns>
[HttpPost("[controller]/invitation")] [HttpPost("[controller]/invitation")]
public IActionResult SendInvitation(SendInvitationObject sendInvitationObject) public IActionResult SendInvitation([FromBody] SendInvitationObject sendInvitationObject)
{ {
var user = _authenticator.GetUser(); var user = _authenticator.GetUser();
if (!IsValidEmail(sendInvitationObject.Mail)) if (!IsValidEmail(sendInvitationObject.Email))
{ {
return BadRequest($@"The email ""{sendInvitationObject.Mail}"" is invalid."); return BadRequest($@"The email ""{sendInvitationObject.Email}"" is invalid.");
} }
var project = _projectModel.GetById(sendInvitationObject.Project); var project = _projectModel.GetById(sendInvitationObject.Project);
...@@ -648,7 +648,7 @@ namespace Coscine.Api.Project.Controllers ...@@ -648,7 +648,7 @@ namespace Coscine.Api.Project.Controllers
var invitations = _invitationModel.GetAllWhere( var invitations = _invitationModel.GetAllWhere(
x => x.Project == sendInvitationObject.Project && x => x.Project == sendInvitationObject.Project &&
x.InviteeEmail == sendInvitationObject.Mail && x.InviteeEmail == sendInvitationObject.Email &&
x.Expiration > DateTime.UtcNow x.Expiration > DateTime.UtcNow
); );
...@@ -657,7 +657,7 @@ namespace Coscine.Api.Project.Controllers ...@@ -657,7 +657,7 @@ namespace Coscine.Api.Project.Controllers
return BadRequest("This invitee already has a valid invitation to this project."); return BadRequest("This invitee already has a valid invitation to this project.");
} }
var token = _invitationModel.CreateInvitation(sendInvitationObject.Project, user.Id, sendInvitationObject.Role, sendInvitationObject.Mail); var token = _invitationModel.CreateInvitation(sendInvitationObject.Project, user.Id, sendInvitationObject.Role, sendInvitationObject.Email);
var body = new JObject var body = new JObject
{ {
...@@ -670,7 +670,7 @@ namespace Coscine.Api.Project.Controllers ...@@ -670,7 +670,7 @@ namespace Coscine.Api.Project.Controllers
} }
}; };
NotificationBusUtil.Send(Program.Configuration, "user_invitation", NotificationBusUtil.GetUserList(new User { EmailAddress = sendInvitationObject.Mail }), sendInvitationObject.Project.ToString(), body); NotificationBusUtil.Send(Program.Configuration, "user_invitation", NotificationBusUtil.GetUserList(new User { EmailAddress = sendInvitationObject.Email }), sendInvitationObject.Project.ToString(), body);
return NoContent(); return NoContent();
} }
......
using System; using System;
using Newtonsoft.Json;
namespace Coscine.Api.Project.ParameterObjects namespace Coscine.Api.Project.ParameterObjects
{ {
...@@ -10,14 +11,17 @@ namespace Coscine.Api.Project.ParameterObjects ...@@ -10,14 +11,17 @@ namespace Coscine.Api.Project.ParameterObjects
/// <summary> /// <summary>
/// Id of the project /// Id of the project
/// </summary> /// </summary>
[JsonProperty("projectId")]
public Guid Project { get; set; } public Guid Project { get; set; }
/// <summary> /// <summary>
/// Id of the target role /// Id of the target role
/// </summary> /// </summary>
[JsonProperty("role")]
public Guid Role { get; set; } public Guid Role { get; set; }
/// <summary> /// <summary>
/// Email of the target user /// Email of the target user
/// </summary> /// </summary>
public string Mail { get; set; } [JsonProperty("email")]
public string Email { get; set; }
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment