| 134 | } |
| 135 | |
| 136 | func (m *MemoryDatabase) GetMemories(ctx context.Context) ([]database.UserMemory, error) { |
| 137 | ctx, span := startMemorySpan(ctx, "list") |
| 138 | defer span.End() |
| 139 | |
| 140 | db, err := m.ensureDB(ctx) |
| 141 | if err != nil { |
| 142 | return nil, err |
| 143 | } |
| 144 | rows, err := db.QueryContext(ctx, "SELECT id, created_at, memory, COALESCE(category, '') FROM memories") |
| 145 | if err != nil { |
| 146 | return nil, err |
| 147 | } |
| 148 | defer rows.Close() |
| 149 | |
| 150 | var memories []database.UserMemory |
| 151 | for rows.Next() { |
| 152 | var memory database.UserMemory |
| 153 | err := rows.Scan(&memory.ID, &memory.CreatedAt, &memory.Memory, &memory.Category) |
| 154 | if err != nil { |
| 155 | return nil, err |
| 156 | } |
| 157 | memories = append(memories, memory) |
| 158 | } |
| 159 | |
| 160 | if err := rows.Err(); err != nil { |
| 161 | return nil, err |
| 162 | } |
| 163 | |
| 164 | return memories, nil |
| 165 | } |
| 166 | |
| 167 | func (m *MemoryDatabase) DeleteMemory(ctx context.Context, memory database.UserMemory) error { |
| 168 | ctx, span := startMemorySpan(ctx, "delete") |