Added the import/cleanup functionality
This commit is contained in:
+21
-3
@@ -29,9 +29,13 @@ pub struct WatchTrackRequest {
|
||||
}
|
||||
|
||||
pub fn configure(cfg: &mut web::ServiceConfig) {
|
||||
cfg.service(web::resource("/tracks/watch").route(web::post().to(watch_track)))
|
||||
.service(web::resource("/tracks").route(web::get().to(list_tracks)))
|
||||
.service(web::resource("/tracks/{id}").route(web::get().to(get_track)));
|
||||
cfg.service(
|
||||
web::resource("/tracks/watch")
|
||||
.route(web::post().to(watch_track))
|
||||
.route(web::delete().to(unwatch_track)),
|
||||
)
|
||||
.service(web::resource("/tracks").route(web::get().to(list_tracks)))
|
||||
.service(web::resource("/tracks/{id}").route(web::get().to(get_track)));
|
||||
}
|
||||
|
||||
async fn list_tracks(
|
||||
@@ -87,3 +91,17 @@ async fn watch_track(
|
||||
"artist_name": entry.artist_name,
|
||||
})))
|
||||
}
|
||||
|
||||
async fn unwatch_track(
|
||||
state: web::Data<AppState>,
|
||||
session: Session,
|
||||
body: web::Json<WatchTrackRequest>,
|
||||
) -> Result<HttpResponse, ApiError> {
|
||||
auth::require_auth(&session)?;
|
||||
let mbid = body
|
||||
.mbid
|
||||
.as_deref()
|
||||
.ok_or_else(|| ApiError::BadRequest("provide recording mbid".into()))?;
|
||||
let removed = queries::wanted::remove_by_mbid(state.db.conn(), mbid).await?;
|
||||
Ok(HttpResponse::Ok().json(serde_json::json!({"removed": removed})))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user