summaryrefslogtreecommitdiff
path: root/src/repo/channel.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/repo/channel.rs')
-rw-r--r--src/repo/channel.rs9
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,