diff options
| author | adamdottv <[email protected]> | 2025-05-13 13:08:43 -0500 |
|---|---|---|
| committer | adamdottv <[email protected]> | 2025-05-13 13:08:43 -0500 |
| commit | 01b6bf5bb7307246cb2cca7f1cbc8aba693941cc (patch) | |
| tree | f47f5aa2b323ce8fea55f6999308486ff790d26e /internal/session | |
| parent | d8f3b606258a5655d73acc94d6cb37b421350817 (diff) | |
| download | opencode-01b6bf5bb7307246cb2cca7f1cbc8aba693941cc.tar.gz opencode-01b6bf5bb7307246cb2cca7f1cbc8aba693941cc.zip | |
chore: refactor db
Diffstat (limited to 'internal/session')
| -rw-r--r-- | internal/session/session.go | 18 |
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, } } |
