mirror of
https://github.com/flibusta-apps/users_settings_server.git
synced 2025-12-06 06:35:39 +01:00
Fix
This commit is contained in:
@@ -38,11 +38,14 @@ async fn get_users(pagination: Query<Pagination>, db: Database) -> impl IntoResp
|
|||||||
user_settings.first_name,
|
user_settings.first_name,
|
||||||
user_settings.username,
|
user_settings.username,
|
||||||
user_settings.source,
|
user_settings.source,
|
||||||
ARRAY_AGG((
|
COALESCE(
|
||||||
languages.id,
|
JSON_AGG(JSON_BUILD_OBJECT(
|
||||||
languages.label,
|
'id', languages.id,
|
||||||
languages.code
|
'label', languages.label,
|
||||||
)) AS "allowed_langs: Vec<UserLanguage>"
|
'code', languages.code
|
||||||
|
)),
|
||||||
|
'[]'::JSON
|
||||||
|
) AS "allowed_langs!: Vec<UserLanguage>"
|
||||||
FROM user_settings
|
FROM user_settings
|
||||||
LEFT JOIN users_languages ON user_settings.id = users_languages.user
|
LEFT JOIN users_languages ON user_settings.id = users_languages.user
|
||||||
LEFT JOIN languages ON users_languages.language = languages.id
|
LEFT JOIN languages ON users_languages.language = languages.id
|
||||||
@@ -72,11 +75,14 @@ async fn get_user(Path(user_id): Path<i64>, db: Database) -> impl IntoResponse {
|
|||||||
user_settings.first_name,
|
user_settings.first_name,
|
||||||
user_settings.username,
|
user_settings.username,
|
||||||
user_settings.source,
|
user_settings.source,
|
||||||
ARRAY_AGG((
|
COALESCE(
|
||||||
languages.id,
|
JSON_AGG(JSON_BUILD_OBJECT(
|
||||||
languages.label,
|
'id', languages.id,
|
||||||
languages.code
|
'label', languages.label,
|
||||||
)) AS "allowed_langs: Vec<UserLanguage>"
|
'code', languages.code
|
||||||
|
)),
|
||||||
|
'[]'::JSON
|
||||||
|
) AS "allowed_langs!: Vec<UserLanguage>"
|
||||||
FROM user_settings
|
FROM user_settings
|
||||||
LEFT JOIN users_languages ON user_settings.id = users_languages.user
|
LEFT JOIN users_languages ON user_settings.id = users_languages.user
|
||||||
LEFT JOIN languages ON users_languages.language = languages.id
|
LEFT JOIN languages ON users_languages.language = languages.id
|
||||||
@@ -131,11 +137,14 @@ async fn create_or_update_user(
|
|||||||
user_settings.first_name,
|
user_settings.first_name,
|
||||||
user_settings.username,
|
user_settings.username,
|
||||||
user_settings.source,
|
user_settings.source,
|
||||||
ARRAY_AGG((
|
COALESCE(
|
||||||
languages.id,
|
JSON_AGG(JSON_BUILD_OBJECT(
|
||||||
languages.label,
|
'id', languages.id,
|
||||||
languages.code
|
'label', languages.label,
|
||||||
)) AS "allowed_langs: Vec<UserLanguage>"
|
'code', languages.code
|
||||||
|
)),
|
||||||
|
'[]'::JSON
|
||||||
|
) AS "allowed_langs!: Vec<UserLanguage>"
|
||||||
FROM user_settings
|
FROM user_settings
|
||||||
LEFT JOIN users_languages ON user_settings.id = users_languages.user
|
LEFT JOIN users_languages ON user_settings.id = users_languages.user
|
||||||
LEFT JOIN languages ON users_languages.language = languages.id
|
LEFT JOIN languages ON users_languages.language = languages.id
|
||||||
|
|||||||
@@ -25,8 +25,7 @@ pub struct UserDetail {
|
|||||||
pub first_name: String,
|
pub first_name: String,
|
||||||
pub username: String,
|
pub username: String,
|
||||||
pub source: String,
|
pub source: String,
|
||||||
#[serde(default)]
|
pub allowed_langs: Vec<UserLanguage>,
|
||||||
pub allowed_langs: Option<Vec<UserLanguage>>,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Deserialize)]
|
#[derive(Deserialize)]
|
||||||
|
|||||||
Reference in New Issue
Block a user