summaryrefslogtreecommitdiffstats
path: root/src/config/input.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-05-11 09:23:59 +0800
committerGitHub <noreply@github.com>2024-05-11 09:23:59 +0800
commit1e8fc5d269985048d8d3023a615b94a8908571cf (patch)
treee1e43a67bf1e7b5d878d2a7cac5d25a07cda8bdc /src/config/input.rs
parent058299e500af86adbc065eced542e108ae325458 (diff)
downloadaichat-1e8fc5d269985048d8d3023a615b94a8908571cf.tar.gz
refactor: list roles includeing builtin roles (#499)
Diffstat (limited to 'src/config/input.rs')
-rw-r--r--src/config/input.rs17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/config/input.rs b/src/config/input.rs
index b7b896c..0527b49 100644
--- a/src/config/input.rs
+++ b/src/config/input.rs
@@ -106,7 +106,7 @@ impl Input {
}
pub fn session<'a>(&self, session: &'a Option<Session>) -> Option<&'a Session> {
- if self.context.in_session {
+ if self.context.session {
session.as_ref()
} else {
None
@@ -114,7 +114,7 @@ impl Input {
}
pub fn session_mut<'a>(&self, session: &'a mut Option<Session>) -> Option<&'a mut Session> {
- if self.context.in_session {
+ if self.context.session {
session.as_mut()
} else {
None
@@ -199,12 +199,19 @@ impl Input {
#[derive(Debug, Clone, Default)]
pub struct InputContext {
role: Option<Role>,
- in_session: bool,
+ session: bool,
}
impl InputContext {
- pub fn new(role: Option<Role>, in_session: bool) -> Self {
- Self { role, in_session }
+ pub fn new(role: Option<Role>, session: bool) -> Self {
+ Self { role, session }
+ }
+
+ pub fn role(role: Role) -> Self {
+ Self {
+ role: Some(role),
+ session: false,
+ }
}
}