Added auth
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
use actix_session::Session;
|
||||
use actix_web::{HttpResponse, web};
|
||||
use serde::Deserialize;
|
||||
|
||||
use shanty_search::SearchProvider;
|
||||
|
||||
use crate::auth;
|
||||
use crate::error::ApiError;
|
||||
use crate::state::AppState;
|
||||
|
||||
@@ -34,16 +36,20 @@ pub fn configure(cfg: &mut web::ServiceConfig) {
|
||||
|
||||
async fn search_artist(
|
||||
state: web::Data<AppState>,
|
||||
session: Session,
|
||||
query: web::Query<ArtistSearchParams>,
|
||||
) -> Result<HttpResponse, ApiError> {
|
||||
auth::require_auth(&session)?;
|
||||
let results = state.search.search_artist(&query.q, query.limit).await?;
|
||||
Ok(HttpResponse::Ok().json(results))
|
||||
}
|
||||
|
||||
async fn search_album(
|
||||
state: web::Data<AppState>,
|
||||
session: Session,
|
||||
query: web::Query<AlbumTrackSearchParams>,
|
||||
) -> Result<HttpResponse, ApiError> {
|
||||
auth::require_auth(&session)?;
|
||||
let results = state
|
||||
.search
|
||||
.search_album(&query.q, query.artist.as_deref(), query.limit)
|
||||
@@ -53,8 +59,10 @@ async fn search_album(
|
||||
|
||||
async fn search_track(
|
||||
state: web::Data<AppState>,
|
||||
session: Session,
|
||||
query: web::Query<AlbumTrackSearchParams>,
|
||||
) -> Result<HttpResponse, ApiError> {
|
||||
auth::require_auth(&session)?;
|
||||
let results = state
|
||||
.search
|
||||
.search_track(&query.q, query.artist.as_deref(), query.limit)
|
||||
@@ -64,8 +72,10 @@ async fn search_track(
|
||||
|
||||
async fn get_discography(
|
||||
state: web::Data<AppState>,
|
||||
session: Session,
|
||||
path: web::Path<String>,
|
||||
) -> Result<HttpResponse, ApiError> {
|
||||
auth::require_auth(&session)?;
|
||||
let artist_id = path.into_inner();
|
||||
let disco = state.search.get_discography(&artist_id).await?;
|
||||
Ok(HttpResponse::Ok().json(disco))
|
||||
|
||||
Reference in New Issue
Block a user