summaryrefslogtreecommitdiffhomepage
path: root/internal/session
diff options
context:
space:
mode:
Diffstat (limited to 'internal/session')
-rw-r--r--internal/session/session.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/internal/session/session.go b/internal/session/session.go
index 682ea7768..be395bb87 100644
--- a/internal/session/session.go
+++ b/internal/session/session.go
@@ -17,6 +17,8 @@ type Session struct {
PromptTokens int64
CompletionTokens int64
Cost float64
+ Summary string
+ SummarizedAt int64
CreatedAt int64
UpdatedAt int64
}
@@ -100,16 +102,31 @@ func (s *service) Get(ctx context.Context, id string) (Session, error) {
}
func (s *service) Save(ctx context.Context, session Session) (Session, error) {
+ summary := sql.NullString{}
+ if session.Summary != "" {
+ summary.String = session.Summary
+ summary.Valid = true
+ }
+
+ summarizedAt := sql.NullInt64{}
+ if session.SummarizedAt != 0 {
+ summarizedAt.Int64 = session.SummarizedAt
+ summarizedAt.Valid = true
+ }
+
dbSession, err := s.q.UpdateSession(ctx, db.UpdateSessionParams{
ID: session.ID,
Title: session.Title,
PromptTokens: session.PromptTokens,
CompletionTokens: session.CompletionTokens,
Cost: session.Cost,
+ Summary: summary,
+ SummarizedAt: summarizedAt,
})
if err != nil {
return Session{}, err
}
+
session = s.fromDBItem(dbSession)
s.Publish(pubsub.UpdatedEvent, session)
return session, nil
@@ -136,6 +153,8 @@ func (s service) fromDBItem(item db.Session) Session {
PromptTokens: item.PromptTokens,
CompletionTokens: item.CompletionTokens,
Cost: item.Cost,
+ Summary: item.Summary.String,
+ SummarizedAt: item.SummarizedAt.Int64,
CreatedAt: item.CreatedAt,
UpdatedAt: item.UpdatedAt,
}