mirror of
https://github.com/bitwarden/server.git
synced 2025-04-08 14:38:15 -05:00
restore dep. login admin apis
This commit is contained in:
parent
825f7b8bb9
commit
c135a2a166
@ -61,6 +61,20 @@ namespace Bit.Api.Controllers
|
|||||||
return new ListResponseModel<LoginResponseModel>(responses);
|
return new ListResponseModel<LoginResponseModel>(responses);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpGet("{id}/admin")]
|
||||||
|
public async Task<LoginResponseModel> GetAdmin(string id)
|
||||||
|
{
|
||||||
|
var login = await _cipherRepository.GetDetailsByIdAsync(new Guid(id));
|
||||||
|
if(login == null || !login.OrganizationId.HasValue ||
|
||||||
|
!_currentContext.OrganizationAdmin(login.OrganizationId.Value))
|
||||||
|
{
|
||||||
|
throw new NotFoundException();
|
||||||
|
}
|
||||||
|
|
||||||
|
var response = new LoginResponseModel(login, _globalSettings, login.OrganizationUseTotp);
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
[HttpPost("")]
|
[HttpPost("")]
|
||||||
public async Task<LoginResponseModel> Post([FromBody]LoginRequestModel model)
|
public async Task<LoginResponseModel> Post([FromBody]LoginRequestModel model)
|
||||||
{
|
{
|
||||||
@ -71,7 +85,23 @@ namespace Bit.Api.Controllers
|
|||||||
var response = new LoginResponseModel(login, _globalSettings);
|
var response = new LoginResponseModel(login, _globalSettings);
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpPost("admin")]
|
||||||
|
public async Task<LoginResponseModel> PostAdmin([FromBody]LoginRequestModel model)
|
||||||
|
{
|
||||||
|
var login = model.ToOrganizationCipher();
|
||||||
|
if(!_currentContext.OrganizationAdmin(login.OrganizationId.Value))
|
||||||
|
{
|
||||||
|
throw new NotFoundException();
|
||||||
|
}
|
||||||
|
|
||||||
|
var userId = _userService.GetProperUserId(User).Value;
|
||||||
|
await _cipherService.SaveAsync(login, userId, true);
|
||||||
|
|
||||||
|
var response = new LoginResponseModel(login, _globalSettings, false);
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
[HttpPut("{id}")]
|
[HttpPut("{id}")]
|
||||||
[HttpPost("{id}")]
|
[HttpPost("{id}")]
|
||||||
public async Task<LoginResponseModel> Put(string id, [FromBody]LoginRequestModel model)
|
public async Task<LoginResponseModel> Put(string id, [FromBody]LoginRequestModel model)
|
||||||
@ -96,6 +126,26 @@ namespace Bit.Api.Controllers
|
|||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpPut("{id}/admin")]
|
||||||
|
[HttpPost("{id}/admin")]
|
||||||
|
public async Task<LoginResponseModel> PutAdmin(string id, [FromBody]LoginRequestModel model)
|
||||||
|
{
|
||||||
|
var userId = _userService.GetProperUserId(User).Value;
|
||||||
|
var login = await _cipherRepository.GetDetailsByIdAsync(new Guid(id));
|
||||||
|
if(login == null || !login.OrganizationId.HasValue ||
|
||||||
|
!_currentContext.OrganizationAdmin(login.OrganizationId.Value))
|
||||||
|
{
|
||||||
|
throw new NotFoundException();
|
||||||
|
}
|
||||||
|
|
||||||
|
// object cannot be a descendant of CipherDetails, so let's clone it.
|
||||||
|
var cipher = Core.Utilities.CoreHelpers.CloneObject(model.ToCipher(login));
|
||||||
|
await _cipherService.SaveAsync(cipher, userId, true);
|
||||||
|
|
||||||
|
var response = new LoginResponseModel(cipher, _globalSettings, login.OrganizationUseTotp);
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
[HttpDelete("{id}")]
|
[HttpDelete("{id}")]
|
||||||
[HttpPost("{id}/delete")]
|
[HttpPost("{id}/delete")]
|
||||||
public async Task Delete(string id)
|
public async Task Delete(string id)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user