From 6e4df8cb0ba8cf5ac7c24d2bad68589e795d4261 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Thu, 28 Feb 2019 20:51:47 -0500 Subject: [PATCH] test group get api for swagger --- .../Public/Controllers/GroupsController.cs | 18 ++++++++++-- .../Api/Public/Response/GroupResponseModel.cs | 29 +++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 src/Core/Models/Api/Public/Response/GroupResponseModel.cs diff --git a/src/Api/Public/Controllers/GroupsController.cs b/src/Api/Public/Controllers/GroupsController.cs index 4b8db4fecc..c049b7a37b 100644 --- a/src/Api/Public/Controllers/GroupsController.cs +++ b/src/Api/Public/Controllers/GroupsController.cs @@ -1,4 +1,5 @@ using System; +using Bit.Core.Models.Api.Public; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; @@ -8,10 +9,23 @@ namespace Bit.Api.Public.Controllers [Authorize("Organization")] public class GroupsController : Controller { + /// + /// Retrieves a specific product by unique id + /// + /// Awesomeness! + /// Group created + /// Group has missing/invalid values + /// Oops! Can't create your product right now [HttpGet("{id}")] - public JsonResult Get(string id) + [ProducesResponseType(typeof(GroupResponseModel), 200)] + public IActionResult Get(Guid id) { - return new JsonResult("Hello " + id); + return new JsonResult(new GroupResponseModel(new Core.Models.Table.Group + { + Id = id, + Name = "test", + OrganizationId = Guid.NewGuid() + })); } } } diff --git a/src/Core/Models/Api/Public/Response/GroupResponseModel.cs b/src/Core/Models/Api/Public/Response/GroupResponseModel.cs new file mode 100644 index 0000000000..dd42c69202 --- /dev/null +++ b/src/Core/Models/Api/Public/Response/GroupResponseModel.cs @@ -0,0 +1,29 @@ +using System; +using Bit.Core.Models.Table; + +namespace Bit.Core.Models.Api.Public +{ + public class GroupResponseModel : ResponseModel + { + public GroupResponseModel(Group group, string obj = "group") + : base(obj) + { + if(group == null) + { + throw new ArgumentNullException(nameof(group)); + } + + Id = group.Id; + OrganizationId = group.OrganizationId; + Name = group.Name; + AccessAll = group.AccessAll; + ExternalId = group.ExternalId; + } + + public Guid Id { get; set; } + public Guid OrganizationId { get; set; } + public string Name { get; set; } + public bool AccessAll { get; set; } + public string ExternalId { get; set; } + } +}