using System.Collections.Generic; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Cors; using AutoMapper; using skydiveLogs_api.Domain; using skydiveLogs_api.DomainBusiness.Interfaces; using skydiveLogs_api.DataContract; namespace skydiveLogs_api.Controllers { public class ImageController : Base { public ImageController(IUserImageService imageService, IMapper mapper) { _imageService = imageService; _mapper = mapper; } // GET: api/Image [HttpGet] [EnableCors] public IEnumerable Get() { var result = _imageService.GetAllImages(ConnectedUser); return _mapper.Map>(result); } // GET: api/Image/5 [HttpGet("{id}")] [EnableCors] public ImageResp Get(int id) { var result = _imageService.GetImageById(id); return _mapper.Map(result); } // POST: api/Image [HttpPost] [EnableCors] public void Post([FromBody] ImageReq value) { _imageService.AddNewImage(_mapper.Map(value), ConnectedUser); } // PUT: api/Image/5 [HttpPut("{id}")] [EnableCors] public void Put(int id, [FromBody] ImageReq value) { _imageService.UpdateImage(id, _mapper.Map(value)); } // DELETE: api/Image/5 [HttpDelete("{id}")] [EnableCors] public void Delete(int id) { _imageService.DeleteImageById(id); } private readonly IUserImageService _imageService; private readonly IMapper _mapper; } }