Skip to main content

Requests & Work Summaries

The Requests & Work Summaries submodule manages project request workflows, approval processes, and work summary documentation within the admin projects system.

🎯 Overview​

This submodule handles the complete lifecycle of project requests, approvals, and work summaries, including submission, review, approval workflows, and communication coordination.

🔧 Service Methods​

Request Management​

addRequest()​

Creates new project requests with validation, team assignment, and notification triggers.

Key Features:

  • Request validation and business rule enforcement
  • Automatic team assignment and routing
  • Priority-based request categorization
  • Integration with communication system

getRequest()​

Retrieves detailed request information including status, communications, and approval history.

Key Features:

  • Comprehensive request data aggregation
  • Communication history integration
  • Status tracking and timeline information
  • Role-based data filtering

updateRequest()​

Updates existing request information, status, and associated metadata.

Key Features:

  • Request modification with validation
  • Status progression management
  • Activity logging and audit trails
  • Notification triggers for updates

cancelRequest()​

Cancels pending requests with proper validation and cleanup processes.

Key Features:

  • Request cancellation with authorization checks
  • Related data cleanup and status updates
  • Notification of stakeholders
  • Activity logging for audit purposes

Approval Workflows​

addApproval()​

Creates approval requests with routing, escalation, and notification management.

Key Features:

  • Approval workflow initialization
  • Automatic reviewer assignment
  • Escalation rules and timelines
  • Integration with project management system

getApproval()​

Retrieves comprehensive approval information including review status and decisions.

Key Features:

  • Approval data aggregation
  • Review history and decision tracking
  • Communication integration
  • Timeline and milestone information

cancelApproval()​

Cancels pending approval requests with proper authorization and cleanup.

Key Features:

  • Approval cancellation with validation
  • Stakeholder notification management
  • Related workflow cleanup
  • Audit trail maintenance

Work Summary Management​

addWorkSummary()​

Creates detailed work summaries with attachments, progress tracking, and reporting.

Key Features:

  • Work summary creation with rich content support
  • File attachment management
  • Progress tracking and milestone documentation
  • Integration with project timelines

getWorkSummary()​

Retrieves comprehensive work summary information including attachments and history.

Key Features:

  • Work summary data aggregation
  • File attachment retrieval
  • Version history tracking
  • Progress analytics integration

deleteWorkSummary()​

Removes work summaries with proper authorization and cleanup processes.

Key Features:

  • Work summary deletion with validation
  • File cleanup and attachment management
  • Related data consistency maintenance
  • Activity logging for audit trails

Communication Management​

reply()​

Handles replies to requests, approvals, and work summaries with threading and notifications.

Key Features:

  • Threaded communication management
  • Notification triggers and routing
  • File attachment support
  • Activity tracking and audit logging

myRequest()​

Retrieves user-specific request information with filtering and pagination.

Key Features:

  • User-specific request filtering
  • Role-based data access
  • Pagination and sorting support
  • Status-based filtering options

🔐 Authorization Framework​

Role Requirements​

All request and work summary operations require appropriate PROJECT_ROLES permissions:

  • Admin: Full request and approval management access
  • Account Manager: Account-specific request oversight
  • Fulfillment Specialist: Request execution and work summary creation
  • Team Lead: Team-based request coordination and approval

Permission Validation​

  • Request Access: Validates user access to specific requests
  • Approval Authority: Ensures proper authorization for approval decisions
  • Work Summary Rights: Validates creation and modification permissions
  • Communication Access: Role-based filtering of request communications

🏗️ Technical Architecture​

Database Collections​

  • _projects-tasks: Core request, approval, and work summary storage
  • _communications: Request communication and threading management
  • _activity: Comprehensive activity logging and audit trails
  • _store.orders: Order and subscription integration
  • _users: Team member and role information

