Skip to content
Snippets Groups Projects
Commit 9a0c9943 authored by esantangelo's avatar esantangelo
Browse files

forum GetById

parent e7bc0e33
No related branches found
No related tags found
No related merge requests found
Pipeline #10660 passed
......@@ -36,20 +36,6 @@ namespace Tsi1.Api.Controllers
return Ok(result.Data);
}
//[Authorize(Roles = UserTypes.Professor)]
//[HttpPost("Create")]
//public async Task<IActionResult> Create(ForumCreateDto newForum)
//{
// var result = await _forumService.Create(newForum);
// if (result.HasError)
// {
// return BadRequest(result.Message);
// }
// return Ok(result.Data);
//}
[Authorize(Roles = UserTypes.Professor)]
[HttpPut("{id}")]
public async Task<IActionResult> Modify(int id, ForumModifyDto forum)
......@@ -99,5 +85,19 @@ namespace Tsi1.Api.Controllers
return Ok();
}
[Authorize(Roles = UserTypes.Professor + ", " + UserTypes.Student + ", " + UserTypes.FacultyAdmin)]
[HttpGet("GetById/{forumId}")]
public async Task<IActionResult> GetById(int forumId)
{
var result = await _forumService.GetById(forumId);
if (result.HasError)
{
return BadRequest(result.Message);
}
return Ok(result.Data);
}
}
}
......@@ -16,5 +16,6 @@ namespace Tsi1.BusinessLayer.Interfaces
Task<ServiceResult<Forum>> Delete(int forumId);
Task<ServiceResult<List<string>>> GetSubscribedUsers(int forumId);
Task<ServiceResult<List<bool>>> Subscribe(int forumId, int userId);
Task<ServiceResult<ForumPreviewDto>> GetById(int forumId);
}
}
......@@ -190,5 +190,23 @@ namespace Tsi1.BusinessLayer.Services
return result;
}
public async Task<ServiceResult<ForumPreviewDto>> GetById(int forumId)
{
var result = new ServiceResult<ForumPreviewDto>();
var forum = await _context.Forums.AsNoTracking().FirstOrDefaultAsync(x => x.Id == forumId);
if (forum == null)
{
result.HasError = true;
result.Message = string.Format(ErrorMessages.ForumDoesNotExist, forumId);
return result;
}
result.Data = _mapper.Map<ForumPreviewDto>(forum);
return result;
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment