diff --git a/README.md b/README.md index 91c0b5e..bfe3123 100644 --- a/README.md +++ b/README.md @@ -35,11 +35,23 @@ The Active Directory Management Platform provides the following key features: - **User Management**: Admin interface for managing platform users and their permissions ### Advanced Features +- **Dynamic Group Management**: Automated group membership management + - Rules based on LDAP queries for dynamic group assignment + - Scheduled execution with flexible cron expressions + - Variable support for dynamic group and OU naming + - Automatic creation of target groups and OUs as needed + - Multi-connection support for cross-domain management +- **Custom Dashboards**: Custom visualizations for Active Directory metrics + - Multiple chart types (bar, line, pie, etc.) + - Data export capabilities (PDF, image) + - Shareable dashboard snapshots with custom branding - **LDAP Query Builder**: Visual interface for building, testing, and saving complex LDAP queries - Filter version history with revision control - Revert to previous filter versions - Test filters against live Active Directory data - Save frequently used filters for reuse + - Drag and drop condition reordering + - One-click copy feature for generated queries - **API Filtering**: Dynamic property filtering on all API endpoints - **Bulk Operations**: Efficient batch processing for operations on multiple directory objects - **Audit Logging**: Comprehensive audit trail for all directory changes @@ -191,6 +203,9 @@ Configuration is managed through environment variables. See [.env.example](.env. - **LDAP**: Connection parameters for Active Directory - **Rate Limiting**: API request restrictions - **Logging**: Debug and audit log configuration +- **Default Admin**: Initial admin user configuration +- **Authentication**: LDAP and OpenID Connect (OIDC) authentication settings +- **Registration**: Enable/disable user registration ## LDAP Query Builder diff --git a/docs/FEATURES.md b/docs/FEATURES.md new file mode 100644 index 0000000..b20fa3e --- /dev/null +++ b/docs/FEATURES.md @@ -0,0 +1,109 @@ +# Active Directory Management API Features + +## Core Features + +### LDAP Connection Management +- Configure and manage multiple LDAP connections +- Test connections with automatic status tracking +- Support for TLS/SSL secure connections + +### User Management +- View and search Active Directory users +- Filter by various attributes (name, email, department, etc.) +- Enable/disable user accounts +- Reset passwords +- Move users between Organizational Units +- Add/remove users from groups + +### Group Management +- Create, edit, and delete groups +- View group memberships +- Add and remove members +- Change group scope and type +- Move groups between Organizational Units + +### Dynamic Group Management +- Create LDAP query-based rules for automatic group membership +- Schedule rule execution with cron expressions (basic or advanced mode) +- Bind rules to specific LDAP connections +- Support for dynamic variables in group names and OU paths +- Automatic creation of groups and OUs as needed + +### Organizational Unit Management +- Create, edit, and delete OUs +- Move OUs in the directory tree +- Set management delegation + +### Computer Management +- View and search domain computers +- Filter by various attributes (name, OS, last logon) +- Enable/disable computer accounts +- Move computers between Organizational Units +- Add/remove computers from groups + +### Domain Information +- View domain details and functional levels +- Domain controller information +- Trust relationships + +### Sites and Subnets +- View and manage Active Directory sites +- Configure subnet assignments to sites +- Create and manage site links + +### LDAP Query Builder +- Visual query builder with condition groups +- Support for multiple filter conditions +- Real-time LDAP filter generation +- Filter saving and version control +- One-click copy feature +- Drag and drop condition ordering + +### Dashboard and Reporting +- Customizable dashboards with various chart types +- Data visualization for Active Directory metrics +- Export capability to PDF or images +- Shareable dashboard snapshots with custom branding + +### API Access +- API token management for programmatic access +- Rate limiting and expiration controls +- Role-based access control for API consumers + +### Audit Logging +- Comprehensive audit trail for all directory changes +- Filterable and searchable logs +- Export capability + +## Authentication and Security + +### Multi-method Authentication +- Local username/password authentication +- LDAP authentication against configured connections +- OpenID Connect (OIDC) integration + +### Role-based Access Control +- Granular permission system +- Multiple user roles +- Role assignment and management + +## Technical Features + +### API Documentation +- Full Swagger/OpenAPI documentation +- Interactive API testing +- Downloadable API specifications + +### Caching +- Redis caching support for improved performance +- Configurable cache expiration + +### Performance Optimization +- Pagination for large data sets +- Request throttling +- Query optimization + +### Deployment +- Docker-based deployment +- Comprehensive environment variable configuration +- Support for various deployment scenarios \ No newline at end of file diff --git a/server/swagger.ts b/server/swagger.ts index b2d89eb..cc0c1ff 100644 --- a/server/swagger.ts +++ b/server/swagger.ts @@ -49,29 +49,6 @@ const swaggerOptions = { }, }, schemas: { - User: { - type: "object", - properties: { - id: { type: "integer" }, - username: { type: "string" }, - email: { type: "string" }, - fullName: { type: "string" }, - role: { type: "string" }, - createdAt: { type: "string", format: "date-time" }, - }, - }, - ApiToken: { - type: "object", - properties: { - id: { type: "integer" }, - name: { type: "string" }, - token: { type: "string" }, - userId: { type: "integer" }, - customPermissions: { type: "array", items: { type: "string" } }, - expiresAt: { type: "string", format: "date-time" }, - createdAt: { type: "string", format: "date-time" }, - }, - }, LdapConnection: { type: "object", properties: {