|
|
- using ApiGw_Base.Enums;
- using Microsoft.AspNetCore.Mvc;
- using System;
- using System.IO;
- using System.Text;
-
- namespace ApiGw_Base.Controllers
- {
- [Route("[controller]")]
- [ApiController]
- public class ConfigurationController : ControllerBase
- {
- [HttpGet("mobile/marketing")]
- public IActionResult MobileMarketing() => ReadConfigurationFile(ConfigurationType.Mobile, ConfigurationBffType.Marketing);
-
- [HttpGet("mobile/shopping")]
- public IActionResult MobileShopping() => ReadConfigurationFile(ConfigurationType.Mobile, ConfigurationBffType.Shopping);
-
- [HttpGet("web/marketing")]
- public IActionResult WebMarketing() => ReadConfigurationFile(ConfigurationType.Web, ConfigurationBffType.Marketing);
-
- [HttpGet("web/shopping")]
- public IActionResult WebShopping() => ReadConfigurationFile(ConfigurationType.Web, ConfigurationBffType.Shopping);
-
- private IActionResult ReadConfigurationFile(ConfigurationType configurationType, ConfigurationBffType configurationBffType)
- {
- var path = $"{AppDomain.CurrentDomain.BaseDirectory}/Configurations/configuration.{configurationType}.Bff.{configurationBffType}.json";
-
- using (var streamReader = new StreamReader(path, Encoding.UTF8))
- {
- var jsonString = streamReader.ReadToEnd();
-
- if (string.IsNullOrWhiteSpace(jsonString))
- {
- return BadRequest($"Configuration file 'configuration.{configurationType}.Bff.{configurationBffType}.json' not found");
- }
-
- return Ok(jsonString);
- }
- }
- }
- }
|