Skip to content

W5-B-api: customer backup/restore endpoints + migration 031 - #81

Merged
mastermanas805 merged 1 commit into
masterfrom
feat/customer-backups-api-fresh
May 14, 2026
Merged

mastermanas805 merged 1 commit into
masterfrom
feat/customer-backups-api-fresh

Conversation

@mastermanas805

Copy link
Copy Markdown
Member

Summary

  • Migration 031: resource_backups + resource_restores tables
  • POST /api/v1/resources/:id/backup + GET /backups
  • POST /api/v1/resources/:id/restore (Pro+) + GET /restores
  • Audit events backup.requested / restore.requested
  • plans.yaml: backup_retention_days, backup_restore_enabled, manual_backups_per_day

- migration 031: resource_backups + resource_restores tables
- POST /api/v1/resources/:id/backup — trigger manual backup (tier-gated)
- GET  /api/v1/resources/:id/backups — list backups
- POST /api/v1/resources/:id/restore — restore from backup (Pro+)
- GET  /api/v1/resources/:id/restores — list restores
- AuditKindBackupRequested + AuditKindRestoreRequested
- plans.yaml: backup_retention_days, backup_restore_enabled, manual_backups_per_day
- openapi.go: 4 new path entries
- testhelpers wires backup handler routes
@mastermanas805
mastermanas805 merged commit 3a1b9d8 into master May 14, 2026
mastermanas805 added a commit that referenced this pull request May 14, 2026
Per dashboard W8/W9 PauseResumeButton, the response from
POST /api/v1/resources/:id/pause and /resume must include the full
resource state under the 'resource' key (matching List/Get shapes)
so the click-handler can swap local React state in place without
re-fetching.

Was emitting 'item' which the dashboard adapter didn't recognize.
mastermanas805 added a commit that referenced this pull request May 14, 2026
Per dashboard W8/W9 PauseResumeButton, the response from
POST /api/v1/resources/:id/pause and /resume must include the full
resource state under the 'resource' key (matching List/Get shapes)
so the click-handler can swap local React state in place without
re-fetching.

Was emitting 'item' which the dashboard adapter didn't recognize.
mastermanas805 added a commit that referenced this pull request May 21, 2026
Per dashboard W8/W9 PauseResumeButton, the response from
POST /api/v1/resources/:id/pause and /resume must include the full
resource state under the 'resource' key (matching List/Get shapes)
so the click-handler can swap local React state in place without
re-fetching.

Was emitting 'item' which the dashboard adapter didn't recognize.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant