Update updates a release.
(key string, rel release.Releaser)
| 577 | |
| 578 | // Update updates a release. |
| 579 | func (s *SQL) Update(key string, rel release.Releaser) error { |
| 580 | rls, err := releaserToV1Release(rel) |
| 581 | if err != nil { |
| 582 | return err |
| 583 | } |
| 584 | namespace := rls.Namespace |
| 585 | if namespace == "" { |
| 586 | namespace = defaultNamespace |
| 587 | } |
| 588 | s.namespace = namespace |
| 589 | |
| 590 | body, err := encodeRelease(rls) |
| 591 | if err != nil { |
| 592 | s.Logger().Debug("failed to encode release", slog.Any("error", err)) |
| 593 | return err |
| 594 | } |
| 595 | |
| 596 | query, args, err := s.statementBuilder. |
| 597 | Update(sqlReleaseTableName). |
| 598 | Set(sqlReleaseTableBodyColumn, body). |
| 599 | Set(sqlReleaseTableNameColumn, rls.Name). |
| 600 | Set(sqlReleaseTableVersionColumn, int(rls.Version)). |
| 601 | Set(sqlReleaseTableStatusColumn, rls.Info.Status.String()). |
| 602 | Set(sqlReleaseTableOwnerColumn, sqlReleaseDefaultOwner). |
| 603 | Set(sqlReleaseTableModifiedAtColumn, int(time.Now().Unix())). |
| 604 | Where(sq.Eq{sqlReleaseTableKeyColumn: key}). |
| 605 | Where(sq.Eq{sqlReleaseTableNamespaceColumn: namespace}). |
| 606 | ToSql() |
| 607 | |
| 608 | if err != nil { |
| 609 | s.Logger().Debug("failed to build update query", slog.Any("error", err)) |
| 610 | return err |
| 611 | } |
| 612 | |
| 613 | if _, err := s.db.Exec(query, args...); err != nil { |
| 614 | s.Logger().Debug("failed to update release in SQL database", slog.String("key", key), slog.Any("error", err)) |
| 615 | return err |
| 616 | } |
| 617 | |
| 618 | return nil |
| 619 | } |
| 620 | |
| 621 | // Delete deletes a release or returns ErrReleaseNotFound. |
| 622 | func (s *SQL) Delete(key string) (release.Releaser, error) { |
nothing calls this directly
no test coverage detected