Documentation: utils / newsletterService

Purpose: Manage subscriber emails in JSON file.
Lifecycle Role: Handles newsletter subscription endpoints.
Dependencies:
Upstream:
  • validateAndSanitizeEmail
  • filesystem
Downstream:
  • newsletter API controllers
Data Flow:
Inputs: raw email strings
Outputs: promise results or errors
Side Effects: reads/writes JSON file
Performance and Scalability:
Bottlenecks:
  • writeLock contention
  • filesystem latency
Concurrency: None
Security and Stability:
Validation: Email sanitation and validation
Vulnerabilities:
  • JSON file exposed if misconfigured
  • No spam/rate limiting
Architecture Assessment:
Coupling: Tight with filesystem and validation util
Abstraction: File-based subscriber storage
Recommendations:
  • Move to database
  • Rate limit subscription
  • Encrypt subscriber data
  • Use atomic writes