simplified and removed terminal stuff

This commit is contained in:
Priec
2026-05-19 20:03:20 +02:00
parent 98a1c69582
commit c1db8358c4
20 changed files with 527 additions and 182 deletions

View File

@@ -1,5 +1,5 @@
use crate::{
controllers::{admin, auth as auth_controller},
controllers::{admin, auth as auth_controller, i18n::current_lang},
models::{
_entities::{audio_albums, audio_tracks},
users,
@@ -439,6 +439,7 @@ async fn image_upload(auth: auth::JWT, State(ctx): State<AppContext>, multipart:
#[debug_handler]
async fn admin_images(
auth: auth::JWT,
jar: CookieJar,
ViewEngine(v): ViewEngine<TeraView>,
Query(query): Query<HashMap<String, String>>,
State(ctx): State<AppContext>,
@@ -451,6 +452,7 @@ async fn admin_images(
json!({
"uploaded": uploaded,
"uploaded_url": uploaded.map(|filename| format!("/images/{filename}")),
"lang": current_lang(&jar),
}),
)
}
@@ -507,7 +509,11 @@ async fn public_albums(
format::view(
&v,
"audio/albums.html",
json!({ "albums": albums, "logged_in_admin": logged_in_admin(&ctx, &jar).await }),
json!({
"albums": albums,
"logged_in_admin": logged_in_admin(&ctx, &jar).await,
"lang": current_lang(&jar),
}),
)
}
@@ -544,6 +550,7 @@ async fn public_album(
"album": album,
"tracks": tracks,
"logged_in_admin": logged_in_admin(&ctx, &jar).await,
"lang": current_lang(&jar),
}),
)
}
@@ -599,13 +606,18 @@ async fn public_tracks(
format::view(
&v,
"audio/tracks.html",
json!({ "tracks": tracks, "logged_in_admin": logged_in_admin(&ctx, &jar).await }),
json!({
"tracks": tracks,
"logged_in_admin": logged_in_admin(&ctx, &jar).await,
"lang": current_lang(&jar),
}),
)
}
#[debug_handler]
async fn admin_albums(
auth: auth::JWT,
jar: CookieJar,
ViewEngine(v): ViewEngine<TeraView>,
State(ctx): State<AppContext>,
) -> Result<Response> {
@@ -623,12 +635,17 @@ async fn admin_albums(
rows.push(json!({ "album": album, "track_count": track_count }));
}
format::view(&v, "admin/audio/albums.html", json!({ "albums": rows }))
format::view(
&v,
"admin/audio/albums.html",
json!({ "albums": rows, "lang": current_lang(&jar) }),
)
}
#[debug_handler]
async fn admin_tracks(
auth: auth::JWT,
jar: CookieJar,
ViewEngine(v): ViewEngine<TeraView>,
State(ctx): State<AppContext>,
) -> Result<Response> {
@@ -638,18 +655,34 @@ async fn admin_tracks(
.all(&ctx.db)
.await?;
format::view(&v, "admin/audio/songs.html", json!({ "tracks": tracks }))
format::view(
&v,
"admin/audio/songs.html",
json!({ "tracks": tracks, "lang": current_lang(&jar) }),
)
}
#[debug_handler]
async fn admin_album_new(auth: auth::JWT, ViewEngine(v): ViewEngine<TeraView>, State(ctx): State<AppContext>) -> Result<Response> {
async fn admin_album_new(
auth: auth::JWT,
jar: CookieJar,
ViewEngine(v): ViewEngine<TeraView>,
State(ctx): State<AppContext>,
) -> Result<Response> {
admin::current_admin(auth, &ctx).await?;
let available_tracks = audio_tracks::Entity::find()
.filter(audio_tracks::Column::AlbumId.is_null())
.order_by_asc(audio_tracks::Column::Title)
.all(&ctx.db)
.await?;
format::view(&v, "admin/audio/new_album.html", json!({ "available_tracks": available_tracks }))
format::view(
&v,
"admin/audio/new_album.html",
json!({
"available_tracks": available_tracks,
"lang": current_lang(&jar),
}),
)
}
#[debug_handler]
@@ -713,6 +746,7 @@ async fn admin_album_create(
#[debug_handler]
async fn admin_album_tracks(
auth: auth::JWT,
jar: CookieJar,
ViewEngine(v): ViewEngine<TeraView>,
Path(album_id): Path<Uuid>,
State(ctx): State<AppContext>,
@@ -734,7 +768,12 @@ async fn admin_album_tracks(
format::view(
&v,
"admin/audio/tracks.html",
json!({ "album": album, "tracks": tracks, "available_tracks": available_tracks }),
json!({
"album": album,
"tracks": tracks,
"available_tracks": available_tracks,
"lang": current_lang(&jar),
}),
)
}
@@ -784,6 +823,7 @@ async fn admin_track_remove_from_album(
#[debug_handler]
async fn admin_track_upload_form(
auth: auth::JWT,
jar: CookieJar,
ViewEngine(v): ViewEngine<TeraView>,
Path(album_id): Path<Uuid>,
State(ctx): State<AppContext>,
@@ -792,18 +832,23 @@ async fn admin_track_upload_form(
format::view(
&v,
"admin/audio/upload_track.html",
json!({ "album": album_by_id(&ctx, album_id).await? }),
json!({ "album": album_by_id(&ctx, album_id).await?, "lang": current_lang(&jar) }),
)
}
#[debug_handler]
async fn admin_song_upload_form(
auth: auth::JWT,
jar: CookieJar,
ViewEngine(v): ViewEngine<TeraView>,
State(ctx): State<AppContext>,
) -> Result<Response> {
admin::current_admin(auth, &ctx).await?;
format::view(&v, "admin/audio/upload_track.html", json!({ "album": null }))
format::view(
&v,
"admin/audio/upload_track.html",
json!({ "album": null, "lang": current_lang(&jar) }),
)
}
async fn create_uploaded_track(