using System.Collections.Generic; using System.Threading.Tasks; using FarmatikoData.Models; using FarmatikoServices.FarmatikoServiceInterfaces; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace Farmatiko.Controllers { [ApiController] [Authorize(Roles = "PharmacyHead")] public class PharmacyHeadController : Controller { private readonly IPHService _PHService; public PharmacyHeadController(IPHService PHService) { _PHService = PHService; } //GET /* [HttpGet] [Route("api/pharmacyhead")] public async Task> GetPharmacyHeadInfo() { var PHeads = await _PHService.GetPharmacyHeadInfo(); return PHeads; }*/ [HttpGet] [Route("api/pharmacyhead/{Id}")] public async Task GetPharmacyHeadById([FromRoute]int Id) { var Phead = await _PHService.GetPharmacyHeadByIdAsync(Id); return Phead; } //POST /* [HttpPost] [Route("api/pharmacyhead/add")] public async Task AddPharmacyHead([FromBody]PharmacyHead pharmacyHead) { bool Success = await _PHService.Add(pharmacyHead); return Ok(Success); }*/ /*[HttpPost] [Route("api/pharmacyhead/login")] public async Task Login([FromBody]PharmacyHead pharmacyHead) { return await _PHService.Login(pharmacyHead); }*/ [HttpPut] [Route("api/pharmacyhead")] [Authorize(Roles = "Admin")] [Authorize(Roles = "PharmacyHead")] public async Task UpdatePharmacyHead([FromBody]PharmacyHead pharmacyHead) { await _PHService.UpdatePharmacyHead(pharmacyHead); } [HttpPost] [Route("api/pharmacyhead/requests")] public async Task ClaimPharmacy([FromBody]RequestPharmacyHead pharmacy) { bool Success = await _PHService.ClaimPharmacy(pharmacy); return Ok(Success); } [HttpDelete] [Route("api/pharmacyhead/delete/{Id}")] public async Task Remove([FromRoute] int Id) { bool Success = await _PHService.Remove(Id); return Ok(Success); } [HttpPost] [Route("api/pharmacyhead/requests/{Id}")] public async Task RemoveClaimingRequest([FromRoute] int Id) { bool Success = await _PHService.RemoveClaimingRequest(Id); return Ok(Success); } } }