From f3210d622ab362e621169d92510702c1a1d53847 Mon Sep 17 00:00:00 2001 From: sigoden Date: Sun, 17 Mar 2024 08:23:47 +0800 Subject: refactor: remove role field from session struct (#356) --- src/config/mod.rs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'src/config/mod.rs') diff --git a/src/config/mod.rs b/src/config/mod.rs index 4ee5319..1c7fa8a 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -316,7 +316,8 @@ impl Config { pub fn set_role_obj(&mut self, role: Role) -> Result<()> { if let Some(session) = self.session.as_mut() { - session.update_role(Some(role.clone()))?; + session.guard_empty()?; + session.set_temperature(role.temperature); } self.temperature = role.temperature; self.role = Some(role); @@ -324,9 +325,6 @@ impl Config { } pub fn clear_role(&mut self) -> Result<()> { - if let Some(session) = self.session.as_mut() { - session.update_role(None)?; - } self.temperature = self.default_temperature; self.role = None; Ok(()) @@ -335,7 +333,7 @@ impl Config { pub fn get_state(&self) -> State { if let Some(session) = &self.session { if session.is_empty() { - if session.role.is_some() { + if self.role.is_some() { State::EmptySessionWithRole } else { State::EmptySession @@ -592,13 +590,13 @@ impl Config { self.session = Some(Session::new( TEMP_SESSION_NAME, self.model.clone(), - self.role.clone(), + self.temperature, )); } Some(name) => { let session_path = Self::session_file(name)?; if !session_path.exists() { - self.session = Some(Session::new(name, self.model.clone(), self.role.clone())); + self.session = Some(Session::new(name, self.model.clone(), self.temperature)); } else { let session = Session::load(name, &session_path)?; let model = session.model().to_string(); -- cgit v1.2.3