Subscription Management
Administrative management of project subscriptions, store orders, and subscription lifecycle operations within the DashClicks platform.
🔧 Service Methods​
Core Subscription Operations​
getSubscriptions()​
Retrieves project subscriptions with filtering, pagination, and administrative oversight.
Key Features:
- Advanced Filtering: Filter by subscription status, products, date ranges
- Pagination Support: Efficient handling of large subscription datasets
- Administrative Access: Role-based access control for subscription visibility
- Comprehensive Data: Includes subscription details, pricing, and project context
createReport()​
Generates comprehensive reports for subscription analysis and administrative insights.
Key Features:
- Report Generation: Creates detailed subscription performance reports
- Data Analysis: Analyzes subscription metrics and trends
- Administrative Reporting: Provides insights for business decision-making
- Export Capabilities: Supports various report formats and export options
launchOrder()​
Initiates order processing for subscription-based services and project launches.
Key Features:
- Order Processing: Handles subscription order initialization and processing
- Project Launch: Coordinates project launch activities and workflows
- Status Tracking: Monitors order status and processing progress
- Integration: Integrates with billing and project management systems
getActivity()​
Retrieves activity logs and tracking information for subscription-related operations.
Key Features:
- Activity Tracking: Monitors subscription-related activities and changes
- Audit Trail: Provides comprehensive audit trail for compliance
- Historical Data: Access to historical subscription activity records
- Performance Monitoring: Tracks subscription performance and utilization
getSubscriptionById()​
Retrieves detailed information for a specific subscription by its unique identifier.
Key Features:
- Detailed Retrieval: Complete subscription information and metadata
- ID-based Lookup: Efficient single subscription retrieval
- Comprehensive Data: Includes related orders, pricing, and project information
- Administrative Access: Role-based access control for subscription details
retrySubscriptionById()​
Retries failed subscription operations and processing attempts.
Key Features:
- Retry Logic: Handles failed subscription processing with retry mechanisms
- Error Recovery: Automated error recovery and reprocessing
- Status Management: Updates subscription status based on retry results
- Failure Handling: Comprehensive error handling and logging
cancelSubscription()​
Cancels active subscriptions with proper cleanup and status management.
Key Features:
- Subscription Cancellation: Handles subscription termination and cleanup
- Status Updates: Updates subscription and related project statuses
- Billing Integration: Coordinates with billing system for cancellation processing
- Data Integrity: Maintains data integrity during cancellation process
addOrder()​
Creates new orders associated with subscription management and project initialization.
Key Features:
-
Order Creation: Creates new orders for subscription-based services
-
Project Association: Links orders to specific projects and subscriptions
-
Workflow Integration: Integrates with project management workflows
-
Status Tracking: Monitors order creation and processing status
-
Purpose: Create new project subscription with validation
-
Parameters:
subscriptionData- Complete subscription informationadminUser- Administrator creating the subscription
-
Returns: Created subscription object with ID
-
Collections:
_store.subscriptions,_activity
Update Subscription​
updateSubscription(subscriptionId, updateData, adminUser);
- Purpose: Update existing subscription details and status
- Parameters:
subscriptionId- Unique subscription identifierupdateData- Fields to updateadminUser- Administrator performing update
- Returns: Updated subscription object
- Collections:
_store.subscriptions,_activity
Order Management​
Get Store Orders​
getStoreOrders(filters, options);
- Purpose: Retrieve project-related store orders with filtering
- Parameters:
filters- Order search criteriaoptions- Pagination and sorting parameters
- Returns: Paginated list of order objects
- Collections:
_store.orders
Process Order​
processOrder(orderId, processingData, adminUser);
- Purpose: Process store order through fulfillment pipeline
- Parameters:
orderId- Unique order identifierprocessingData- Processing parameters and statusadminUser- Administrator processing order
- Returns: Updated order status
- Collections:
_store.orders,_activity
Payment Method Integration​
Manage Payment Methods​
managePaymentMethods(accountId, methodData, adminUser);
- Purpose: Administrative management of account payment methods
- Parameters:
accountId- Account identifiermethodData- Payment method configurationadminUser- Administrator managing methods
- Returns: Updated payment method configuration
- Collections:
_accounts,_payment-methods
Subscription States​
Subscription Status Management​
- Active: Subscription is currently active and billable
- Paused: Subscription temporarily paused by admin
- Cancelled: Subscription cancelled by admin action
- Expired: Subscription reached end of term
- Pending: Subscription awaiting activation or payment
Order Status Tracking​
- Pending: Order received and awaiting processing
- Processing: Order currently being fulfilled
- Completed: Order successfully fulfilled
- Cancelled: Order cancelled by admin action
- Refunded: Order refunded with payment reversal
Authorization Requirements​
Access Control​
- Subscription Admin: Full subscription lifecycle management
- Order Manager: Order processing and fulfillment operations
- Account Manager: Account-specific subscription oversight
- Billing Admin: Payment and billing operations
Permission Levels​
- Create: Ability to create new subscriptions and orders
- Read: View subscription and order information
- Update: Modify existing subscription and order data
- Delete: Cancel subscriptions and void orders
Error Handling​
Common Error Scenarios​
- Invalid Subscription ID: Subscription not found or inaccessible
- Payment Method Error: Payment processing or validation failure
- Order Processing Error: Fulfillment pipeline failure
- Authorization Error: Insufficient permissions for operation
- Validation Error: Invalid subscription or order data
Error Response Format​
{
success: false,
error: "Subscription management error",
code: "SUBSCRIPTION_ERROR",
details: "Specific error information"
}
Integration Points​
Billing System Integration​
- Subscription billing cycle management
- Payment processing and retry logic
- Revenue recognition and reporting
Account Management Integration​
- Account-subscription relationship management
- Multi-account subscription coordination
- Account-based access control
Communication Integration​
- Subscription status notifications
- Order fulfillment updates
- Payment failure alerts
Usage Examples​
Retrieve Active Subscriptions​
const activeSubscriptions = await projectsService.getAllSubscriptions(
{ status: 'active' },
{ page: 1, limit: 50, sort: { createdAt: -1 } },
);
Process Pending Order​
const processedOrder = await projectsService.processOrder(
orderId,
{ status: 'processing', assignedTeam: 'fulfillment' },
adminUser,
);
Update Subscription Status​
const updatedSubscription = await projectsService.updateSubscription(
subscriptionId,
{ status: 'paused', reason: 'Admin request' },
adminUser,
);