summaryrefslogtreecommitdiffhomepage
path: root/internal/session
diff options
context:
space:
mode:
authoradamdottv <[email protected]>2025-05-13 13:08:43 -0500
committeradamdottv <[email protected]>2025-05-13 13:08:43 -0500
commit01b6bf5bb7307246cb2cca7f1cbc8aba693941cc (patch)
treef47f5aa2b323ce8fea55f6999308486ff790d26e /internal/session
parentd8f3b606258a5655d73acc94d6cb37b421350817 (diff)
downloadopencode-01b6bf5bb7307246cb2cca7f1cbc8aba693941cc.tar.gz
opencode-01b6bf5bb7307246cb2cca7f1cbc8aba693941cc.zip
chore: refactor db
Diffstat (limited to 'internal/session')
-rw-r--r--internal/session/session.go18
1 files changed, 10 insertions, 8 deletions
diff --git a/internal/session/session.go b/internal/session/session.go
index b961959fe..9df3c2b31 100644
--- a/internal/session/session.go
+++ b/internal/session/session.go
@@ -153,10 +153,6 @@ func (s *service) Update(ctx context.Context, session Session) (Session, error)
if session.ID == "" {
return Session{}, fmt.Errorf("cannot update session with empty ID")
}
- var summarizedAt sql.NullInt64
- if !session.SummarizedAt.IsZero() {
- summarizedAt = sql.NullInt64{Int64: session.SummarizedAt.UnixMilli(), Valid: true}
- }
params := db.UpdateSessionParams{
ID: session.ID,
@@ -165,7 +161,7 @@ func (s *service) Update(ctx context.Context, session Session) (Session, error)
CompletionTokens: session.CompletionTokens,
Cost: session.Cost,
Summary: sql.NullString{String: session.Summary, Valid: session.Summary != ""},
- SummarizedAt: summarizedAt,
+ SummarizedAt: sql.NullString{String: session.SummarizedAt.UTC().Format(time.RFC3339Nano), Valid: !session.SummarizedAt.IsZero()},
}
dbSession, err := s.db.UpdateSession(ctx, params)
if err != nil {
@@ -206,9 +202,15 @@ func (s *service) Subscribe(ctx context.Context) <-chan pubsub.Event[Session] {
func (s *service) fromDBItem(item db.Session) Session {
var summarizedAt time.Time
if item.SummarizedAt.Valid {
- summarizedAt = time.UnixMilli(item.SummarizedAt.Int64)
+ parsedTime, err := time.Parse(time.RFC3339Nano, item.SummarizedAt.String)
+ if err == nil {
+ summarizedAt = parsedTime
+ }
}
+ createdAt, _ := time.Parse(time.RFC3339Nano, item.CreatedAt)
+ updatedAt, _ := time.Parse(time.RFC3339Nano, item.UpdatedAt)
+
return Session{
ID: item.ID,
ParentSessionID: item.ParentSessionID.String,
@@ -219,8 +221,8 @@ func (s *service) fromDBItem(item db.Session) Session {
Cost: item.Cost,
Summary: item.Summary.String,
SummarizedAt: summarizedAt,
- CreatedAt: time.UnixMilli(item.CreatedAt),
- UpdatedAt: time.UnixMilli(item.UpdatedAt),
+ CreatedAt: createdAt,
+ UpdatedAt: updatedAt,
}
}