|
|
- 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(Channel.Mobile, ChannelType.Marketing);
-
- [HttpGet("mobile/shopping")]
- public IActionResult MobileShopping() => ReadConfigurationFile(Channel.Mobile, ChannelType.Shopping);
-
- [HttpGet("web/marketing")]
- public IActionResult WebMarketing() => ReadConfigurationFile(Channel.Web, ChannelType.Marketing);
-
- [HttpGet("web/shopping")]
- public IActionResult WebShopping() => ReadConfigurationFile(Channel.Web, ChannelType.Shopping);
-
- private IActionResult ReadConfigurationFile(Channel channel, ChannelType channelType)
- {
- var path = $"{AppDomain.CurrentDomain.BaseDirectory}/Configurations/configuration.{channel}.Bff.{channelType}.json";
-
- using (var streamReader = new StreamReader(path, Encoding.UTF8))
- {
- var jsonString = streamReader.ReadToEnd();
-
- if (string.IsNullOrWhiteSpace(jsonString))
- {
- return BadRequest($"Configuration file 'configuration.{channel}.Bff.{channelType}.json' not found");
- }
-
- return Ok(jsonString);
- }
- }
- }
- }
|