| 145 | } |
| 146 | |
| 147 | func scanEvent(row scannable) (*event.Event, error) { |
| 148 | var ev event.Event |
| 149 | var payload string |
| 150 | var ts string |
| 151 | var pinned int |
| 152 | |
| 153 | if err := row.Scan(&ev.UUID, &ev.Type, &payload, &ts, &ev.Project, &pinned); err != nil { |
| 154 | if err == sql.ErrNoRows { |
| 155 | return nil, nil |
| 156 | } |
| 157 | return nil, err |
| 158 | } |
| 159 | |
| 160 | ev.Payload = json.RawMessage(payload) |
| 161 | fmt.Sscanf(ts, "%f", &ev.Timestamp) |
| 162 | ev.IsPinned = pinned != 0 |
| 163 | return &ev, nil |
| 164 | } |
| 165 | |
| 166 | func scanEventRows(rows *sql.Rows) (*event.Event, error) { |
| 167 | var ev event.Event |