mirror of
https://github.com/Kyren223/eko.git
synced 2025-09-05 21:18:14 +00:00
feat(data): update message queries
This commit is contained in:
@@ -11,45 +11,11 @@ import (
|
||||
"github.com/kyren223/eko/pkg/snowflake"
|
||||
)
|
||||
|
||||
const createDirectMessage = `-- name: CreateDirectMessage :one
|
||||
INSERT INTO messages (
|
||||
id, content, sender_id, receiver_id
|
||||
) VALUES (
|
||||
?, ?, ?, ?
|
||||
)
|
||||
RETURNING id, sender_id, content, frequency_id, receiver_id
|
||||
`
|
||||
|
||||
type CreateDirectMessageParams struct {
|
||||
ID snowflake.ID
|
||||
Content string
|
||||
SenderID snowflake.ID
|
||||
ReceiverID snowflake.ID
|
||||
}
|
||||
|
||||
func (q *Queries) CreateDirectMessage(ctx context.Context, arg CreateDirectMessageParams) (Message, error) {
|
||||
row := q.db.QueryRowContext(ctx, createDirectMessage,
|
||||
arg.ID,
|
||||
arg.Content,
|
||||
arg.SenderID,
|
||||
arg.ReceiverID,
|
||||
)
|
||||
var i Message
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.SenderID,
|
||||
&i.Content,
|
||||
&i.FrequencyID,
|
||||
&i.ReceiverID,
|
||||
)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const createMessage = `-- name: CreateMessage :one
|
||||
INSERT INTO messages (
|
||||
id, content, sender_id, frequency_id
|
||||
id, content, sender_id, frequency_id, receiver_id
|
||||
) VALUES (
|
||||
?, ?, ?, ?
|
||||
?, ?, ?, ?, ?
|
||||
)
|
||||
RETURNING id, sender_id, content, frequency_id, receiver_id
|
||||
`
|
||||
@@ -58,7 +24,8 @@ type CreateMessageParams struct {
|
||||
ID snowflake.ID
|
||||
Content string
|
||||
SenderID snowflake.ID
|
||||
FrequencyID snowflake.ID
|
||||
FrequencyID *snowflake.ID
|
||||
ReceiverID *snowflake.ID
|
||||
}
|
||||
|
||||
func (q *Queries) CreateMessage(ctx context.Context, arg CreateMessageParams) (Message, error) {
|
||||
@@ -67,6 +34,7 @@ func (q *Queries) CreateMessage(ctx context.Context, arg CreateMessageParams) (M
|
||||
arg.Content,
|
||||
arg.SenderID,
|
||||
arg.FrequencyID,
|
||||
arg.ReceiverID,
|
||||
)
|
||||
var i Message
|
||||
err := row.Scan(
|
||||
|
@@ -19,8 +19,8 @@ type Message struct {
|
||||
ID snowflake.ID
|
||||
SenderID snowflake.ID
|
||||
Content string
|
||||
FrequencyID snowflake.ID
|
||||
ReceiverID snowflake.ID
|
||||
FrequencyID *snowflake.ID
|
||||
ReceiverID *snowflake.ID
|
||||
}
|
||||
|
||||
type Network struct {
|
||||
|
@@ -2,25 +2,20 @@ package packet
|
||||
|
||||
import (
|
||||
"github.com/kyren223/eko/internal/data"
|
||||
"github.com/kyren223/eko/pkg/snowflake"
|
||||
)
|
||||
|
||||
type ErrorMessage struct {
|
||||
Error string `msgpack:"error"`
|
||||
}
|
||||
|
||||
func NewOkMessage() *ErrorMessage {
|
||||
return &ErrorMessage{}
|
||||
}
|
||||
|
||||
func (m *ErrorMessage) Type() PacketType {
|
||||
return PacketError
|
||||
}
|
||||
|
||||
func (m *ErrorMessage) IsOk() bool {
|
||||
return m.Error == ""
|
||||
}
|
||||
|
||||
type SendMessage struct {
|
||||
ReceiverID *snowflake.ID
|
||||
FrequencyID *snowflake.ID
|
||||
Content string
|
||||
}
|
||||
|
||||
@@ -28,6 +23,14 @@ func (m *SendMessage) Type() PacketType {
|
||||
return PacketSendMessage
|
||||
}
|
||||
|
||||
type PushedMessages struct {
|
||||
Messages []data.Message
|
||||
}
|
||||
|
||||
func (m *PushedMessages) Type() PacketType {
|
||||
return PacketPushedMessages
|
||||
}
|
||||
|
||||
type Messages struct {
|
||||
Messages []data.Message
|
||||
}
|
||||
@@ -35,3 +38,14 @@ type Messages struct {
|
||||
func (m *Messages) Type() PacketType {
|
||||
return PacketMessages
|
||||
}
|
||||
|
||||
type GetMessagesRange struct {
|
||||
FrequencyID *snowflake.ID
|
||||
ReceiverID *snowflake.ID
|
||||
From *int64
|
||||
To *int64
|
||||
}
|
||||
|
||||
func (m *GetMessagesRange) Type() PacketType {
|
||||
return PacketGetMessageRange
|
||||
}
|
||||
|
@@ -2,18 +2,10 @@
|
||||
SELECT * FROM messages
|
||||
ORDER BY id;
|
||||
|
||||
-- name: CreateDirectMessage :one
|
||||
INSERT INTO messages (
|
||||
id, content, sender_id, receiver_id
|
||||
) VALUES (
|
||||
?, ?, ?, ?
|
||||
)
|
||||
RETURNING *;
|
||||
|
||||
-- name: CreateMessage :one
|
||||
INSERT INTO messages (
|
||||
id, content, sender_id, frequency_id
|
||||
id, content, sender_id, frequency_id, receiver_id
|
||||
) VALUES (
|
||||
?, ?, ?, ?
|
||||
?, ?, ?, ?, ?
|
||||
)
|
||||
RETURNING *;
|
||||
|
8
sqlc.yml
8
sqlc.yml
@@ -9,9 +9,13 @@ sql:
|
||||
out: "./internal/data/"
|
||||
emit_pointers_for_null_types: true
|
||||
overrides:
|
||||
- column: "users.public_key"
|
||||
go_type: "crypto/ed25519.PublicKey"
|
||||
- column: "messages.receiver_id"
|
||||
go_type: "*github.com/kyren223/eko/pkg/snowflake.ID"
|
||||
- column: "messages.frequency_id"
|
||||
go_type: "*github.com/kyren223/eko/pkg/snowflake.ID"
|
||||
- column: "*.id"
|
||||
go_type: "github.com/kyren223/eko/pkg/snowflake.ID"
|
||||
- column: "*.*_id"
|
||||
go_type: "github.com/kyren223/eko/pkg/snowflake.ID"
|
||||
- column: "users.public_key"
|
||||
go_type: "crypto/ed25519.PublicKey"
|
||||
|
Reference in New Issue
Block a user