using System.Collections.Generic; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Authorization; using Oqtane.Repository; using Oqtane.Models; using Oqtane.Shared; namespace Oqtane.Controllers { [Route("{site}/api/[controller]")] public class PageModuleController : Controller { private readonly IPageModuleRepository PageModules; public PageModuleController(IPageModuleRepository PageModules) { this.PageModules = PageModules; } // GET: api/ [HttpGet] public IEnumerable Get() { return PageModules.GetPageModules(); } // GET api//5 [HttpGet("{id}")] public PageModule Get(int id) { return PageModules.GetPageModule(id); } // POST api/ [HttpPost] [Authorize(Roles = Constants.AdminRole)] public PageModule Post([FromBody] PageModule PageModule) { if (ModelState.IsValid) { PageModule = PageModules.AddPageModule(PageModule); } return PageModule; } // PUT api//5 [HttpPut("{id}")] [Authorize(Roles = Constants.AdminRole)] public PageModule Put(int id, [FromBody] PageModule PageModule) { if (ModelState.IsValid) { PageModule = PageModules.UpdatePageModule(PageModule); } return PageModule; } // DELETE api//5 [HttpDelete("{id}")] [Authorize(Roles = Constants.AdminRole)] public void Delete(int id) { PageModules.DeletePageModule(id); } } }