using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Web.Http; using Step.Model.DTOModels; using static Step.Utils.Constants; using static Step.Utils.LanguageController; namespace Step.Controllers.WebApi { [RoutePrefix("api/language")] public class LanguageController : ApiController { [Route("languages"), HttpGet] public IHttpActionResult GetLanguageList() { List availableLanguages = GetLanguageListFromDirectory(); if (availableLanguages == null) return NotFound(); return Ok(availableLanguages); } [Route("{language}"), HttpGet()] public IHttpActionResult GetTranslations(string language) { if (!IsValidLanguage(language)) return BadRequest("Language not exists"); if (!LanguageIsAvailable(language)) return NotFound(); Dictionary translations = GetTranslationsFromFile(language); if (translations == null) return InternalServerError(); return Ok(translations); } } }