summaryrefslogtreecommitdiff
path: root/Controllers/GroupsController.cs
diff options
context:
space:
mode:
authorHombreLaser <sebastian-440@live.com>2022-11-06 17:04:29 -0600
committerHombreLaser <sebastian-440@live.com>2022-11-06 17:04:29 -0600
commit8b40d27710e532a43aaf1eb198be64af1a2e576e (patch)
treecd2264d249e7cb4d1a9e3407d36d0db9680ef913 /Controllers/GroupsController.cs
parent08819c6738a4f82ccf07ae5ed60835b087f7bb34 (diff)
Añadidos DTOs y AutomapperHEADmain
Diffstat (limited to 'Controllers/GroupsController.cs')
-rw-r--r--Controllers/GroupsController.cs35
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);
}
}
}