Added structured logging across services and repositories. Updated SQL queries to use parameterized placeholders for better readability and security. Enhanced error handling for external service communication.
This commit is contained in:
@@ -4,8 +4,10 @@ import (
|
||||
"FamilyHub/src/domain"
|
||||
"FamilyHub/src/integrations/receiptProvider"
|
||||
"FamilyHub/src/repositories"
|
||||
"FamilyHub/src/utils"
|
||||
"context"
|
||||
"fmt"
|
||||
"log"
|
||||
"strings"
|
||||
)
|
||||
|
||||
@@ -35,18 +37,23 @@ func (s *receiptService) AddReceipt(
|
||||
ctx context.Context,
|
||||
req domain.AddReceiptRequest,
|
||||
) (*domain.Receipt, error) {
|
||||
log.Printf("receipt add request: payload=%s", utils.ToLogJSON(req))
|
||||
|
||||
receipt, err := s.provider.GetReceipt(ctx, req.Date, req.Number)
|
||||
if err != nil {
|
||||
log.Printf("receipt add failed: err=%v payload=%s", err, utils.ToLogJSON(req))
|
||||
return nil, err
|
||||
}
|
||||
|
||||
receiptID, err := s.repo.Create(ctx, receipt)
|
||||
if err != nil {
|
||||
log.Printf("receipt persist failed: err=%v receipt=%s", err, utils.ToLogJSON(receipt))
|
||||
return nil, err
|
||||
}
|
||||
receipt.ID = int(receiptID)
|
||||
|
||||
if !s.shouldCreateTransaction(req) {
|
||||
log.Printf("receipt add response: payload=%s", utils.ToLogJSON(receipt))
|
||||
return receipt, nil
|
||||
}
|
||||
|
||||
@@ -59,6 +66,7 @@ func (s *receiptService) AddReceipt(
|
||||
}
|
||||
|
||||
receipt.TransactionID = &transaction.ID
|
||||
log.Printf("receipt add response: payload=%s", utils.ToLogJSON(receipt))
|
||||
return receipt, nil
|
||||
}
|
||||
|
||||
@@ -94,11 +102,14 @@ func (s *receiptService) createTransactionForReceipt(
|
||||
CreatedBy: *req.CreatedBy,
|
||||
ReceiptID: &receiptID,
|
||||
}
|
||||
|
||||
log.Printf("%+v\n", transaction)
|
||||
log.Printf("receipt transaction create request: payload=%s", utils.ToLogJSON(transaction))
|
||||
if err := s.transactionRepo.Create(ctx, transaction); err != nil {
|
||||
log.Printf("receipt transaction create failed: err=%v payload=%s", err, utils.ToLogJSON(transaction))
|
||||
return nil, err
|
||||
}
|
||||
|
||||
log.Printf("receipt transaction create response: payload=%s", utils.ToLogJSON(transaction))
|
||||
return transaction, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user