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; }
+ }
+}