@@ -33,6 +33,19 @@ func init() {
33
33
s3Client = s3 .NewFromConfig (cfg )
34
34
}
35
35
36
+ func uploadReceiptToS3 (ctx context.Context , bucketName , key , receiptContent string ) error {
37
+ _ , err := s3Client .PutObject (ctx , & s3.PutObjectInput {
38
+ Bucket : & bucketName ,
39
+ Key : & key ,
40
+ Body : strings .NewReader (receiptContent ),
41
+ })
42
+ if err != nil {
43
+ log .Printf ("Failed to upload receipt to S3: %v" , err )
44
+ return err
45
+ }
46
+ return nil
47
+ }
48
+
36
49
func handleRequest (ctx context.Context , event json.RawMessage ) error {
37
50
// Parse the input event
38
51
var order Order
@@ -53,14 +66,8 @@ func handleRequest(ctx context.Context, event json.RawMessage) error {
53
66
order .OrderID , order .Amount , order .Item )
54
67
key := "receipts/" + order .OrderID + ".txt"
55
68
56
- // Upload the receipt to S3
57
- _ , err := s3Client .PutObject (ctx , & s3.PutObjectInput {
58
- Bucket : & bucketName ,
59
- Key : & key ,
60
- Body : strings .NewReader (receiptContent ),
61
- })
62
- if err != nil {
63
- log .Printf ("Failed to upload receipt to S3: %v" , err )
69
+ // Upload the receipt to S3 using the helper method
70
+ if err := uploadReceiptToS3 (ctx , bucketName , key , receiptContent ); err != nil {
64
71
return err
65
72
}
66
73
0 commit comments