1
0
mirror of https://github.com/bitwarden/server.git synced 2025-04-21 04:55:08 -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.Core.Models.Api;
using Bit.Api.Utilities; using Bit.Api.Utilities;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Bit.Core.Exceptions;
namespace Bit.Api.Controllers namespace Bit.Api.Controllers
{ {
@ -20,13 +21,26 @@ namespace Bit.Api.Controllers
_installationRepository = installationRepository; _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("")] [HttpPost("")]
[AllowAnonymous] [AllowAnonymous]
public async Task<InstallationResponseModel> Post([FromBody] InstallationRequestModel model) public async Task<InstallationResponseModel> Post([FromBody] InstallationRequestModel model)
{ {
var installation = model.ToInstallation(); var installation = model.ToInstallation();
await _installationRepository.CreateAsync(installation); 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 class InstallationResponseModel : ResponseModel
{ {
public InstallationResponseModel(Installation installation) public InstallationResponseModel(Installation installation, bool withKey)
: base("installation") : base("installation")
{ {
Id = installation.Id.ToString(); Id = installation.Id.ToString();
Key = installation.Key; Key = withKey ? installation.Key : null;
Enabled = installation.Enabled;
} }
public string Id { get; set; } public string Id { get; set; }
public string Key { get; set; } public string Key { get; set; }
public bool Enabled { get; set; }
} }
} }