New: React-based admin UI with REST API - #236
Merged
Merged
Conversation
Wiz Scan Summary
To detect these findings earlier in the dev lifecycle, try the Wiz Code extension for VS Code, JetBrains, or Visual Studio. |
…ays" / "Last 30 days" for clarity
…g into new/react-admin-ui
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.
✨ PR Description
1. Problem & Context
Replacing legacy PHP-based admin UI (WP_List_Table) with React frontend + REST API backend. Enables modern, maintainable UI with proper separation of concerns and client-side filtering/pagination.
2. What Changed (Where)
AAL_Log_Query(query builder + filtering),AAL_Log_Presenter(data formatting),AAL_REST(REST endpoints/logs,/logs/filters,/promotions/{id}/dismiss)class-aal-admin-ui.phpnow enqueues React app, removed list table instantiationAAL_Log_QueryandAAL_Log_Presenter::to_export_row()app.js,api.js,index.js) with filtering, search, pagination, promotionstest-dateshow-query.php, updatedtest-export.phpto useAAL_Log_Presenter3. How It Works
User loads admin page → React app mounts to
#aal-admin-root→ fetches/logs/filtersfor dropdown options and/logs?page=1&...filtersvia REST →AAL_Log_Query::query()applies role-based WHERE clauses, pagination, sorting → results passed throughAAL_Log_Presenter::to_json()for structured output → React renders table with inline promotions, filter links, export button synced to URL state.4. Risks
Missing build artifacts: Dev must run
npm run buildbefore deployment or admin page shows error notice. Mitigate: add build step to release workflow (already done at line 97-98).Permission model unchanged: REST endpoints reuse existing capability checks (
view_all_aryo_activity_log,edit_pages), no new auth vuln but verify role-based filtering logic inAAL_Log_Query::get_where_by_role()remains correct across all object types.Generated by LinearB AI and added by gitStream.
AI-generated content may contain inaccuracies. Please verify before using.
💡 Tip: You can customize your AI Description using Guidelines Learn how