Workflow Integration​

  • Activity Logging: Uses createActivity utility for comprehensive audit trails
  • Socket Integration: Real-time notifications via socketEmit utility
  • Team Assignment: Dynamic team assignment and workload distribution
  • File Management: Attachment handling and storage management

Request Categories​

The service supports various request and approval types:

  • Onboarding Issues: Client onboarding problem resolution
  • Subscription Past Due: Payment and billing issue handling
  • General Requests: Standard project request management
  • Approval Workflows: Multi-stage approval processes
  • Setup Requirements: Project setup and configuration requests

📊 Data Processing​

Request Lifecycle​

  1. Submission: Request creation with validation and routing
  2. Assignment: Automatic team assignment based on criteria
  3. Processing: Work execution and progress tracking
  4. Review: Quality assurance and approval workflows
  5. Completion: Final validation and closure processes

Approval Workflows​

  • Multi-stage Approval: Support for complex approval hierarchies
  • Escalation Rules: Automatic escalation based on timelines
  • Decision Tracking: Comprehensive approval decision history
  • Notification Management: Automated stakeholder notifications

🔄 Integration Points​

External Systems​

  • Communication System: Message threading and notification delivery
  • File Storage: Attachment management and retrieval
  • Activity System: Comprehensive audit trail integration
  • Notification System: Real-time and email notification delivery

Internal Services​

  • Order Management: Integration with store order system
  • User Management: Team assignment and role validation
  • Project System: Integration with project lifecycle management
  • Analytics System: Request and approval metrics tracking

📈 Business Logic​

Request Processing Flow​

graph TD
A[Request Submission] --> B[Validation & Authorization]
B --> C[Team Assignment]
C --> D[Processing & Updates]
D --> E{Requires Approval?}
E -->|Yes| F[Approval Workflow]
E -->|No| G[Direct Processing]
F --> H[Review & Decision]
G --> I[Completion]
H --> I

Work Summary Workflow​

  • Creation: Work summary initialization with project context
  • Documentation: Progress tracking and milestone documentation
  • Review: Quality assurance and approval processes
  • Integration: Integration with project timelines and reporting

🛡️ Security Features​

Data Protection​

  • Input Validation: Comprehensive input sanitization and validation
  • Role-based Access: Granular permission checking for all operations
  • Audit Logging: Complete audit trails for compliance and tracking
  • File Security: Secure attachment handling and access control

Authorization Checks​

  • Request Access: Validates user access to specific requests
  • Modification Rights: Ensures proper permissions for updates
  • Communication Rights: Role-based filtering of request communications
  • Approval Authority: Validates approval and decision-making permissions

📝 Usage Examples​

Creating a Project Request​

await addRequest({
title: 'Website Setup Request',
description: 'Client needs website configuration',
orderId: 'order_123',
type: 'setup',
dashclicks: userRoles,
userId: 'user_456',
});

Managing Work Summaries​

await addWorkSummary({
orderId: 'order_123',
summary: 'Completed initial setup phase',
attachments: ['file1.pdf', 'file2.jpg'],
dashclicks: userRoles,
});

Processing Approvals​

await addApproval({
requestId: 'req_123',
approvalType: 'setup_completion',
reviewers: ['manager_1', 'lead_2'],
dashclicks: userRoles,
});

⚠️ Important Notes​

  • Request Types: Different request types have specific validation and routing rules
  • Team Assignment: Automatic team assignment based on request type and workload
  • Approval Hierarchies: Complex approval workflows may require multiple stages
  • Communication Threading: All request communications maintain proper threading
  • File Management: Attachments require proper storage and access control
  • Activity Tracking: All operations generate comprehensive audit trail entries
  • Role Dependencies: Operations require appropriate PROJECT_ROLES permissions
💬

Documentation Assistant

Ask me anything about the docs

Hi! I'm your documentation assistant. Ask me anything about the docs!

I can help you with:
- Code examples
- Configuration details
- Troubleshooting
- Best practices

Try asking: How do I configure the API?
09:31 AM