Get returns the release named by key.
(key string)
| 303 | |
| 304 | // Get returns the release named by key. |
| 305 | func (s *SQL) Get(key string) (release.Releaser, error) { |
| 306 | var record SQLReleaseWrapper |
| 307 | |
| 308 | qb := s.statementBuilder. |
| 309 | Select(sqlReleaseTableBodyColumn). |
| 310 | From(sqlReleaseTableName). |
| 311 | Where(sq.Eq{sqlReleaseTableKeyColumn: key}). |
| 312 | Where(sq.Eq{sqlReleaseTableNamespaceColumn: s.namespace}) |
| 313 | |
| 314 | query, args, err := qb.ToSql() |
| 315 | if err != nil { |
| 316 | s.Logger().Debug("failed to build query", slog.Any("error", err)) |
| 317 | return nil, err |
| 318 | } |
| 319 | |
| 320 | // Get will return an error if the result is empty |
| 321 | if err := s.db.Get(&record, query, args...); err != nil { |
| 322 | s.Logger().Debug("got SQL error when getting release", slog.String("key", key), slog.Any("error", err)) |
| 323 | return nil, ErrReleaseNotFound |
| 324 | } |
| 325 | |
| 326 | release, err := decodeRelease(record.Body) |
| 327 | if err != nil { |
| 328 | s.Logger().Debug("failed to decode data", slog.String("key", key), slog.Any("error", err)) |
| 329 | return nil, err |
| 330 | } |
| 331 | |
| 332 | if release.Labels, err = s.getReleaseCustomLabels(key, s.namespace); err != nil { |
| 333 | s.Logger().Debug( |
| 334 | "failed to get release custom labels", |
| 335 | slog.String("namespace", s.namespace), |
| 336 | slog.String("key", key), |
| 337 | slog.Any("error", err), |
| 338 | ) |
| 339 | return nil, err |
| 340 | } |
| 341 | |
| 342 | return release, nil |
| 343 | } |
| 344 | |
| 345 | // List returns the list of all releases such that filter(release) == true |
| 346 | func (s *SQL) List(filter func(release.Releaser) bool) ([]release.Releaser, error) { |
nothing calls this directly
no test coverage detected