loadSession retrieves a session by ID using the supplied querier.
(ctx context.Context, q querier, id string)
| 796 | |
| 797 | // loadSession retrieves a session by ID using the supplied querier. |
| 798 | func (s *SQLiteSessionStore) loadSession(ctx context.Context, q querier, id string) (*Session, error) { |
| 799 | row := q.QueryRowContext(ctx, |
| 800 | "SELECT "+sessionSelectColumns+" FROM sessions WHERE id = ?", id) |
| 801 | |
| 802 | sess, err := scanSession(row) |
| 803 | if err != nil { |
| 804 | if errors.Is(err, sql.ErrNoRows) { |
| 805 | return nil, ErrNotFound |
| 806 | } |
| 807 | return nil, err |
| 808 | } |
| 809 | |
| 810 | sess.Messages, err = s.loadSessionItems(ctx, q, id) |
| 811 | if err != nil { |
| 812 | return nil, fmt.Errorf("loading session items: %w", err) |
| 813 | } |
| 814 | |
| 815 | return sess, nil |
| 816 | } |
| 817 | |
| 818 | // GetSessions retrieves all root sessions (excludes sub-sessions) |
| 819 | func (s *SQLiteSessionStore) GetSessions(ctx context.Context) ([]*Session, error) { |
no test coverage detected