feat: enable proxy toggle on quick deploy, event log clearing, and UX fixes

- Add enable_proxy toggle to Quick Deploy form (defaults to on)
- Add DELETE /api/events/log/{id} and DELETE /api/events/log endpoints
- Add Clear All button with confirmation on Events page
- Rename "NPM Proxy" to "Enable Proxy" on stage form (provider-agnostic)
- Fix polling interval validation (min 60s) and number input trim errors
- Fix domain field no longer required in settings
This commit is contained in:
2026-04-05 01:50:19 +03:00
parent 61febefca9
commit c26c41e6a1
10 changed files with 134 additions and 13 deletions
+22
View File
@@ -153,6 +153,28 @@ func (s *Store) GetEventStats() (EventLogStats, error) {
}
// PruneEvents deletes event log entries older than the given number of days.
// DeleteEvent removes a single event log entry by ID.
func (s *Store) DeleteEvent(id int64) error {
result, err := s.db.Exec(`DELETE FROM event_log WHERE id = ?`, id)
if err != nil {
return fmt.Errorf("delete event: %w", err)
}
n, _ := result.RowsAffected()
if n == 0 {
return fmt.Errorf("event %d: %w", id, ErrNotFound)
}
return nil
}
// ClearAllEvents removes all event log entries.
func (s *Store) ClearAllEvents() (int64, error) {
result, err := s.db.Exec(`DELETE FROM event_log`)
if err != nil {
return 0, fmt.Errorf("clear events: %w", err)
}
return result.RowsAffected()
}
func (s *Store) PruneEvents(olderThanDays int) (int64, error) {
if olderThanDays < 1 {
return 0, fmt.Errorf("prune events: olderThanDays must be >= 1, got %d", olderThanDays)