using Microsoft.AspNetCore.Mvc;
using SVSim.EmulatedEntrypoint.Models.Dtos.Requests;
namespace SVSim.EmulatedEntrypoint.Controllers;
///
/// /download_time/* — asset-download timing telemetry. The client fires
/// POST /download_time/start right before kicking off an Akamai asset bundle
/// download (Wizard/DownloadStartTask.cs) and POST /download_time/end when
/// it completes (Wizard/DownloadFinishTask.cs). Both are pure telemetry from our
/// perspective — we don't track download timings — but the client surfaces an HTTP error
/// dialog if either 404s, so we ack with empty data: {} bodies.
///
/// Explicit because the base controller token would
/// resolve to /downloadtime, missing the underscore.
///
[Route("download_time")]
public class DownloadTimeController : SVSimController
{
///
/// Spec: docs/api-spec/endpoints/post-login/download_time-start.md. The client's
/// DownloadStartTask.Parse reads an optional image_type string
/// ("card" → CardDetail loading-screen art, "still" → StoryDetail, anything
/// else → default). We omit it; the client falls through to the default art.
///
[HttpPost("start")]
public IActionResult Start([FromBody] BaseRequest request) => Ok(new { });
///
/// Spec: docs/api-spec/endpoints/post-login/download_time-end.md. The client's
/// DownloadFinishTask doesn't override Parse at all — only result_code
/// matters. Empty data is the documented minimum-viable response.
///
[HttpPost("end")]
public IActionResult End([FromBody] BaseRequest request) => Ok(new { });
}