mirror of
https://github.com/flibusta-apps/users_settings_server.git
synced 2025-12-06 06:35:39 +01:00
This commit is contained in:
@@ -39,12 +39,12 @@ async fn get_users(pagination: Query<Pagination>, db: Database) -> impl IntoResp
|
||||
user_settings.username,
|
||||
user_settings.source,
|
||||
COALESCE(
|
||||
JSON_AGG(JSON_BUILD_OBJECT(
|
||||
'id', languages.id,
|
||||
'label', languages.label,
|
||||
'code', languages.code
|
||||
)),
|
||||
'[]'::JSON
|
||||
ARRAY_AGG(ROW(
|
||||
languages.id,
|
||||
languages.label,
|
||||
languages.code
|
||||
)::user_language_type),
|
||||
ARRAY[]::user_language_type[]
|
||||
) AS "allowed_langs!: Vec<UserLanguage>"
|
||||
FROM user_settings
|
||||
LEFT JOIN users_languages ON user_settings.id = users_languages.user
|
||||
@@ -76,12 +76,12 @@ async fn get_user(Path(user_id): Path<i64>, db: Database) -> impl IntoResponse {
|
||||
user_settings.username,
|
||||
user_settings.source,
|
||||
COALESCE(
|
||||
JSON_AGG(JSON_BUILD_OBJECT(
|
||||
'id', languages.id,
|
||||
'label', languages.label,
|
||||
'code', languages.code
|
||||
)),
|
||||
'[]'::JSON
|
||||
ARRAY_AGG(ROW(
|
||||
languages.id,
|
||||
languages.label,
|
||||
languages.code
|
||||
)::user_language_type),
|
||||
ARRAY[]::user_language_type[]
|
||||
) AS "allowed_langs!: Vec<UserLanguage>"
|
||||
FROM user_settings
|
||||
LEFT JOIN users_languages ON user_settings.id = users_languages.user
|
||||
@@ -138,12 +138,12 @@ async fn create_or_update_user(
|
||||
user_settings.username,
|
||||
user_settings.source,
|
||||
COALESCE(
|
||||
JSON_AGG(JSON_BUILD_OBJECT(
|
||||
'id', languages.id,
|
||||
'label', languages.label,
|
||||
'code', languages.code
|
||||
)),
|
||||
'[]'::JSON
|
||||
ARRAY_AGG(ROW(
|
||||
languages.id,
|
||||
languages.label,
|
||||
languages.code
|
||||
)::user_language_type),
|
||||
ARRAY[]::user_language_type[]
|
||||
) AS "allowed_langs!: Vec<UserLanguage>"
|
||||
FROM user_settings
|
||||
LEFT JOIN users_languages ON user_settings.id = users_languages.user
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(sqlx::FromRow, sqlx::Type, Serialize)]
|
||||
#[sqlx(type_name = "user_language_type")]
|
||||
pub struct UserLanguage {
|
||||
pub id: i32,
|
||||
pub label: String,
|
||||
|
||||
Reference in New Issue
Block a user