-
Notifications
You must be signed in to change notification settings - Fork 65
Release new version #24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
* feat: Update Features Backup & Restore
* feat: Update Features Backup & Restore
* feat: Update software
* feat: Update Features Backup & Restore
* Refactor services to use centralized API module and token storage * Feat: Enhance Slave Mode UI with mode switch button and update node mode mutation * feat: Improve SSLDialog layout with enhanced text wrapping for certificate fields
* feat: Update project goal description and remove security recommendation
* feat: Update project goal description and remove security recommendation
* feat: Update project goal description and remove security recommendation
* Refactor code structure for improved readability and maintainability
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This is a major refactoring PR that reorganizes the API codebase from a flat controller-based structure to a domain-driven architecture. The primary purpose is to improve code organization, maintainability, and separation of concerns.
Key changes include:
- Restructuring the codebase into domain-based modules (auth, alerts, backup, cluster, dashboard, domains, logs, modsec)
- Implementing proper separation of concerns with controllers, services, repositories, and DTOs
- Adding comprehensive type definitions and interfaces
- Extracting business logic from controllers into dedicated service layers
Reviewed Changes
Copilot reviewed 141 out of 250 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| apps/api/src/domains/modsec/ | New ModSecurity domain with DTOs for rule management and CORS configuration |
| apps/api/src/domains/logs/ | Logs domain with refactored service layer and extracted log parsing utilities |
| apps/api/src/domains/domains/ | Domain management with nginx config generation and upstream health services |
| apps/api/src/domains/dashboard/ | Dashboard domain with metrics collection and statistics services |
| apps/api/src/domains/cluster/ | Cluster management with node synchronization and slave authentication |
| apps/api/src/domains/backup/ | Backup system with comprehensive restore/import functionality |
| apps/api/src/domains/auth/ | Authentication domain with complete 2FA and token management |
| apps/api/src/domains/alerts/ | Alerts system with notification services and monitoring capabilities |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| id: `modsec_${Date.now()}_${index}`, | ||
| timestamp, | ||
| level, | ||
| type: 'error', |
Copilot
AI
Oct 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The log type 'error' is inconsistent with the ParsedLogEntry type definition. ModSecurity logs should use 'security' or 'modsecurity' type instead of 'error' to properly categorize security-related events.
| type: 'error', | |
| type: 'security', |
| responseTime?: number; | ||
| } | ||
| import logger from '../../utils/logger'; | ||
| import prisma from '../../config/database'; |
Copilot
AI
Oct 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing import validation. The imports should be verified to exist and the file should handle potential import failures gracefully.
| import prisma from '../../config/database'; | |
| let prisma: any; | |
| try { | |
| prisma = require('../../config/database').default || require('../../config/database'); | |
| } catch (error) { | |
| logger.error("Failed to import prisma from '../../config/database':", error); | |
| prisma = null; | |
| } |
|




No description provided.