summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
Diffstat (limited to 'internal')
-rw-r--r--internal/data/messages.sql.go42
-rw-r--r--internal/data/models.go4
-rw-r--r--internal/packet/messages.go30
3 files changed, 29 insertions, 47 deletions
diff --git a/internal/data/messages.sql.go b/internal/data/messages.sql.go
index 38d2b24..e84b306 100644
--- a/internal/data/messages.sql.go
+++ b/internal/data/messages.sql.go
@@ -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(
diff --git a/internal/data/models.go b/internal/data/models.go
index e7921e2..9d8f116 100644
--- a/internal/data/models.go
+++ b/internal/data/models.go
@@ -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 {
diff --git a/internal/packet/messages.go b/internal/packet/messages.go
index c561079..04929cd 100644
--- a/internal/packet/messages.go
+++ b/internal/packet/messages.go
@@ -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
+}