37 lines
1.0 KiB
C#
37 lines
1.0 KiB
C#
|
|
using Microsoft.AspNetCore.Mvc;
|
||
|
|
using SkyArtShop.Models;
|
||
|
|
using SkyArtShop.Services;
|
||
|
|
|
||
|
|
namespace SkyArtShop.Controllers
|
||
|
|
{
|
||
|
|
[Route("diagnostics")]
|
||
|
|
public class DiagnosticsController : Controller
|
||
|
|
{
|
||
|
|
private readonly MongoDBService _mongoService;
|
||
|
|
|
||
|
|
public DiagnosticsController(MongoDBService mongoService)
|
||
|
|
{
|
||
|
|
_mongoService = mongoService;
|
||
|
|
}
|
||
|
|
|
||
|
|
[HttpGet("products")]
|
||
|
|
public async Task<IActionResult> Products()
|
||
|
|
{
|
||
|
|
var products = await _mongoService.GetAllAsync<Product>("Products");
|
||
|
|
|
||
|
|
var report = products.Select(p => new
|
||
|
|
{
|
||
|
|
p.Id,
|
||
|
|
p.Name,
|
||
|
|
p.ImageUrl,
|
||
|
|
ImagesCount = p.Images?.Count ?? 0,
|
||
|
|
FirstImage = p.Images?.FirstOrDefault(),
|
||
|
|
HasImageUrl = !string.IsNullOrEmpty(p.ImageUrl),
|
||
|
|
HasImages = p.Images != null && p.Images.Any()
|
||
|
|
}).ToList();
|
||
|
|
|
||
|
|
return Json(report);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|