DocSpace-buildtools/products/ASC.People/Server/Api/GroupController.cs

129 lines
4.1 KiB
C#
Raw Normal View History

2022-02-28 20:25:25 +00:00
namespace ASC.Employee.Core.Controllers;
[Scope]
[DefaultRoute]
[ApiController]
public class GroupController : ControllerBase
2019-06-21 09:07:49 +00:00
{
2022-03-01 11:52:52 +00:00
private readonly GroupControllerEngine _groupControllerEngine;
2022-02-28 20:25:25 +00:00
2022-03-01 11:52:52 +00:00
public GroupController(GroupControllerEngine groupControllerEngine)
2019-06-21 09:07:49 +00:00
{
2022-03-01 11:52:52 +00:00
_groupControllerEngine = groupControllerEngine;
2022-02-28 20:25:25 +00:00
}
2019-06-21 09:07:49 +00:00
2022-02-28 20:25:25 +00:00
[Read]
public IEnumerable<GroupSummaryDto> GetAll()
{
2022-03-01 11:52:52 +00:00
return _groupControllerEngine.GetAll();
2022-02-28 20:25:25 +00:00
}
2022-02-28 20:25:25 +00:00
[Read("full")]
public IEnumerable<GroupDto> GetAllWithMembers()
{
2022-03-01 11:52:52 +00:00
return _groupControllerEngine.GetAllWithMembers();
2022-02-28 20:25:25 +00:00
}
2019-06-21 09:07:49 +00:00
2022-02-28 20:25:25 +00:00
[Read("{groupid}")]
public GroupDto GetById(Guid groupid)
{
2022-03-01 11:52:52 +00:00
return _groupControllerEngine.GetById(groupid);
2022-02-28 20:25:25 +00:00
}
2020-11-06 09:03:49 +00:00
2022-02-28 20:25:25 +00:00
[Read("user/{userid}")]
public IEnumerable<GroupSummaryDto> GetByUserId(Guid userid)
{
2022-03-01 11:52:52 +00:00
return _groupControllerEngine.GetByUserId(userid);
2022-02-28 20:25:25 +00:00
}
2020-11-06 09:03:49 +00:00
2022-02-28 20:25:25 +00:00
[Create]
public GroupDto AddGroupFromBody([FromBody] GroupRequestDto groupModel)
{
2022-03-01 11:52:52 +00:00
return _groupControllerEngine.AddGroup(groupModel);
2022-02-28 20:25:25 +00:00
}
[Create]
[Consumes("application/x-www-form-urlencoded")]
public GroupDto AddGroupFromForm([FromForm] GroupRequestDto groupModel)
{
2022-03-01 11:52:52 +00:00
return _groupControllerEngine.AddGroup(groupModel);
2022-02-28 20:25:25 +00:00
}
2019-06-21 09:07:49 +00:00
2022-02-28 20:25:25 +00:00
[Update("{groupid}")]
public GroupDto UpdateGroupFromBody(Guid groupid, [FromBody] GroupRequestDto groupModel)
{
2022-03-01 11:52:52 +00:00
return _groupControllerEngine.UpdateGroup(groupid, groupModel);
2022-02-28 20:25:25 +00:00
}
2020-11-06 09:03:49 +00:00
2022-02-28 20:25:25 +00:00
[Update("{groupid}")]
[Consumes("application/x-www-form-urlencoded")]
public GroupDto UpdateGroupFromForm(Guid groupid, [FromForm] GroupRequestDto groupModel)
{
2022-03-01 11:52:52 +00:00
return _groupControllerEngine.UpdateGroup(groupid, groupModel);
2022-02-28 20:25:25 +00:00
}
2019-06-21 09:07:49 +00:00
2022-02-28 20:25:25 +00:00
[Delete("{groupid}")]
public GroupDto DeleteGroup(Guid groupid)
{
2022-03-01 11:52:52 +00:00
return _groupControllerEngine.DeleteGroup(groupid);
2022-02-28 20:25:25 +00:00
}
2019-06-21 09:07:49 +00:00
2022-02-28 20:25:25 +00:00
[Update("{groupid}/members/{newgroupid}")]
public GroupDto TransferMembersTo(Guid groupid, Guid newgroupid)
{
2022-03-01 11:52:52 +00:00
return _groupControllerEngine.TransferMembersTo(groupid, newgroupid);
2022-02-28 20:25:25 +00:00
}
2019-06-21 09:07:49 +00:00
2022-02-28 20:25:25 +00:00
[Create("{groupid}/members")]
public GroupDto SetMembersToFromBody(Guid groupid, [FromBody] GroupRequestDto groupModel)
{
2022-03-01 11:52:52 +00:00
return _groupControllerEngine.SetMembersTo(groupid, groupModel);
2022-02-28 20:25:25 +00:00
}
2019-06-21 09:07:49 +00:00
2022-02-28 20:25:25 +00:00
[Create("{groupid}/members")]
[Consumes("application/x-www-form-urlencoded")]
public GroupDto SetMembersToFromForm(Guid groupid, [FromForm] GroupRequestDto groupModel)
{
2022-03-01 11:52:52 +00:00
return _groupControllerEngine.SetMembersTo(groupid, groupModel);
2022-02-28 20:25:25 +00:00
}
2020-11-06 09:03:49 +00:00
2022-02-28 20:25:25 +00:00
[Update("{groupid}/members")]
public GroupDto AddMembersToFromBody(Guid groupid, [FromBody] GroupRequestDto groupModel)
{
2022-03-01 11:52:52 +00:00
return _groupControllerEngine.AddMembersTo(groupid, groupModel);
2022-02-28 20:25:25 +00:00
}
2019-06-21 09:07:49 +00:00
2022-02-28 20:25:25 +00:00
[Update("{groupid}/members")]
[Consumes("application/x-www-form-urlencoded")]
public GroupDto AddMembersToFromForm(Guid groupid, [FromForm] GroupRequestDto groupModel)
{
2022-03-01 11:52:52 +00:00
return _groupControllerEngine.AddMembersTo(groupid, groupModel);
2022-02-28 20:25:25 +00:00
}
2019-06-21 09:07:49 +00:00
2022-02-28 20:25:25 +00:00
[Update("{groupid}/manager")]
public GroupDto SetManagerFromBody(Guid groupid, [FromBody] SetManagerRequestDto setManagerModel)
{
2022-03-01 11:52:52 +00:00
return _groupControllerEngine.SetManager(groupid, setManagerModel);
2022-02-28 20:25:25 +00:00
}
2019-06-21 09:07:49 +00:00
2022-02-28 20:25:25 +00:00
[Update("{groupid}/manager")]
[Consumes("application/x-www-form-urlencoded")]
public GroupDto SetManagerFromForm(Guid groupid, [FromForm] SetManagerRequestDto setManagerModel)
{
2022-03-01 11:52:52 +00:00
return _groupControllerEngine.SetManager(groupid, setManagerModel);
2022-02-28 20:25:25 +00:00
}
[Delete("{groupid}/members")]
public GroupDto RemoveMembersFromFromBody(Guid groupid, [FromBody] GroupRequestDto groupModel)
{
2022-03-01 11:52:52 +00:00
return _groupControllerEngine.RemoveMembersFrom(groupid, groupModel);
2022-02-28 20:25:25 +00:00
}
[Delete("{groupid}/members")]
[Consumes("application/x-www-form-urlencoded")]
public GroupDto RemoveMembersFromFromForm(Guid groupid, [FromForm] GroupRequestDto groupModel)
{
2022-03-01 11:52:52 +00:00
return _groupControllerEngine.RemoveMembersFrom(groupid, groupModel);
2019-06-21 09:07:49 +00:00
}
2022-02-28 20:25:25 +00:00
}