From eab8cba4bb37491d5c3b497b98faa7029e7b7300 Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Tue, 4 Feb 2025 18:52:57 +0200 Subject: Refactored the way notifications work on the server-side, next commit fixes the client to use this new system --- internal/data/db.go | 2 +- internal/data/frequencies.sql.go | 2 +- internal/data/members.sql.go | 2 +- internal/data/messages.sql.go | 2 +- internal/data/models.go | 8 ++++++- internal/data/networks.sql.go | 2 +- internal/data/notifications.sql.go | 32 ++++++++++++++++++++++++++ internal/data/trusted_and_blocked_users.sql.go | 2 +- internal/data/users.sql.go | 2 +- 9 files changed, 46 insertions(+), 8 deletions(-) create mode 100644 internal/data/notifications.sql.go (limited to 'internal/data') diff --git a/internal/data/db.go b/internal/data/db.go index 02c70ab..15d00a9 100644 --- a/internal/data/db.go +++ b/internal/data/db.go @@ -1,6 +1,6 @@ // Code generated by sqlc. DO NOT EDIT. // versions: -// sqlc v1.27.0 +// sqlc v1.28.0 package data diff --git a/internal/data/frequencies.sql.go b/internal/data/frequencies.sql.go index 171943f..4971238 100644 --- a/internal/data/frequencies.sql.go +++ b/internal/data/frequencies.sql.go @@ -1,6 +1,6 @@ // Code generated by sqlc. DO NOT EDIT. // versions: -// sqlc v1.27.0 +// sqlc v1.28.0 // source: frequencies.sql package data diff --git a/internal/data/members.sql.go b/internal/data/members.sql.go index 98a6a1e..38dfd3b 100644 --- a/internal/data/members.sql.go +++ b/internal/data/members.sql.go @@ -1,6 +1,6 @@ // Code generated by sqlc. DO NOT EDIT. // versions: -// sqlc v1.27.0 +// sqlc v1.28.0 // source: members.sql package data diff --git a/internal/data/messages.sql.go b/internal/data/messages.sql.go index 82909e3..ed94b95 100644 --- a/internal/data/messages.sql.go +++ b/internal/data/messages.sql.go @@ -1,6 +1,6 @@ // Code generated by sqlc. DO NOT EDIT. // versions: -// sqlc v1.27.0 +// sqlc v1.28.0 // source: messages.sql package data diff --git a/internal/data/models.go b/internal/data/models.go index 8470e2a..02949d0 100644 --- a/internal/data/models.go +++ b/internal/data/models.go @@ -1,6 +1,6 @@ // Code generated by sqlc. DO NOT EDIT. // versions: -// sqlc v1.27.0 +// sqlc v1.28.0 package data @@ -23,6 +23,12 @@ type Frequency struct { Position int64 } +type LastReadMessage struct { + UserID snowflake.ID + SourceID snowflake.ID + LastRead int64 +} + type Member struct { UserID snowflake.ID NetworkID snowflake.ID diff --git a/internal/data/networks.sql.go b/internal/data/networks.sql.go index af3c273..0439caf 100644 --- a/internal/data/networks.sql.go +++ b/internal/data/networks.sql.go @@ -1,6 +1,6 @@ // Code generated by sqlc. DO NOT EDIT. // versions: -// sqlc v1.27.0 +// sqlc v1.28.0 // source: networks.sql package data diff --git a/internal/data/notifications.sql.go b/internal/data/notifications.sql.go new file mode 100644 index 0000000..5819438 --- /dev/null +++ b/internal/data/notifications.sql.go @@ -0,0 +1,32 @@ +// Code generated by sqlc. DO NOT EDIT. +// versions: +// sqlc v1.28.0 +// source: notifications.sql + +package data + +import ( + "context" + + "github.com/kyren223/eko/pkg/snowflake" +) + +const setLastReadMessage = `-- name: SetLastReadMessage :exec +INSERT INTO last_read_messages ( + user_id, source_id, last_read +) VALUES (?, ?, ?) +ON CONFLICT DO +UPDATE SET last_read = EXCLUDED.last_read +WHERE user_id = EXCLUDED.user_id AND source_id = EXCLUDED.source_id +` + +type SetLastReadMessageParams struct { + UserID snowflake.ID + SourceID snowflake.ID + LastRead int64 +} + +func (q *Queries) SetLastReadMessage(ctx context.Context, arg SetLastReadMessageParams) error { + _, err := q.db.ExecContext(ctx, setLastReadMessage, arg.UserID, arg.SourceID, arg.LastRead) + return err +} diff --git a/internal/data/trusted_and_blocked_users.sql.go b/internal/data/trusted_and_blocked_users.sql.go index 436b8d9..daeed9e 100644 --- a/internal/data/trusted_and_blocked_users.sql.go +++ b/internal/data/trusted_and_blocked_users.sql.go @@ -1,6 +1,6 @@ // Code generated by sqlc. DO NOT EDIT. // versions: -// sqlc v1.27.0 +// sqlc v1.28.0 // source: trusted_and_blocked_users.sql package data diff --git a/internal/data/users.sql.go b/internal/data/users.sql.go index 2e20cec..b68a207 100644 --- a/internal/data/users.sql.go +++ b/internal/data/users.sql.go @@ -1,6 +1,6 @@ // Code generated by sqlc. DO NOT EDIT. // versions: -// sqlc v1.27.0 +// sqlc v1.28.0 // source: users.sql package data -- cgit v1.3.1