package com.fabledsword.minstrel.api.endpoints

import com.fabledsword.minstrel.models.wire.AdminQuarantineItemWire
import retrofit2.http.GET
import retrofit2.http.POST
import retrofit2.http.Path

/**
 * Retrofit interface for `/api/admin/quarantine`. Mirrors
 * `flutter_client/lib/api/endpoints/admin_quarantine.dart`.
 *
 * Three resolution endpoints:
 *   - `resolve`        → admin reviewed, no action taken (clears flags).
 *   - `delete-file`    → drop the local file; Lidarr keeps the track.
 *   - `delete-via-lidarr` → ask Lidarr to remove the track upstream too.
 */
interface AdminQuarantineApi {
    @GET("api/admin/quarantine")
    suspend fun list(): List<AdminQuarantineItemWire>

    @POST("api/admin/quarantine/{trackId}/resolve")
    suspend fun resolve(@Path("trackId") trackId: String)

    @POST("api/admin/quarantine/{trackId}/delete-file")
    suspend fun deleteFile(@Path("trackId") trackId: String)

    @POST("api/admin/quarantine/{trackId}/delete-via-lidarr")
    suspend fun deleteViaLidarr(@Path("trackId") trackId: String)
}
