roles endpoints in roles controller added
This commit is contained in:
@@ -25,6 +25,14 @@ public class ActorRoleRequest : ActorRole, IActorRoleMediaRequest, IActorRolePer
|
|||||||
PersonActorRoleTypeId = TypeId,
|
PersonActorRoleTypeId = TypeId,
|
||||||
RoleName = Name,
|
RoleName = Name,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
public void UpdateActorRole(PersonActorRole item)
|
||||||
|
{
|
||||||
|
item.MediaId = MediaId;
|
||||||
|
item.PersonId = PersonId;
|
||||||
|
item.PersonActorRoleTypeId = TypeId;
|
||||||
|
item.RoleName = Name;
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
@@ -24,6 +24,13 @@ public class CreatorRoleRequest : CreatorRole, ICreatorRoleMediaRequest, ICreato
|
|||||||
PersonId = PersonId,
|
PersonId = PersonId,
|
||||||
PersonCreatorRoleTypeId = TypeId,
|
PersonCreatorRoleTypeId = TypeId,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
public void UpdateCreatorRole(PersonCreatorRole item)
|
||||||
|
{
|
||||||
|
item.MediaId = MediaId;
|
||||||
|
item.PersonId = PersonId;
|
||||||
|
item.PersonCreatorRoleTypeId = TypeId;
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
@@ -34,16 +34,37 @@ public class RolesController : ControllerBase
|
|||||||
|
|
||||||
#region Actor
|
#region Actor
|
||||||
|
|
||||||
|
[HttpGet("actor/{id}")]
|
||||||
|
[AllowAnonymous]
|
||||||
|
[ProducesResponseType(typeof(IEnumerable<ActorRoleResponse>), StatusCodes.Status200OK)]
|
||||||
|
public async Task<ActionResult> GetActorRole([FromRoute]Guid id) => await _rolesControllerService.GetActorRole(id);
|
||||||
|
|
||||||
|
[HttpPut("actor/{id}")]
|
||||||
|
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status400BadRequest)]
|
||||||
|
[ProducesResponseType(typeof(void), StatusCodes.Status401Unauthorized)]
|
||||||
|
[ProducesResponseType(typeof(void), StatusCodes.Status403Forbidden)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
||||||
|
public async Task<ActionResult> PutActorRole([FromRoute]Guid id, [FromBody]ActorRoleRequest body) => await _rolesControllerService.PutActorRole(id, body);
|
||||||
|
|
||||||
|
[HttpDelete("actor/{id}")]
|
||||||
|
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status204NoContent)]
|
||||||
|
[ProducesResponseType(typeof(void), StatusCodes.Status401Unauthorized)]
|
||||||
|
[ProducesResponseType(typeof(void), StatusCodes.Status403Forbidden)]
|
||||||
|
public async Task<ActionResult> DeleteActorRole([FromRoute]Guid id) => await _rolesControllerService.DeleteActorRole(id);
|
||||||
|
|
||||||
[HttpGet("actor/type")]
|
[HttpGet("actor/type")]
|
||||||
[AllowAnonymous]
|
[AllowAnonymous]
|
||||||
[ProducesResponseType(typeof(IEnumerable<RoleTypeResponse>), StatusCodes.Status200OK)]
|
[ProducesResponseType(typeof(IEnumerable<RoleTypeResponse>), StatusCodes.Status200OK)]
|
||||||
public async Task<ActionResult> GetAllActorRoleTypes(RoleTypeQueryParameters query) => await _rolesControllerService.GetAllActorRoleTypes(query);
|
public async Task<ActionResult> GetAllActorRoleTypes(RoleTypeQueryParameters query) => await _rolesControllerService.GetAllActorRoleTypes(query);
|
||||||
|
|
||||||
[HttpGet("actor/type/{id}")]
|
[HttpGet("actor/type/{type_id}")]
|
||||||
[AllowAnonymous]
|
[AllowAnonymous]
|
||||||
[ProducesResponseType(typeof(RoleTypeResponse), StatusCodes.Status200OK)]
|
[ProducesResponseType(typeof(RoleTypeResponse), StatusCodes.Status200OK)]
|
||||||
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
||||||
public async Task<ActionResult> GetActorRoleType([FromRoute]short id) => await _rolesControllerService.GetActorRoleType(id);
|
public async Task<ActionResult> GetActorRoleType([FromRoute(Name = "type_id")]short typeId) => await _rolesControllerService.GetActorRoleType(typeId);
|
||||||
|
|
||||||
[HttpPost("actor/type")]
|
[HttpPost("actor/type")]
|
||||||
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
|
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
|
||||||
@@ -53,17 +74,38 @@ public class RolesController : ControllerBase
|
|||||||
[ProducesResponseType(typeof(void), StatusCodes.Status403Forbidden)]
|
[ProducesResponseType(typeof(void), StatusCodes.Status403Forbidden)]
|
||||||
public async Task<ActionResult> PostActorRoleType([FromBody]RoleTypeRequest body) => await _rolesControllerService.PostActorRoleType(body);
|
public async Task<ActionResult> PostActorRoleType([FromBody]RoleTypeRequest body) => await _rolesControllerService.PostActorRoleType(body);
|
||||||
|
|
||||||
[HttpDelete("actor/type/{id}")]
|
[HttpDelete("actor/type/{type_id}")]
|
||||||
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
|
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
|
||||||
[ProducesResponseType(StatusCodes.Status204NoContent)]
|
[ProducesResponseType(StatusCodes.Status204NoContent)]
|
||||||
[ProducesResponseType(typeof(void), StatusCodes.Status401Unauthorized)]
|
[ProducesResponseType(typeof(void), StatusCodes.Status401Unauthorized)]
|
||||||
[ProducesResponseType(typeof(void), StatusCodes.Status403Forbidden)]
|
[ProducesResponseType(typeof(void), StatusCodes.Status403Forbidden)]
|
||||||
public async Task<ActionResult> DeleteActorRoleType([FromRoute]short id) => await _rolesControllerService.DeleteActorRoleType(id);
|
public async Task<ActionResult> DeleteActorRoleType([FromRoute(Name = "type_id")]short typeId) => await _rolesControllerService.DeleteActorRoleType(typeId);
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Creator
|
#region Creator
|
||||||
|
|
||||||
|
[HttpGet("creator/{id}")]
|
||||||
|
[AllowAnonymous]
|
||||||
|
[ProducesResponseType(typeof(IEnumerable<CreatorRoleResponse>), StatusCodes.Status200OK)]
|
||||||
|
public async Task<ActionResult> GetCreatorRole([FromRoute]Guid id) => await _rolesControllerService.GetCreatorRole(id);
|
||||||
|
|
||||||
|
[HttpPut("creator/{id}")]
|
||||||
|
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status400BadRequest)]
|
||||||
|
[ProducesResponseType(typeof(void), StatusCodes.Status401Unauthorized)]
|
||||||
|
[ProducesResponseType(typeof(void), StatusCodes.Status403Forbidden)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
||||||
|
public async Task<ActionResult> PutCreatorRole([FromRoute]Guid id, [FromBody]CreatorRoleRequest body) => await _rolesControllerService.PutCreatorRole(id, body);
|
||||||
|
|
||||||
|
[HttpDelete("creator/{id}")]
|
||||||
|
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status204NoContent)]
|
||||||
|
[ProducesResponseType(typeof(void), StatusCodes.Status401Unauthorized)]
|
||||||
|
[ProducesResponseType(typeof(void), StatusCodes.Status403Forbidden)]
|
||||||
|
public async Task<ActionResult> DeleteCreatorRole([FromRoute]Guid id) => await _rolesControllerService.DeleteCreatorRole(id);
|
||||||
|
|
||||||
[HttpGet("creator/type")]
|
[HttpGet("creator/type")]
|
||||||
[AllowAnonymous]
|
[AllowAnonymous]
|
||||||
[ProducesResponseType(typeof(IEnumerable<RoleTypeResponse>), StatusCodes.Status200OK)]
|
[ProducesResponseType(typeof(IEnumerable<RoleTypeResponse>), StatusCodes.Status200OK)]
|
||||||
|
|||||||
@@ -5,13 +5,19 @@ namespace WatchIt.WebAPI.Services.Controllers.Roles;
|
|||||||
|
|
||||||
public interface IRolesControllerService
|
public interface IRolesControllerService
|
||||||
{
|
{
|
||||||
|
Task<RequestResult> GetActorRole(Guid id);
|
||||||
|
Task<RequestResult> PutActorRole(Guid id, ActorRoleRequest data);
|
||||||
|
Task<RequestResult> DeleteActorRole(Guid id);
|
||||||
Task<RequestResult> GetAllActorRoleTypes(RoleTypeQueryParameters query);
|
Task<RequestResult> GetAllActorRoleTypes(RoleTypeQueryParameters query);
|
||||||
Task<RequestResult> GetActorRoleType(short id);
|
Task<RequestResult> GetActorRoleType(short typeId);
|
||||||
Task<RequestResult> PostActorRoleType(RoleTypeRequest data);
|
Task<RequestResult> PostActorRoleType(RoleTypeRequest data);
|
||||||
Task<RequestResult> DeleteActorRoleType(short id);
|
Task<RequestResult> DeleteActorRoleType(short typeId);
|
||||||
|
|
||||||
|
Task<RequestResult> GetCreatorRole(Guid id);
|
||||||
|
Task<RequestResult> PutCreatorRole(Guid id, CreatorRoleRequest data);
|
||||||
|
Task<RequestResult> DeleteCreatorRole(Guid id);
|
||||||
Task<RequestResult> GetAllCreatorRoleTypes(RoleTypeQueryParameters query);
|
Task<RequestResult> GetAllCreatorRoleTypes(RoleTypeQueryParameters query);
|
||||||
Task<RequestResult> GetCreatorRoleType(short id);
|
Task<RequestResult> GetCreatorRoleType(short typeId);
|
||||||
Task<RequestResult> PostCreatorRoleType(RoleTypeRequest data);
|
Task<RequestResult> PostCreatorRoleType(RoleTypeRequest data);
|
||||||
Task<RequestResult> DeleteCreatorRoleType(short id);
|
Task<RequestResult> DeleteCreatorRoleType(short typeId);
|
||||||
}
|
}
|
||||||
@@ -34,6 +34,59 @@ public class RolesControllerService : IRolesControllerService
|
|||||||
|
|
||||||
#region Actor
|
#region Actor
|
||||||
|
|
||||||
|
public async Task<RequestResult> GetActorRole(Guid id)
|
||||||
|
{
|
||||||
|
PersonActorRole? item = await _database.PersonActorRoles.FirstOrDefaultAsync(x => x.Id == id);
|
||||||
|
if (item is null)
|
||||||
|
{
|
||||||
|
return RequestResult.NotFound();
|
||||||
|
}
|
||||||
|
|
||||||
|
ActorRoleResponse data = new ActorRoleResponse(item);
|
||||||
|
return RequestResult.Ok(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<RequestResult> PutActorRole(Guid id, ActorRoleRequest data)
|
||||||
|
{
|
||||||
|
UserValidator validator = _userService.GetValidator().MustBeAdmin();
|
||||||
|
if (!validator.IsValid)
|
||||||
|
{
|
||||||
|
return RequestResult.Forbidden();
|
||||||
|
}
|
||||||
|
|
||||||
|
PersonActorRole? item = await _database.PersonActorRoles.FirstOrDefaultAsync(x => x.Id == id);
|
||||||
|
if (item is null)
|
||||||
|
{
|
||||||
|
return RequestResult.NotFound();
|
||||||
|
}
|
||||||
|
|
||||||
|
data.UpdateActorRole(item);
|
||||||
|
await _database.SaveChangesAsync();
|
||||||
|
|
||||||
|
return RequestResult.Ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<RequestResult> DeleteActorRole(Guid id)
|
||||||
|
{
|
||||||
|
UserValidator validator = _userService.GetValidator().MustBeAdmin();
|
||||||
|
if (!validator.IsValid)
|
||||||
|
{
|
||||||
|
return RequestResult.Forbidden();
|
||||||
|
}
|
||||||
|
|
||||||
|
PersonActorRole? item = await _database.PersonActorRoles.FirstOrDefaultAsync(x => x.Id == id);
|
||||||
|
if (item is null)
|
||||||
|
{
|
||||||
|
return RequestResult.NoContent();
|
||||||
|
}
|
||||||
|
|
||||||
|
_database.PersonActorRoles.Attach(item);
|
||||||
|
_database.PersonActorRoles.Remove(item);
|
||||||
|
await _database.SaveChangesAsync();
|
||||||
|
|
||||||
|
return RequestResult.NoContent();
|
||||||
|
}
|
||||||
|
|
||||||
public async Task<RequestResult> GetAllActorRoleTypes(RoleTypeQueryParameters query)
|
public async Task<RequestResult> GetAllActorRoleTypes(RoleTypeQueryParameters query)
|
||||||
{
|
{
|
||||||
IEnumerable<PersonActorRoleType> rawData = await _database.PersonActorRoleTypes.ToListAsync();
|
IEnumerable<PersonActorRoleType> rawData = await _database.PersonActorRoleTypes.ToListAsync();
|
||||||
@@ -92,10 +145,61 @@ public class RolesControllerService : IRolesControllerService
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#region Creator
|
#region Creator
|
||||||
|
|
||||||
|
public async Task<RequestResult> GetCreatorRole(Guid id)
|
||||||
|
{
|
||||||
|
PersonCreatorRole? item = await _database.PersonCreatorRoles.FirstOrDefaultAsync(x => x.Id == id);
|
||||||
|
if (item is null)
|
||||||
|
{
|
||||||
|
return RequestResult.NotFound();
|
||||||
|
}
|
||||||
|
|
||||||
|
CreatorRoleResponse data = new CreatorRoleResponse(item);
|
||||||
|
return RequestResult.Ok(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<RequestResult> PutCreatorRole(Guid id, CreatorRoleRequest data)
|
||||||
|
{
|
||||||
|
UserValidator validator = _userService.GetValidator().MustBeAdmin();
|
||||||
|
if (!validator.IsValid)
|
||||||
|
{
|
||||||
|
return RequestResult.Forbidden();
|
||||||
|
}
|
||||||
|
|
||||||
|
PersonCreatorRole? item = await _database.PersonCreatorRoles.FirstOrDefaultAsync(x => x.Id == id);
|
||||||
|
if (item is null)
|
||||||
|
{
|
||||||
|
return RequestResult.NotFound();
|
||||||
|
}
|
||||||
|
|
||||||
|
data.UpdateCreatorRole(item);
|
||||||
|
await _database.SaveChangesAsync();
|
||||||
|
|
||||||
|
return RequestResult.Ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<RequestResult> DeleteCreatorRole(Guid id)
|
||||||
|
{
|
||||||
|
UserValidator validator = _userService.GetValidator().MustBeAdmin();
|
||||||
|
if (!validator.IsValid)
|
||||||
|
{
|
||||||
|
return RequestResult.Forbidden();
|
||||||
|
}
|
||||||
|
|
||||||
|
PersonCreatorRole? item = await _database.PersonCreatorRoles.FirstOrDefaultAsync(x => x.Id == id);
|
||||||
|
if (item is null)
|
||||||
|
{
|
||||||
|
return RequestResult.NoContent();
|
||||||
|
}
|
||||||
|
|
||||||
|
_database.PersonCreatorRoles.Attach(item);
|
||||||
|
_database.PersonCreatorRoles.Remove(item);
|
||||||
|
await _database.SaveChangesAsync();
|
||||||
|
|
||||||
|
return RequestResult.NoContent();
|
||||||
|
}
|
||||||
|
|
||||||
public async Task<RequestResult> GetAllCreatorRoleTypes(RoleTypeQueryParameters query)
|
public async Task<RequestResult> GetAllCreatorRoleTypes(RoleTypeQueryParameters query)
|
||||||
{
|
{
|
||||||
IEnumerable<PersonCreatorRoleType> rawData = await _database.PersonCreatorRoleTypes.ToListAsync();
|
IEnumerable<PersonCreatorRoleType> rawData = await _database.PersonCreatorRoleTypes.ToListAsync();
|
||||||
|
|||||||
Reference in New Issue
Block a user