docs: remove all weekly reports references
Weekly report feature was removed previously. Cleans up all remaining references from README, architecture diagram, and deletes WEEKLY_REPORT_FEATURE.md entirely.
This commit is contained in:
42
README.md
42
README.md
@@ -21,7 +21,6 @@ A self-hosted vulnerability management dashboard for the NTS-AEO-STEAM and NTS-A
|
||||
- [Knowledge Base](#knowledge-base)
|
||||
- [Exports](#exports)
|
||||
- [Archer Risk Acceptance Tickets](#archer-risk-acceptance-tickets)
|
||||
- [Weekly Reports](#weekly-reports)
|
||||
- [User Management (Admin)](#user-management-admin)
|
||||
- [Audit Log (Admin)](#audit-log-admin)
|
||||
- [Scripts](#scripts)
|
||||
@@ -46,7 +45,6 @@ The application provides:
|
||||
- **Ivanti Queue** — personal staging list for batch-processing FP, Archer, and CARD workflows
|
||||
- **AEO Compliance page** — weekly xlsx upload, diff preview, per-team metric health cards, device-level violation tracking with notes history
|
||||
- Archer risk acceptance ticket tracking (EXC numbers) linked to CVE/vendor pairs
|
||||
- Weekly vulnerability report upload and processing
|
||||
- A knowledge base for internal documentation and policies
|
||||
- Role-based access control with a full audit trail
|
||||
|
||||
@@ -61,7 +59,7 @@ The application provides:
|
||||
| File uploads | Multer 2 |
|
||||
| Auth | bcryptjs, cookie-based sessions |
|
||||
| Frontend | React 19, lucide-react, xlsx |
|
||||
| Compliance / report processing | Python 3, pandas, openpyxl |
|
||||
| Compliance xlsx parsing | Python 3, pandas, openpyxl |
|
||||
| Bulk notes import | Python 3 (stdlib only) |
|
||||
|
||||
---
|
||||
@@ -70,7 +68,7 @@ The application provides:
|
||||
|
||||
- Node.js 18 or later
|
||||
- npm
|
||||
- Python 3 with `pandas` and `openpyxl` (required for compliance xlsx parsing and weekly report processing)
|
||||
- Python 3 with `pandas` and `openpyxl` (required for compliance xlsx parsing)
|
||||
|
||||
---
|
||||
|
||||
@@ -129,7 +127,6 @@ Apply all feature migrations in order:
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
node migrations/add_weekly_reports_table.js
|
||||
node migrations/add_knowledge_base_table.js
|
||||
node migrations/add_archer_tickets_table.js
|
||||
node migrations/add_ivanti_sync_table.js
|
||||
@@ -234,7 +231,7 @@ All routes require authentication. Three roles are supported:
|
||||
| Role | Permissions |
|
||||
|---|---|
|
||||
| `viewer` | Read-only: CVEs, documents, findings, reports, knowledge base, Archer tickets, compliance data |
|
||||
| `editor` | All viewer permissions plus: create/update CVEs, upload documents, sync Ivanti findings, save notes and overrides, manage knowledge base, manage Archer tickets, upload weekly reports, upload compliance reports, manage Ivanti Queue |
|
||||
| `editor` | All viewer permissions plus: create/update CVEs, upload documents, sync Ivanti findings, save notes and overrides, manage knowledge base, manage Archer tickets, upload compliance reports, manage Ivanti Queue |
|
||||
| `admin` | All editor permissions plus: delete documents, delete reports, manage users, view audit logs |
|
||||
|
||||
Sessions expire after 24 hours. Session tokens are stored in `httpOnly` cookies.
|
||||
@@ -435,14 +432,6 @@ Track Archer exception tickets (EXC numbers) linked to specific CVE/vendor pairs
|
||||
|
||||
---
|
||||
|
||||
### Weekly Reports
|
||||
|
||||
Editors and admins can upload weekly vulnerability reports as `.xlsx` files. The report is processed by `backend/scripts/split_cve_report.py` which splits rows where multiple CVE IDs are comma-separated in the `CVE ID` column into individual rows.
|
||||
|
||||
Both the original and processed files can be downloaded from the weekly reports list. Admins can delete old report records and associated files.
|
||||
|
||||
---
|
||||
|
||||
### User Management (Admin)
|
||||
|
||||
- Create users with a role assignment
|
||||
@@ -475,14 +464,6 @@ Called automatically by the compliance upload flow. Parses the NTS_AEO xlsx repo
|
||||
|
||||
---
|
||||
|
||||
### `backend/scripts/split_cve_report.py`
|
||||
|
||||
Called automatically by the weekly report upload flow. Splits multi-CVE rows in the uploaded Excel report into one row per CVE ID. Not intended to be run manually.
|
||||
|
||||
**Dependencies:** `pandas>=2.0.0`, `openpyxl>=3.0.0`
|
||||
|
||||
---
|
||||
|
||||
### `backend/scripts/import_notes_from_csv.py`
|
||||
|
||||
Bulk-import notes into the findings cache from a CSV file. Useful for onboarding existing notes or migrating from a spreadsheet.
|
||||
@@ -605,15 +586,6 @@ All endpoints are prefixed with `/api`. All endpoints except `/api/auth/login` a
|
||||
| GET | `/api/compliance/notes/:hostname/:metricId` | viewer+ | Notes for a specific hostname/metric |
|
||||
| POST | `/api/compliance/notes` | editor+ | Add a note for a hostname/metric |
|
||||
|
||||
### Weekly Reports
|
||||
|
||||
| Method | Path | Role | Description |
|
||||
|---|---|---|---|
|
||||
| POST | `/api/weekly-reports/upload` | editor+ | Upload and process a `.xlsx` vulnerability report |
|
||||
| GET | `/api/weekly-reports` | viewer+ | List all uploaded reports |
|
||||
| GET | `/api/weekly-reports/:id/download/:type` | viewer+ | Download `original` or `processed` file |
|
||||
| DELETE | `/api/weekly-reports/:id` | admin | Delete a report record and its files |
|
||||
|
||||
### Knowledge Base
|
||||
|
||||
| Method | Path | Role | Description |
|
||||
@@ -673,7 +645,6 @@ cve-dashboard/
|
||||
│ ├── cve_database.db # SQLite database (gitignored)
|
||||
│ ├── uploads/ # File storage root (gitignored)
|
||||
│ │ ├── <CVE-ID>/<vendor>/ # CVE documents
|
||||
│ │ ├── weekly_reports/ # Uploaded vulnerability reports
|
||||
│ │ ├── knowledge_base/ # Knowledge base documents
|
||||
│ │ └── temp/ # Temporary upload staging
|
||||
│ ├── routes/
|
||||
@@ -681,7 +652,6 @@ cve-dashboard/
|
||||
│ │ ├── users.js # User CRUD (admin)
|
||||
│ │ ├── auditLog.js # Audit log viewer (admin)
|
||||
│ │ ├── nvdLookup.js # NVD API proxy
|
||||
│ │ ├── weeklyReports.js # Weekly report upload and management
|
||||
│ │ ├── knowledgeBase.js # Knowledge base document management
|
||||
│ │ ├── archerTickets.js # Archer EXC ticket CRUD
|
||||
│ │ ├── ivantiWorkflows.js # Ivanti workflow batch sync and cache
|
||||
@@ -692,9 +662,7 @@ cve-dashboard/
|
||||
│ │ └── auth.js # requireAuth and requireRole middleware
|
||||
│ ├── helpers/
|
||||
│ │ ├── auditLog.js # logAudit helper (fire-and-forget)
|
||||
│ │ └── excelProcessor.js # Calls Python script for report processing
|
||||
│ ├── migrations/
|
||||
│ │ ├── add_weekly_reports_table.js
|
||||
│ │ ├── add_knowledge_base_table.js
|
||||
│ │ ├── add_archer_tickets_table.js
|
||||
│ │ ├── add_ivanti_sync_table.js
|
||||
@@ -705,7 +673,6 @@ cve-dashboard/
|
||||
│ │ └── add_compliance_tables.js # AEO compliance tables
|
||||
│ └── scripts/
|
||||
│ ├── parse_compliance_xlsx.py # Parses NTS_AEO xlsx compliance reports
|
||||
│ ├── split_cve_report.py # Splits multi-CVE rows in weekly reports
|
||||
│ ├── import_notes_from_csv.py # Bulk-import finding notes from CSV
|
||||
│ └── requirements.txt # pandas, openpyxl
|
||||
│
|
||||
@@ -754,8 +721,6 @@ cve-dashboard/
|
||||
|
||||
### Feature tables (added by migrations)
|
||||
|
||||
**`weekly_reports`** — Metadata for uploaded vulnerability reports. Tracks original and processed file paths, row counts, uploader, and an `is_current` flag.
|
||||
|
||||
**`knowledge_base`** — Document library entries with title, slug, category, description, and file metadata.
|
||||
|
||||
**`archer_tickets`** — Archer EXC exception tickets linked to CVE/vendor pairs. `UNIQUE(exc_number)`.
|
||||
@@ -835,7 +800,6 @@ Migrations are standalone Node.js scripts. Run them in the listed order on a fre
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
node migrations/add_weekly_reports_table.js
|
||||
node migrations/add_knowledge_base_table.js
|
||||
node migrations/add_archer_tickets_table.js
|
||||
node migrations/add_ivanti_sync_table.js
|
||||
|
||||
Reference in New Issue
Block a user