From 3ac4397af320a59c08af29041fc8a32760e826f8 Mon Sep 17 00:00:00 2001
From: Kubat <mael.martin31@gmail.com>
Date: Wed, 25 Jan 2023 10:17:26 +0100
Subject: [PATCH] LKT: Change config, need to include the admin password and a
 user name that won't be verified (used for playlist creation)

---
 src/rust/amadeus-next/lkt-rs/src/config.rs | 17 +++++++++++------
 src/rust/amadeus-next/lkt-rs/src/main.rs   |  2 +-
 2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/src/rust/amadeus-next/lkt-rs/src/config.rs b/src/rust/amadeus-next/lkt-rs/src/config.rs
index 67115c07..eb0dbbdc 100644
--- a/src/rust/amadeus-next/lkt-rs/src/config.rs
+++ b/src/rust/amadeus-next/lkt-rs/src/config.rs
@@ -8,6 +8,12 @@ pub enum LktHostPort {
     TCP(i16),
 }
 
+#[derive(Debug, serde::Deserialize, serde::Serialize)]
+pub struct LktUserConfig {
+    pub user: String,
+    pub admin: Option<String>,
+}
+
 #[derive(Debug, serde::Deserialize, serde::Serialize)]
 pub struct LktSearchConfig {
     pub query_type: LektorQueryType,
@@ -20,10 +26,10 @@ pub struct LktHostConfig {
     pub socket: LktHostPort,
 }
 
-#[derive(Debug, serde::Deserialize, serde::Serialize)]
+#[derive(Debug, Default, serde::Deserialize, serde::Serialize)]
 pub struct LktConfig {
     pub host: LktHostConfig,
-    pub password: Option<String>,
+    pub user: LktUserConfig,
     pub search: LktSearchConfig,
 }
 
@@ -36,12 +42,11 @@ impl Default for LktSearchConfig {
     }
 }
 
-impl Default for LktConfig {
+impl Default for LktUserConfig {
     fn default() -> Self {
         Self {
-            host: Default::default(),
-            search: Default::default(),
-            password: Some("hashire".to_string()),
+            user: "Viieux".to_string(),
+            admin: Some("hashire".to_string()),
         }
     }
 }
diff --git a/src/rust/amadeus-next/lkt-rs/src/main.rs b/src/rust/amadeus-next/lkt-rs/src/main.rs
index 84b26d7c..df0b55c5 100644
--- a/src/rust/amadeus-next/lkt-rs/src/main.rs
+++ b/src/rust/amadeus-next/lkt-rs/src/main.rs
@@ -207,7 +207,7 @@ async fn handle_cmd_playlist(_: LktConfig, mut conn: LektorConnexion, cmd: LktPl
 }
 
 async fn handle_cmd_admin(config: LktConfig, mut conn: LektorConnexion, cmd: LktAdminCommand) {
-    match config.password {
+    match config.user.admin {
         Some(password) => {
             let cmd = Box::new(match cmd {
                 LktAdminCommand::Ping => LektorQuery::Ping,
-- 
GitLab