- Added ProjectTask entity with fields for name, description, budget, hour contingent, hourly rate, and total price. - Created ProjectTaskRepository with methods for querying tasks by project and user access. - Implemented ProjectTaskVoter for fine-grained access control based on user roles and project membership. - Developed ProjectTaskSecurityListener to enforce permission checks during task creation. - Introduced custom ProjectTaskProjectFilter for filtering tasks based on project existence. - Integrated ProjectTask management in the frontend with Vue.js components, including CRUD operations and filtering capabilities. - Added API endpoints for ProjectTask with appropriate security measures. - Created migration for project_tasks table in the database. - Updated documentation to reflect new module features and usage.
32 lines
1.1 KiB
YAML
32 lines
1.1 KiB
YAML
framework:
|
|
http_client:
|
|
default_options:
|
|
# Timeout for external API calls (prevents hanging requests)
|
|
timeout: 10
|
|
max_duration: 30
|
|
|
|
# Retry failed requests (network issues, temporary rate limits)
|
|
retry_failed:
|
|
max_retries: 2
|
|
delay: 1000 # 1 second
|
|
multiplier: 2 # Exponential backoff
|
|
|
|
scoped_clients:
|
|
# GitHub API client with specific configuration
|
|
github.client:
|
|
base_uri: 'https://api.github.com'
|
|
timeout: 15
|
|
max_duration: 45
|
|
headers:
|
|
Accept: 'application/vnd.github.v3+json'
|
|
User-Agent: 'myCRM-App'
|
|
|
|
# Gitea API client (base_uri set dynamically per request)
|
|
gitea.client:
|
|
scope: 'https?://.*' # Match any HTTPS URL for Gitea instances
|
|
timeout: 15
|
|
max_duration: 45
|
|
headers:
|
|
Accept: 'application/json'
|
|
User-Agent: 'myCRM-App'
|