summaryrefslogtreecommitdiff
path: root/src/channel/repo.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/channel/repo.rs')
-rw-r--r--src/channel/repo.rs75
1 files changed, 37 insertions, 38 deletions
diff --git a/src/channel/repo.rs b/src/channel/repo.rs
index 812a259..fd2173a 100644
--- a/src/channel/repo.rs
+++ b/src/channel/repo.rs
@@ -31,8 +31,7 @@ impl Channels<'_> {
sqlx::query!(
r#"
- insert
- into channel (id, created_at, created_sequence, last_sequence)
+ insert into conversation (id, created_at, created_sequence, last_sequence)
values ($1, $2, $3, $4)
"#,
id,
@@ -45,7 +44,7 @@ impl Channels<'_> {
sqlx::query!(
r#"
- insert into channel_name (id, display_name, canonical_name)
+ insert into conversation_name (id, display_name, canonical_name)
values ($1, $2, $3)
"#,
id,
@@ -75,14 +74,14 @@ impl Channels<'_> {
id as "id: Id",
name.display_name as "display_name?: String",
name.canonical_name as "canonical_name?: String",
- channel.created_at as "created_at: DateTime",
- channel.created_sequence as "created_sequence: Sequence",
+ conversation.created_at as "created_at: DateTime",
+ conversation.created_sequence as "created_sequence: Sequence",
deleted.deleted_at as "deleted_at?: DateTime",
deleted.deleted_sequence as "deleted_sequence?: Sequence"
- from channel
- left join channel_name as name
+ from conversation
+ left join conversation_name as name
using (id)
- left join channel_deleted as deleted
+ left join conversation_deleted as deleted
using (id)
where id = $1
"#,
@@ -112,16 +111,16 @@ impl Channels<'_> {
id as "id: Id",
name.display_name as "display_name?: String",
name.canonical_name as "canonical_name?: String",
- channel.created_at as "created_at: DateTime",
- channel.created_sequence as "created_sequence: Sequence",
+ conversation.created_at as "created_at: DateTime",
+ conversation.created_sequence as "created_sequence: Sequence",
deleted.deleted_at as "deleted_at?: DateTime",
deleted.deleted_sequence as "deleted_sequence?: Sequence"
- from channel
- left join channel_name as name
+ from conversation
+ left join conversation_name as name
using (id)
- left join channel_deleted as deleted
+ left join conversation_deleted as deleted
using (id)
- where channel.created_sequence <= $1
+ where conversation.created_sequence <= $1
order by name.canonical_name
"#,
resume_at,
@@ -152,16 +151,16 @@ impl Channels<'_> {
id as "id: Id",
name.display_name as "display_name?: String",
name.canonical_name as "canonical_name?: String",
- channel.created_at as "created_at: DateTime",
- channel.created_sequence as "created_sequence: Sequence",
+ conversation.created_at as "created_at: DateTime",
+ conversation.created_sequence as "created_sequence: Sequence",
deleted.deleted_at as "deleted_at?: DateTime",
deleted.deleted_sequence as "deleted_sequence?: Sequence"
- from channel
- left join channel_name as name
+ from conversation
+ left join conversation_name as name
using (id)
- left join channel_deleted as deleted
+ left join conversation_deleted as deleted
using (id)
- where channel.last_sequence > $1
+ where conversation.last_sequence > $1
"#,
resume_at,
)
@@ -192,7 +191,7 @@ impl Channels<'_> {
let id = channel.id();
sqlx::query!(
r#"
- update channel
+ update conversation
set last_sequence = max(last_sequence, $1)
where id = $2
returning id as "id: Id"
@@ -205,7 +204,7 @@ impl Channels<'_> {
sqlx::query!(
r#"
- insert into channel_deleted (id, deleted_at, deleted_sequence)
+ insert into conversation_deleted (id, deleted_at, deleted_sequence)
values ($1, $2, $3)
"#,
id,
@@ -215,9 +214,9 @@ impl Channels<'_> {
.execute(&mut *self.0)
.await?;
- // Small social responsibility hack here: when a channel is deleted, its name is
- // retconned to have been the empty string. Someone reading the event stream
- // afterwards, or looking at channels via the API, cannot retrieve the
+ // Small social responsibility hack here: when a conversation is deleted, its
+ // name is retconned to have been the empty string. Someone reading the event
+ // stream afterwards, or looking at channels via the API, cannot retrieve the
// "deleted" channel's information by ignoring the deletion event.
//
// This also avoids the need for a separate name reservation table to ensure
@@ -225,7 +224,7 @@ impl Channels<'_> {
// is unique over non-null values.
sqlx::query!(
r#"
- delete from channel_name
+ delete from conversation_name
where id = $1
"#,
id,
@@ -242,11 +241,11 @@ impl Channels<'_> {
let channels = sqlx::query_scalar!(
r#"
with has_messages as (
- select channel
+ select conversation
from message
- group by channel
+ group by conversation
)
- delete from channel_deleted
+ delete from conversation_deleted
where deleted_at < $1
and id not in has_messages
returning id as "id: Id"
@@ -260,7 +259,7 @@ impl Channels<'_> {
// Wanted: a way to batch these up into one query.
sqlx::query!(
r#"
- delete from channel
+ delete from conversation
where id = $1
"#,
channel,
@@ -276,21 +275,21 @@ impl Channels<'_> {
let channels = sqlx::query!(
r#"
select
- channel.id as "id: Id",
+ conversation.id as "id: Id",
name.display_name as "display_name?: String",
name.canonical_name as "canonical_name?: String",
- channel.created_at as "created_at: DateTime",
- channel.created_sequence as "created_sequence: Sequence",
+ conversation.created_at as "created_at: DateTime",
+ conversation.created_sequence as "created_sequence: Sequence",
deleted.deleted_at as "deleted_at?: DateTime",
deleted.deleted_sequence as "deleted_sequence?: Sequence"
- from channel
- left join channel_name as name
+ from conversation
+ left join conversation_name as name
using (id)
- left join channel_deleted as deleted
+ left join conversation_deleted as deleted
using (id)
left join message
- on channel.id = message.channel
- where channel.created_at < $1
+ on conversation.id = message.conversation
+ where conversation.created_at < $1
and message.id is null
and deleted.id is null
"#,