fix: align webhook regenerate route with frontend path

This commit is contained in:
2026-03-28 13:58:53 +03:00
parent 52eec11d16
commit 77251c540b
4 changed files with 30 additions and 11 deletions
+1 -1
View File
@@ -177,7 +177,7 @@ func (s *Server) Router() chi.Router {
r.Get("/settings", s.getSettings)
r.Put("/settings", s.updateSettings)
r.Get("/settings/webhook-url", s.getWebhookURL)
r.Post("/settings/regenerate", s.regenerateWebhookSecret)
r.Post("/settings/webhook-url/regenerate", s.regenerateWebhookSecret)
})
})
+1
View File
@@ -36,6 +36,7 @@ type Registry struct {
URL string `json:"url"`
Type string `json:"type"`
Token string `json:"token"`
Owner string `json:"owner"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
}
+7 -7
View File
@@ -15,9 +15,9 @@ func (s *Store) CreateRegistry(r Registry) (Registry, error) {
r.UpdatedAt = r.CreatedAt
_, err := s.db.Exec(
`INSERT INTO registries (id, name, url, type, token, created_at, updated_at)
VALUES (?, ?, ?, ?, ?, ?, ?)`,
r.ID, r.Name, r.URL, r.Type, r.Token, r.CreatedAt, r.UpdatedAt,
`INSERT INTO registries (id, name, url, type, token, owner, created_at, updated_at)
VALUES (?, ?, ?, ?, ?, ?, ?, ?)`,
r.ID, r.Name, r.URL, r.Type, r.Token, r.Owner, r.CreatedAt, r.UpdatedAt,
)
if err != nil {
return Registry{}, fmt.Errorf("insert registry: %w", err)
@@ -29,9 +29,9 @@ func (s *Store) CreateRegistry(r Registry) (Registry, error) {
func (s *Store) GetRegistryByID(id string) (Registry, error) {
var r Registry
err := s.db.QueryRow(
`SELECT id, name, url, type, token, created_at, updated_at
`SELECT id, name, url, type, token, owner, created_at, updated_at
FROM registries WHERE id = ?`, id,
).Scan(&r.ID, &r.Name, &r.URL, &r.Type, &r.Token, &r.CreatedAt, &r.UpdatedAt)
).Scan(&r.ID, &r.Name, &r.URL, &r.Type, &r.Token, &r.Owner, &r.CreatedAt, &r.UpdatedAt)
if errors.Is(err, sql.ErrNoRows) {
return Registry{}, fmt.Errorf("registry %s: %w", id, ErrNotFound)
}
@@ -45,9 +45,9 @@ func (s *Store) GetRegistryByID(id string) (Registry, error) {
func (s *Store) GetRegistryByName(name string) (Registry, error) {
var r Registry
err := s.db.QueryRow(
`SELECT id, name, url, type, token, created_at, updated_at
`SELECT id, name, url, type, token, owner, created_at, updated_at
FROM registries WHERE name = ?`, name,
).Scan(&r.ID, &r.Name, &r.URL, &r.Type, &r.Token, &r.CreatedAt, &r.UpdatedAt)
).Scan(&r.ID, &r.Name, &r.URL, &r.Type, &r.Token, &r.Owner, &r.CreatedAt, &r.UpdatedAt)
if errors.Is(err, sql.ErrNoRows) {
return Registry{}, fmt.Errorf("registry %q: %w", name, ErrNotFound)
}
+21 -3
View File
@@ -56,10 +56,28 @@ func (s *Store) DB() *sql.DB {
return s.db
}
// migrate creates all tables if they do not already exist.
// migrate creates all tables if they do not already exist, then runs
// incremental migrations for schema changes added after initial release.
func (s *Store) migrate() error {
_, err := s.db.Exec(schema)
return err
if _, err := s.db.Exec(schema); err != nil {
return err
}
return s.runMigrations()
}
// runMigrations applies additive schema changes that cannot be expressed
// with CREATE TABLE IF NOT EXISTS.
func (s *Store) runMigrations() error {
migrations := []string{
// Add owner column to registries (2026-03-28).
`ALTER TABLE registries ADD COLUMN owner TEXT NOT NULL DEFAULT ''`,
}
for _, m := range migrations {
// Ignore errors from already-applied migrations (duplicate column).
_, _ = s.db.Exec(m)
}
return nil
}
const schema = `