Add bulk entry restoration feature to admin console - #13830
Open
shahbaa123 wants to merge 1 commit into
Open
Conversation
This adds a new bulk entry restoration tool to the admin console that allows restoring multiple deleted entries at once with validation (dry run) support. Key features: - Bulk restore multiple entries via file upload, comma-separated, or line-separated input - Dry run mode for validation before actual restoration - Detailed per-entry results showing which entries can be restored - File upload support for large batches (up to 5MB, .txt/.csv files) - Entry ID validation with pattern matching - Partner ID validation to ensure entries belong to the specified partner Backend changes: - New API action: adminconsole_entryadmin.bulkRestoreDeletedEntries - Refactored restoration code to eliminate duplication between single and bulk restoration - Added 3 helper methods shared by both restoration flows: - retrieveEntryFileSyncsAndAssets() - Gets file syncs, assets, and metadata - restoreAssets() - Restores asset status - restoreEntryStatus() - Restores entry status and recycle bin fields - New API types: KalturaBulkRestoreEntryData, KalturaEntryRestoreResult, KalturaEntryRestoreResultArray, KalturaEntryRestoreResultListResponse Frontend changes: - New admin console page at index/entry-restoration - JavaScript toggle for different input modes - Results table with success/error indicators - Seamless workflow: dry run → review results → proceed with real restoration Permissions: - Added permission configuration for bulkrestoredeletedentries action - Permission update script: 2026_03_04_update_adminconsole_entryadmin_bulk_restore_permissions.php - Requires RESTORE_DELETED_ENTRY permission Known limitations: - Neither single nor bulk restoration currently restore kuser-entry relationships - This is consistent with existing restoration behavior 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
|
@github-copilot suggest |
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
This PR adds a new bulk entry restoration tool to the admin console that allows restoring multiple deleted entries at once with validation (dry run) support.
Key Features
Backend Changes
adminconsole_entryadmin.bulkRestoreDeletedEntriesretrieveEntryFileSyncsAndAssets()- Gets file syncs, assets, and metadatarestoreAssets()- Restores asset statusrestoreEntryStatus()- Restores entry status and recycle bin fieldsKalturaBulkRestoreEntryData(input)KalturaEntryRestoreResult(per-entry result)KalturaEntryRestoreResultArray(array of results)KalturaEntryRestoreResultListResponse(API response)Frontend Changes
index/entry-restorationunder Developer tabPermissions
bulkrestoredeletedentriesaction2026_03_04_update_adminconsole_entryadmin_bulk_restore_permissions.phpRESTORE_DELETED_ENTRYpermissionRestoration Process
Both single and bulk restoration now restore the following:
Known Limitations
Testing
Files Changed
admin_console/configs/navigation.xml- Added menu itemadmin_console/controllers/IndexController.php- Added entryRestorationActionadmin_console/views/scripts/index/entry-restoration.phtml- New UI template (178 lines)configurations/admin.template.ini- Added ACL configurationdeployment/permissions/service.adminconsole.entryadmin.ini- Added action permissiondeployment/updates/scripts/add_permissions/2026_03_04_update_adminconsole_entryadmin_bulk_restore_permissions.php- Permission update scriptplugins/admin_console/lib/api/- 4 new API type classesplugins/admin_console/services/EntryAdminService.php- Added bulk restoration action and refactored shared codeStats: 11 files changed, 685 insertions(+), 59 deletions(-)
🤖 Generated with Claude Code