@@ -6,30 +6,51 @@ title: sequence-expire-print-ttl
66
77``` mermaid
88sequenceDiagram
9- participant dl as Digital Letters
10- participant s3 as S3 Bucket
9+ participant scannerlambda as Lambda<br/>PrintScanner
10+ participant analyserLambda as Lambda<br/>PrintAnalyser
11+ participant senderLambda as Lambda<br/>PrintSender
12+ participant moveLambda as Lambda<br/>MoveLetters
13+ participant unscannedS3 as S3<br/>UnscannedLetters
14+ participant gd as GuardDuty
15+ participant safeS3 as S3<br/>SafeLetters
16+ participant quarantinedS3 as S3<br/>QuarantinedLetters
1117 participant eventBus as Event Bus
1218 participant printApi as Print API
1319
14- eventBus ->> dl: ItemDequeued event
15- activate dl
16- dl ->> dl: Extract & Decode PDF
17- dl -) s3: Store PDF
18- deactivate dl
19- s3 -) s3: GuardDuty
20- s3 -) eventBus: ScanResult event
21- eventBus ->> dl: ScanResult event
22- activate dl
23- dl ->> s3: Get scanned PDF
24- activate s3
25- s3 -->> dl: PDF
26- deactivate s3
27- dl ->> dl: Count pages
28- dl ->> dl: SHA256
29- dl ->> eventBus: LetterAvailable event
30- deactivate dl
31- eventBus ->> dl: LetterAvailable event
32- activate dl
33- dl -) printApi: letter.PREPARED event
34- deactivate dl
20+ eventBus ->> scannerlambda: ItemDequeued event
21+ activate scannerlambda
22+ scannerlambda ->> scannerlambda: Extract & Decode PDF
23+ scannerlambda -) unscannedS3: Store PDF
24+ deactivate scannerlambda
25+ unscannedS3 -) gd: S3 new object event
26+ activate gd
27+ gd -) gd: Scan for threats
28+ gd -) eventBus: ScanResult event
29+ deactivate gd
30+ eventBus -) moveLambda: ScanResult event
31+ activate moveLambda
32+ alt Move scanned letter
33+ moveLambda ->> safeS3: Store safe PDF
34+ moveLambda ->> eventBus: PrintLetterSafe event
35+ else
36+ moveLambda ->> quarantinedS3: Store quarantined PDF
37+ moveLambda ->> eventBus: PrintLetterQuarantined event
38+ end
39+ moveLambda ->> unscannedS3: Delete unscanned PDF
40+ deactivate moveLambda
41+ eventBus -) analyserLambda: PrintLetterSafe event
42+ activate analyserLambda
43+ analyserLambda ->> safeS3: Get scanned PDF
44+ activate safeS3
45+ safeS3 -->> analyserLambda: PDF
46+ deactivate safeS3
47+ analyserLambda ->> analyserLambda: Count pages
48+ analyserLambda ->> analyserLambda: SHA256
49+ analyserLambda ->> eventBus: PrintLetterAnalysed event
50+ deactivate analyserLambda
51+ eventBus -) senderLambda: PrintLetterAnalysed event
52+ activate senderLambda
53+ senderLambda -) eventBus: letter.PREPARED event
54+ deactivate senderLambda
55+ eventBus -) printApi: letter.PREPARED event
3556```
0 commit comments