feat(backup-and-restore): consume the my backup API#746
Draft
edospadoni wants to merge 1 commit into
Draft
Conversation
Switches the Backup/Restore views off the legacy backupd shape and
onto the my-native JSON produced by collect.
- Backup listing types + templates now read uploaded_at (RFC3339) and
filename; the epoch-seconds `created` / `name` fields are gone.
- DownloadBackupModal parses uploaded_at as an ISO string and reduces
it to an epoch-second integer for the generated filename, dodging
the colons that crash some file systems.
- DeleteBackupModal checks the normalized {message: 'success'} reply.
- RunBackupModal wires @secondary-click so the Close button actually
closes the modal (the "x" was the only working path before).
- BackupContent refreshes the backups store after SetPassphraseDrawer
succeeds, so the "Passphrase not configured" warning and the
disabled Run-backup state flip without a full page reload.
- RestoreContent: when the selected backup (or uploaded file) ends
in .gpg the Passphrase input loses its "Optional" tag and becomes
required with validation focus, since the restore will otherwise
fail on GPG decrypt mid-flight.
This was referenced Apr 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Switches the Backup/Restore views off the legacy
backupdshape and onto themy-native JSON produced bycollect, following the appliance-side cutover in NethServer/nethsecurity#1609.uploaded_at(RFC3339) andfilename; the epochcreated/namefields are gone.DownloadBackupModalparsesuploaded_atand reduces it to an epoch-second integer for the generated file name, dodging the colons that crash some filesystems.DeleteBackupModalchecks the normalized{message: 'success'}reply.RunBackupModalwires@secondary-clickso the Close button actually closes the modal (only the "x" worked before).BackupContentrefreshes the backups store afterSetPassphraseDrawersucceeds, so the "Passphrase not configured" warning and the disabled Run-backup state flip without a full page reload.RestoreContent: when the selected backup (or uploaded file) ends in.gpg, the Passphrase field drops its Optional tag and becomes required with validation focus, since the restore would otherwise fail mid-flight on GPG decrypt.Blocking / coordination
Warning
Do not merge this PR until the appliance-side cutover lands.
The new
my-native JSON shape is produced only once the companion cutover (NethServer/nethsecurity#1609) is deployed on the appliance; on a device still talking tobackupd, the old fields (created,name) are missing and the views break.Requires in order:
mybackend + collect + UI + security hardening + DELETE route) merged and deployed to production.remote-backup+ns.backupontomy) merged and released.Tracking issue: NethServer/my#83.