From 8738cf083caaf9d8ecb1918e14712f7b09f490a5 Mon Sep 17 00:00:00 2001 From: Owen Jacobson Date: Sun, 15 Sep 2024 22:25:48 -0400 Subject: Move channel list into the `app.channels()` namespace. This is groundwork for a JSON-based API, after a conversation with Kit. --- src/channel/app.rs | 10 +++++++++- src/index/app.rs | 8 -------- src/index/routes.rs | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/channel/app.rs b/src/channel/app.rs index 5417a5e..36fa552 100644 --- a/src/channel/app.rs +++ b/src/channel/app.rs @@ -11,7 +11,7 @@ use tokio::sync::broadcast::{channel, Sender}; use tokio_stream::wrappers::BroadcastStream; use super::repo::{ - channels::{Id as ChannelId, Provider as _}, + channels::{Channel, Id as ChannelId, Provider as _}, messages::{BroadcastMessage, Provider as _}, }; use crate::{clock::DateTime, error::BoxedError, login::repo::logins::Login}; @@ -35,6 +35,14 @@ impl<'a> Channels<'a> { Ok(()) } + pub async fn all(&self) -> Result, BoxedError> { + let mut tx = self.db.begin().await?; + let channels = tx.channels().all().await?; + tx.commit().await?; + + Ok(channels) + } + pub async fn send( &self, login: &Login, diff --git a/src/index/app.rs b/src/index/app.rs index b315b45..fabf35c 100644 --- a/src/index/app.rs +++ b/src/index/app.rs @@ -14,14 +14,6 @@ impl<'a> Index<'a> { Self { db } } - pub async fn for_authenticated(&self) -> Result, BoxedError> { - let mut tx = self.db.begin().await?; - let channels = tx.channels().all().await?; - tx.commit().await?; - - Ok(channels) - } - pub async fn channel(&self, channel: ChannelId) -> Result { let mut tx = self.db.begin().await?; let channel = tx.channels().by_id(channel).await?; diff --git a/src/index/routes.rs b/src/index/routes.rs index 07b6001..2d77e5b 100644 --- a/src/index/routes.rs +++ b/src/index/routes.rs @@ -21,7 +21,7 @@ async fn index(State(app): State, login: Option) -> Result Result { - let channels = app.index().for_authenticated().await?; + let channels = app.channels().all().await?; Ok(templates::authenticated(login, &channels)) } -- cgit v1.2.3