diff options
Diffstat (limited to 'src/repo/channel.rs')
| -rw-r--r-- | src/repo/channel.rs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/repo/channel.rs b/src/repo/channel.rs index 8e3a471..95516d2 100644 --- a/src/repo/channel.rs +++ b/src/repo/channel.rs @@ -16,7 +16,7 @@ impl<'c> Provider for Transaction<'c, Sqlite> { pub struct Channels<'t>(&'t mut SqliteConnection); -#[derive(Debug)] +#[derive(Debug, serde::Serialize)] pub struct Channel { pub id: Id, pub name: String, @@ -24,15 +24,16 @@ pub struct Channel { impl<'c> Channels<'c> { /// Create a new channel. - pub async fn create(&mut self, name: &str) -> Result<Id, sqlx::Error> { + pub async fn create(&mut self, name: &str) -> Result<Channel, sqlx::Error> { let id = Id::generate(); - let channel = sqlx::query_scalar!( + let channel = sqlx::query_as!( + Channel, r#" insert into channel (id, name) values ($1, $2) - returning id as "id: Id" + returning id as "id: Id", name "#, id, name, |
