diff options
author | HombreLaser <sebastian-440@live.com> | 2022-11-06 17:04:29 -0600 |
---|---|---|
committer | HombreLaser <sebastian-440@live.com> | 2022-11-06 17:04:29 -0600 |
commit | 8b40d27710e532a43aaf1eb198be64af1a2e576e (patch) | |
tree | cd2264d249e7cb4d1a9e3407d36d0db9680ef913 /Controllers/GroupsController.cs | |
parent | 08819c6738a4f82ccf07ae5ed60835b087f7bb34 (diff) |
Diffstat (limited to 'Controllers/GroupsController.cs')
-rw-r--r-- | Controllers/GroupsController.cs | 35 |
1 files changed, 28 insertions, 7 deletions
diff --git a/Controllers/GroupsController.cs b/Controllers/GroupsController.cs index f81cc56..5c2be1d 100644 --- a/Controllers/GroupsController.cs +++ b/Controllers/GroupsController.cs @@ -1,24 +1,45 @@ +using AutoMapper; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using LibraryAPI.Models; -using LibraryAPI.Filters; +using LibraryAPI.DTOs; namespace LibraryAPI.Controllers { [Route("api/groups")] [ApiController] public class GroupsController : ControllerBase { - private readonly LibraryContext _context; + private readonly LibraryContext _context; + private readonly IMapper _mapper; - public GroupsController(LibraryContext context) { + public GroupsController(LibraryContext context, IMapper mapper) { _context = context; + _mapper = mapper; } - [HttpPost] - public async Task<ActionResult> PostGroup(Group g) { - _context.Add(g); + [HttpGet] + public async Task<ActionResult<List<GroupDTO>>> GetGroups(){ + var groups = await _context.Groups.ToListAsync(); + + return _mapper.Map<List<GroupDTO>>(groups); + } + + [HttpGet("{id:int}")] + public async Task<ActionResult<GroupDTO>> GetGroup(long id) { + var group = await _context.Groups.FindAsync(id); + + if(group == null) + return NotFound(); + + return _mapper.Map<GroupDTO>(group); + } + + [HttpPost] + public async Task<ActionResult<GroupDTO>> PostGroup(CreateGroup data) { + var group = _mapper.Map<Group>(data); + _context.Add(group); await _context.SaveChangesAsync(); - return Ok(); + return _mapper.Map<GroupDTO>(group); } } } |