using AutoMapper; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using LibraryAPI.Models; using LibraryAPI.DTOs; namespace LibraryAPI.Controllers { [Route("api/groups")] [ApiController] public class GroupsController : ControllerBase { private readonly LibraryContext _context; private readonly IMapper _mapper; public GroupsController(LibraryContext context, IMapper mapper) { _context = context; _mapper = mapper; } [HttpGet] public async Task>> GetGroups(){ var groups = await _context.Groups.ToListAsync(); return _mapper.Map>(groups); } [HttpGet("{id:int}")] public async Task> GetGroup(long id) { var group = await _context.Groups.FindAsync(id); if(group == null) return NotFound(); return _mapper.Map(group); } [HttpPost] public async Task> PostGroup(CreateGroup data) { var group = _mapper.Map(data); _context.Add(group); await _context.SaveChangesAsync(); return _mapper.Map(group); } } }