// ========================================================================== // Squidex Headless CMS // ========================================================================== // Copyright (c) Squidex UG (haftungsbeschraenkt) // All rights reserved. Licensed under the MIT license. // ========================================================================== using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Squidex.Areas.Api.Controllers.News.Models; using Squidex.Areas.Api.Controllers.News.Service; using Squidex.Infrastructure.Commands; using Squidex.Web; namespace Squidex.Areas.Api.Controllers.News { /// /// Readonly API for news items. /// [ApiExplorerSettings(GroupName = nameof(News))] public sealed class NewsController : ApiController { private readonly FeaturesService featuresService; public NewsController(ICommandBus commandBus, FeaturesService featuresService) : base(commandBus) { this.featuresService = featuresService; } /// /// Get features since version. /// /// The latest received version. /// /// 200 => Latest features returned. /// [HttpGet] [Route("news/features/")] [ProducesResponseType(typeof(FeaturesDto), 200)] [ApiPermission] public async Task GetNews([FromQuery] int version = 0) { var features = await featuresService.GetFeaturesAsync(version); return Ok(features); } } }