Files
eko/internal/data/notifications.sql.go
Kyren223 f793203e04 Added session duration metrics with device analytics along with device
analytics metrics in the DB to aggregate and DeviceID abuse prevention
2025-07-19 18:32:12 +03:00

50 lines
1.2 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.29.0
// source: notifications.sql
package data
import (
"context"
"github.com/kyren223/eko/pkg/snowflake"
)
const insertLastReadMessage = `-- name: InsertLastReadMessage :exec
INSERT OR IGNORE INTO last_read_messages (
user_id, source_id, last_read
) VALUES (?, ?, ?)
`
type InsertLastReadMessageParams struct {
UserID snowflake.ID
SourceID snowflake.ID
LastRead int64
}
func (q *Queries) InsertLastReadMessage(ctx context.Context, arg InsertLastReadMessageParams) error {
_, err := q.db.ExecContext(ctx, insertLastReadMessage, arg.UserID, arg.SourceID, arg.LastRead)
return err
}
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
}