fix: align webhook regenerate route with frontend path
This commit is contained in:
@@ -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)
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
@@ -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"`
|
||||
}
|
||||
|
||||
@@ -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
@@ -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 = `
|
||||
|
||||
Reference in New Issue
Block a user