How heetaru/warranty-claims-api works
Warranty Claims API is a Spring Boot service for applicants to create claims, upload proof, and submit them for a SOAP warranty check; reviewers then approve or reject submitted claims. Claim and document metadata use PostgreSQL, while file contents use S3-compatible storage. The graph separates claim handling, document handling, warranty integration, and cross-cutting access/error handling. Edges follow sampled calls or README statements; some provider wiring and unsampled implementation details are not shown.
Main entry points: ClaimService.java Claim workflow · DocumentService.java Document workflow · ClaimController.java Claim endpoints · ClaimDocumentRepository.java Document repository
Components 19
Claim lifecycle
- Claim endpoints
src/main/java/com/stanislav/warrantyclaims/claim/ClaimController.java - Claim workflow
src/main/java/com/stanislav/warrantyclaims/claim/ClaimService.java - Claim state
src/main/java/com/stanislav/warrantyclaims/claim/Claim.java - Claim repository
src/main/java/com/stanislav/warrantyclaims/claim/ClaimRepository.java - Claim response
src/main/java/com/stanislav/warrantyclaims/claim/ClaimResponse.java
Proof documents
- Document endpoints
src/main/java/com/stanislav/warrantyclaims/document/DocumentController.java - Document workflow
src/main/java/com/stanislav/warrantyclaims/document/DocumentService.java - Document metadata
src/main/java/com/stanislav/warrantyclaims/document/ClaimDocument.java - Document repository
src/main/java/com/stanislav/warrantyclaims/document/ClaimDocumentRepository.java - S3 storage adapter
src/main/java/com/stanislav/warrantyclaims/document/S3Storage.java
Warranty check
- Warranty gateway
src/main/java/com/stanislav/warrantyclaims/soap/WarrantyGateway.java - SOAP client
src/main/java/com/stanislav/warrantyclaims/soap/WarrantySoapClient.java
API platform
- Role security
src/main/java/com/stanislav/warrantyclaims/security/SecurityConfig.java - API error handling
src/main/java/com/stanislav/warrantyclaims/common/GlobalExceptionHandler.java
Other components
- Applicant
- Reviewer
- PostgreSQL
- S3-compatible storage
- SOAP service
Connections 20
- Applicant → Claim endpoints: creates and submits
README.md - Reviewer → Claim endpoints: reviews claims
README.md - Claim endpoints → Claim workflow: dispatches
src/main/java/com/stanislav/warrantyclaims/claim/ClaimController.java - Claim workflow → Claim repository: reads and saves
src/main/java/com/stanislav/warrantyclaims/claim/ClaimService.java - Claim workflow → Claim state: updates
src/main/java/com/stanislav/warrantyclaims/claim/ClaimService.java - Claim workflow → Claim response: maps to
src/main/java/com/stanislav/warrantyclaims/claim/ClaimService.java - Claim repository → PostgreSQL: persists claim data
README.md - Claim workflow → Document repository: checks proof exists
src/main/java/com/stanislav/warrantyclaims/claim/ClaimService.java - Claim workflow → Warranty gateway: checks warranty
src/main/java/com/stanislav/warrantyclaims/claim/ClaimService.java - Document endpoints → Document workflow: dispatches
src/main/java/com/stanislav/warrantyclaims/document/DocumentController.java - Document workflow → Claim workflow: checks claim access
src/main/java/com/stanislav/warrantyclaims/document/DocumentService.java - Document workflow → Document repository: reads and saves
src/main/java/com/stanislav/warrantyclaims/document/DocumentService.java - Document workflow → Document metadata: creates metadata
src/main/java/com/stanislav/warrantyclaims/document/DocumentService.java - Document workflow → S3 storage adapter: uploads and downloads
src/main/java/com/stanislav/warrantyclaims/document/DocumentService.java - Document repository → PostgreSQL: persists metadata
README.md - S3 storage adapter → S3-compatible storage: stores file contents
README.md - Warranty gateway → SOAP client: uses SOAP adapter
src/main/java/com/stanislav/warrantyclaims/soap/WarrantySoapClient.java - SOAP client → SOAP service: checks warranty
README.md - Role security → Claim endpoints: protects API
- API error handling → Claim workflow: formats API errors