1
0
mirror of https://github.com/bitwarden/server.git synced 2025-04-11 16:18:14 -05:00

get installation by id

This commit is contained in:
Kyle Spearrin 2017-08-19 08:51:05 -04:00
parent bac8ef9013
commit c3edfbfc39
2 changed files with 19 additions and 3 deletions

View File

@ -5,6 +5,7 @@ using Bit.Core.Repositories;
using Bit.Core.Models.Api;
using Bit.Api.Utilities;
using Microsoft.AspNetCore.Authorization;
using Bit.Core.Exceptions;
namespace Bit.Api.Controllers
{
@ -20,13 +21,26 @@ namespace Bit.Api.Controllers
_installationRepository = installationRepository;
}
[HttpPost("{id}")]
[AllowAnonymous]
public async Task<InstallationResponseModel> Get(Guid id)
{
var installation = await _installationRepository.GetByIdAsync(id);
if(installation == null)
{
throw new NotFoundException();
}
return new InstallationResponseModel(installation, false);
}
[HttpPost("")]
[AllowAnonymous]
public async Task<InstallationResponseModel> Post([FromBody] InstallationRequestModel model)
{
var installation = model.ToInstallation();
await _installationRepository.CreateAsync(installation);
return new InstallationResponseModel(installation);
return new InstallationResponseModel(installation, true);
}
}
}

View File

@ -5,14 +5,16 @@ namespace Bit.Core.Models.Api
{
public class InstallationResponseModel : ResponseModel
{
public InstallationResponseModel(Installation installation)
public InstallationResponseModel(Installation installation, bool withKey)
: base("installation")
{
Id = installation.Id.ToString();
Key = installation.Key;
Key = withKey ? installation.Key : null;
Enabled = installation.Enabled;
}
public string Id { get; set; }
public string Key { get; set; }
public bool Enabled { get; set; }
}
}