mirror of
https://github.com/bitwarden/server.git
synced 2024-12-24 17:17:40 +01:00
manage user type
This commit is contained in:
parent
c8d6a26ec3
commit
7112496ff4
@ -58,7 +58,7 @@ namespace Bit.Api.Controllers
|
|||||||
public async Task Invite(string orgId, [FromBody]OrganizationUserInviteRequestModel model)
|
public async Task Invite(string orgId, [FromBody]OrganizationUserInviteRequestModel model)
|
||||||
{
|
{
|
||||||
var user = await _userService.GetUserByPrincipalAsync(User);
|
var user = await _userService.GetUserByPrincipalAsync(User);
|
||||||
var result = await _organizationService.InviteUserAsync(new Guid(orgId), model.Email,
|
var result = await _organizationService.InviteUserAsync(new Guid(orgId), model.Email, model.Type,
|
||||||
model.Subvaults?.Select(s => s.ToSubvaultUser()));
|
model.Subvaults?.Select(s => s.ToSubvaultUser()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,7 +87,8 @@ namespace Bit.Api.Controllers
|
|||||||
throw new NotFoundException();
|
throw new NotFoundException();
|
||||||
}
|
}
|
||||||
|
|
||||||
await _organizationService.SaveUserAsync(organizationUser, model.Subvaults?.Select(s => s.ToSubvaultUser()));
|
await _organizationService.SaveUserAsync(model.ToOrganizationUser(organizationUser),
|
||||||
|
model.Subvaults?.Select(s => s.ToSubvaultUser()));
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpDelete("{id}")]
|
[HttpDelete("{id}")]
|
||||||
|
@ -7,6 +7,7 @@ namespace Bit.Core.Models.Api
|
|||||||
public class OrganizationUserInviteRequestModel
|
public class OrganizationUserInviteRequestModel
|
||||||
{
|
{
|
||||||
public string Email { get; set; }
|
public string Email { get; set; }
|
||||||
|
public Enums.OrganizationUserType Type { get; set; }
|
||||||
public IEnumerable<OrganizationUserSubvaultRequestModel> Subvaults { get; set; }
|
public IEnumerable<OrganizationUserSubvaultRequestModel> Subvaults { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -24,6 +25,12 @@ namespace Bit.Core.Models.Api
|
|||||||
{
|
{
|
||||||
public Enums.OrganizationUserType Type { get; set; }
|
public Enums.OrganizationUserType Type { get; set; }
|
||||||
public IEnumerable<OrganizationUserSubvaultRequestModel> Subvaults { get; set; }
|
public IEnumerable<OrganizationUserSubvaultRequestModel> Subvaults { get; set; }
|
||||||
|
|
||||||
|
public OrganizationUser ToOrganizationUser(OrganizationUser existingUser)
|
||||||
|
{
|
||||||
|
existingUser.Type = Type;
|
||||||
|
return existingUser;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class OrganizationUserSubvaultRequestModel
|
public class OrganizationUserSubvaultRequestModel
|
||||||
|
@ -9,7 +9,8 @@ namespace Bit.Core.Services
|
|||||||
public interface IOrganizationService
|
public interface IOrganizationService
|
||||||
{
|
{
|
||||||
Task<Tuple<Organization, OrganizationUser>> SignUpAsync(OrganizationSignup organizationSignup);
|
Task<Tuple<Organization, OrganizationUser>> SignUpAsync(OrganizationSignup organizationSignup);
|
||||||
Task<OrganizationUser> InviteUserAsync(Guid organizationId, string email, IEnumerable<SubvaultUser> subvaults);
|
Task<OrganizationUser> InviteUserAsync(Guid organizationId, string email, Enums.OrganizationUserType type,
|
||||||
|
IEnumerable<SubvaultUser> subvaults);
|
||||||
Task<OrganizationUser> AcceptUserAsync(Guid organizationUserId, User user, string token);
|
Task<OrganizationUser> AcceptUserAsync(Guid organizationUserId, User user, string token);
|
||||||
Task<OrganizationUser> ConfirmUserAsync(Guid organizationUserId, string key);
|
Task<OrganizationUser> ConfirmUserAsync(Guid organizationUserId, string key);
|
||||||
Task SaveUserAsync(OrganizationUser user, IEnumerable<SubvaultUser> subvaults);
|
Task SaveUserAsync(OrganizationUser user, IEnumerable<SubvaultUser> subvaults);
|
||||||
|
@ -90,7 +90,7 @@ namespace Bit.Core.Services
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<OrganizationUser> InviteUserAsync(Guid organizationId, string email,
|
public async Task<OrganizationUser> InviteUserAsync(Guid organizationId, string email, Enums.OrganizationUserType type,
|
||||||
IEnumerable<SubvaultUser> subvaults)
|
IEnumerable<SubvaultUser> subvaults)
|
||||||
{
|
{
|
||||||
var orgUser = new OrganizationUser
|
var orgUser = new OrganizationUser
|
||||||
@ -99,7 +99,7 @@ namespace Bit.Core.Services
|
|||||||
UserId = null,
|
UserId = null,
|
||||||
Email = email,
|
Email = email,
|
||||||
Key = null,
|
Key = null,
|
||||||
Type = Enums.OrganizationUserType.User,
|
Type = type,
|
||||||
Status = Enums.OrganizationUserStatusType.Invited,
|
Status = Enums.OrganizationUserStatusType.Invited,
|
||||||
CreationDate = DateTime.UtcNow,
|
CreationDate = DateTime.UtcNow,
|
||||||
RevisionDate = DateTime.UtcNow
|
RevisionDate = DateTime.UtcNow
|
||||||
|
Loading…
Reference in New Issue
Block a user