summaryrefslogtreecommitdiffhomepage
path: root/internal/message
diff options
context:
space:
mode:
authorKujtim Hoxha <[email protected]>2025-04-13 13:17:17 +0200
committerKujtim Hoxha <[email protected]>2025-04-21 13:41:25 +0200
commit3ad983db0f2c08826d56cb5de274d706c95b3353 (patch)
tree3151e7f361dc2b468429791d581eb5f3d658f84f /internal/message
parent5601466fe1610b777895682050b1b458f80c0ac8 (diff)
downloadopencode-3ad983db0f2c08826d56cb5de274d706c95b3353.tar.gz
opencode-3ad983db0f2c08826d56cb5de274d706c95b3353.zip
cleanup app, config and root
Diffstat (limited to 'internal/message')
-rw-r--r--internal/message/message.go46
1 files changed, 22 insertions, 24 deletions
diff --git a/internal/message/message.go b/internal/message/message.go
index 06dae13a5..2871780a7 100644
--- a/internal/message/message.go
+++ b/internal/message/message.go
@@ -20,34 +20,32 @@ type CreateMessageParams struct {
type Service interface {
pubsub.Suscriber[Message]
- Create(sessionID string, params CreateMessageParams) (Message, error)
- Update(message Message) error
- Get(id string) (Message, error)
- List(sessionID string) ([]Message, error)
- Delete(id string) error
- DeleteSessionMessages(sessionID string) error
+ Create(ctx context.Context, sessionID string, params CreateMessageParams) (Message, error)
+ Update(ctx context.Context, message Message) error
+ Get(ctx context.Context, id string) (Message, error)
+ List(ctx context.Context, sessionID string) ([]Message, error)
+ Delete(ctx context.Context, id string) error
+ DeleteSessionMessages(ctx context.Context, sessionID string) error
}
type service struct {
*pubsub.Broker[Message]
- q db.Querier
- ctx context.Context
+ q db.Querier
}
-func NewService(ctx context.Context, q db.Querier) Service {
+func NewService(q db.Querier) Service {
return &service{
Broker: pubsub.NewBroker[Message](),
q: q,
- ctx: ctx,
}
}
-func (s *service) Delete(id string) error {
- message, err := s.Get(id)
+func (s *service) Delete(ctx context.Context, id string) error {
+ message, err := s.Get(ctx, id)
if err != nil {
return err
}
- err = s.q.DeleteMessage(s.ctx, message.ID)
+ err = s.q.DeleteMessage(ctx, message.ID)
if err != nil {
return err
}
@@ -55,7 +53,7 @@ func (s *service) Delete(id string) error {
return nil
}
-func (s *service) Create(sessionID string, params CreateMessageParams) (Message, error) {
+func (s *service) Create(ctx context.Context, sessionID string, params CreateMessageParams) (Message, error) {
if params.Role != Assistant {
params.Parts = append(params.Parts, Finish{
Reason: "stop",
@@ -66,7 +64,7 @@ func (s *service) Create(sessionID string, params CreateMessageParams) (Message,
return Message{}, err
}
- dbMessage, err := s.q.CreateMessage(s.ctx, db.CreateMessageParams{
+ dbMessage, err := s.q.CreateMessage(ctx, db.CreateMessageParams{
ID: uuid.New().String(),
SessionID: sessionID,
Role: string(params.Role),
@@ -84,14 +82,14 @@ func (s *service) Create(sessionID string, params CreateMessageParams) (Message,
return message, nil
}
-func (s *service) DeleteSessionMessages(sessionID string) error {
- messages, err := s.List(sessionID)
+func (s *service) DeleteSessionMessages(ctx context.Context, sessionID string) error {
+ messages, err := s.List(ctx, sessionID)
if err != nil {
return err
}
for _, message := range messages {
if message.SessionID == sessionID {
- err = s.Delete(message.ID)
+ err = s.Delete(ctx, message.ID)
if err != nil {
return err
}
@@ -100,7 +98,7 @@ func (s *service) DeleteSessionMessages(sessionID string) error {
return nil
}
-func (s *service) Update(message Message) error {
+func (s *service) Update(ctx context.Context, message Message) error {
parts, err := marshallParts(message.Parts)
if err != nil {
return err
@@ -110,7 +108,7 @@ func (s *service) Update(message Message) error {
finishedAt.Int64 = f.Time
finishedAt.Valid = true
}
- err = s.q.UpdateMessage(s.ctx, db.UpdateMessageParams{
+ err = s.q.UpdateMessage(ctx, db.UpdateMessageParams{
ID: message.ID,
Parts: string(parts),
FinishedAt: finishedAt,
@@ -122,16 +120,16 @@ func (s *service) Update(message Message) error {
return nil
}
-func (s *service) Get(id string) (Message, error) {
- dbMessage, err := s.q.GetMessage(s.ctx, id)
+func (s *service) Get(ctx context.Context, id string) (Message, error) {
+ dbMessage, err := s.q.GetMessage(ctx, id)
if err != nil {
return Message{}, err
}
return s.fromDBItem(dbMessage)
}
-func (s *service) List(sessionID string) ([]Message, error) {
- dbMessages, err := s.q.ListMessagesBySession(s.ctx, sessionID)
+func (s *service) List(ctx context.Context, sessionID string) ([]Message, error) {
+ dbMessages, err := s.q.ListMessagesBySession(ctx, sessionID)
if err != nil {
return nil, err
}