feat: integrate DocuSign for electronic signature of inspection reports
This feature enables automatic sending of generated PDF reports to DocuSign for dual electronic signature workflow (company and driver).
Features:
- JWT authentication with DocuSign API using RSA private key
- DocuSign envelope creation with dual signature workflow
- Automatic signature field positioning using anchor tabs
- Automatic download and replacement of signed PDFs in S3
- DocuSign webhook handling for signature events
- Manual endpoint for envelope status check (local environment support)
New files:
- DocuSignService: Main service for DocuSign API interaction
- DocuSignConfig: WebClient configuration for DocuSign OAuth and REST API
- DocuSignWebhookController: DocuSign webhook event handling
- PdfSignatureService: Utility service for PDF signature management
Changes:
- ReportServiceImpl: Integrate DocuSign sending during report generation
- ReportRepository: Add findByDocuSignEnvelopeId() method
- InspectionServiceImpl: Integrate report generation with DocuSign
- InspectionController: Fix duplicate method declarations
- DTOs: Add DocuSign fields (docuSignEnvelopeId, companySigned, etc.)
- HTML templates: Add signature sections with invisible anchors
- application.yml: Add DocuSign configuration