AdoS8DimensionController.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using Admin.NET.Plugin.AiDOP.Infrastructure;
  2. using Admin.NET.Plugin.AiDOP.Service.S8;
  3. namespace Admin.NET.Plugin.AiDOP.Controllers.S8;
  4. [ApiController]
  5. [Route("api/aidop/s8/config")]
  6. [NonUnify]
  7. public class AdoS8DimensionController : ControllerBase
  8. {
  9. private readonly S8DimensionService _svc;
  10. private readonly S8TrustedScopeResolver _scope;
  11. public AdoS8DimensionController(S8DimensionService svc, S8TrustedScopeResolver scope)
  12. {
  13. _svc = svc;
  14. _scope = scope;
  15. }
  16. [HttpGet("dimensions")]
  17. public async Task<IActionResult> GetDimensionsAsync(
  18. [FromQuery] long tenantId = 1,
  19. [FromQuery] long factoryId = 1)
  20. {
  21. // Compatibility-only. Security scope is resolved server-side.
  22. _ = tenantId; _ = factoryId;
  23. var scope = await _scope.ResolveAsync();
  24. return Ok(await _svc.GetDimensionsAsync(scope.TenantId, scope.FactoryId));
  25. }
  26. [HttpGet("dimension-nodes")]
  27. public async Task<IActionResult> GetDimensionNodesAsync(
  28. [FromQuery] long tenantId = 1,
  29. [FromQuery] long factoryId = 1,
  30. [FromQuery] string? dimensionCode = null)
  31. {
  32. // Compatibility-only. Security scope is resolved server-side.
  33. _ = tenantId; _ = factoryId;
  34. var scope = await _scope.ResolveAsync();
  35. return Ok(await _svc.GetDimensionNodesAsync(scope.TenantId, scope.FactoryId, dimensionCode));
  36. }
  37. }