Accounts
The Admin Accounts module provides comprehensive administrative control over account lifecycle management, including account creation, monitoring, filtering, and administrative operations within the DashClicks platform.
📋 Accounts Submodules
Core Account Management
- Account Operations - Account creation, filtering, and retrieval operations
- Account Administration - Plan overrides, banning, and administrative controls
- Account Analytics - Filter statistics for admin dashboard
🏗️ Architecture Overview
- Location:
internal/api/v1/admin/routes/account.route.js - Service:
internal/api/v1/admin/services/account.service.js - Controller:
internal/api/v1/admin/controllers/account.controller.js - Route Prefix:
/v1/admin/accounts - Authorization: DashClicks staff with account management permissions
📊 Module Statistics
| Submodule | Key Features |
|---|---|
| Account Operations | Creation, querying, filtering |
| Account Administration | Plan overrides, ban management |
| Account Analytics | Filter statistics only |
🚀 Key Administrative Features
Account Lifecycle Management
- Account Creation: Complete account setup with business entity creation and domain assignment
- Account Filtering: Advanced filtering by status, type, account relationships, and search criteria
- Account Monitoring: Real-time account statistics and filter count analytics
Administrative Controls
- Plan Override: Administrative control over subscription plan limitations for main accounts
- Account Banning: Account suspension and reactivation with session management
- User Associations: Management of account-user relationships and permissions
Business Intelligence
- Filter Analytics: Real-time account statistics for administrative dashboards
- Account Relationships: Parent-child account relationship management
- Search Capabilities: Comprehensive search across account names, emails, and metadata
🔧 Technical Architecture
Service Structure
- queryAccounts(): Advanced account retrieval with filtering and pagination
- createAccount(): Complete account creation with business entity setup and domain assignment
- getFilterCounts(): Real-time filter statistics for dashboard analytics
- getPeopleOfAccount(): Retrieve people/contacts associated with an account
- planOverride(): Enable/disable plan overrides for main accounts only
- updateAcc(): Account ban/unban operations with session cleanup
Authorization Framework
- DashClicks Staff Only: All operations restricted to verified administrative staff
- Role-based Access: Granular permissions based on administrative roles
- Audit Logging: Comprehensive logging of all account administrative actions
Data Management
- MongoDB Integration: Optimized aggregation pipelines for account operations
- Transaction Support: Atomic operations for complex account workflows
- Real-time Analytics: Live account statistics and filter count updates
🔗 Integration Points
The Admin Accounts module integrates with:
- User Management: Account-user associations and permission management
- Billing System: Account billing configuration and subscription management
- Communication System: Account-related notifications and messaging
- External Services: Stripe integration for payment processing
- Domain Management: Custom domain configuration and DNS verification
🔍 Quick Reference
Common Account Operations
| Operation | Submodule | Key Endpoints |
|---|---|---|
| Query Accounts | Account Operations | GET /v1/admin/accounts |
| Create Account | Account Operations | POST /v1/admin/accounts |
| Get Filter Stats | Account Operations | GET /v1/admin/accounts/filters |
| Override Plan | Account Administration | PUT /v1/admin/accounts/:id/plan-override |
| Ban/Unban Account | Account Administration | PUT /v1/admin/accounts/:id |
| Get Account People | Account Operations | GET /v1/admin/accounts/:id/people |
Authentication Requirements
All account endpoints require:
- Valid DashClicks staff authentication
- Administrative account management permissions
- Appropriate role-based access validation
📝 Usage Notes
- Account creation includes automatic domain assignment and business entity setup
- Plan overrides restricted to main accounts only (sub-accounts not supported)
- Filter statistics update in real-time for administrative dashboard integration
- Account banning automatically terminates all associated API sessions
- Comprehensive audit logging captures all administrative account actions
- Advanced filtering supports complex queries across multiple account attributes