Table of Contents

Namespace Builvero.Infrastructure.Services

Classes

AwsSecretsManagerProvider

AWS Secrets Manager implementation of ISecretsProvider. Used only when BUILVERO_ENV=staging|production.

EmailService

Implementation of IEmailService using SendGrid for sending email verification codes.

EncryptionService

Service for encrypting and decrypting sensitive data at rest using AES encryption.

LocalEmailSender

Local email sender implementation that logs emails instead of sending them. Used only when BUILVERO_ENV=local. Optionally writes email payloads to /tmp/emails for inspection.

LocalEmailService

Local email service implementation that logs email verification codes instead of sending them. Used only when BUILVERO_ENV=local.

LocalFileStorageService

Local file storage implementation that stores files on disk using mounted volumes. Used only when BUILVERO_ENV=local. Mimics S3 semantics with bucket + key abstraction.

LocalProjectNotificationEmailSender

Local implementation of IProjectNotificationEmailSender for development and testing. Logs email content to the console and optionally saves it to a local file. Used only when BUILVERO_ENV=local.

LocalSecretsProvider

Local secrets provider that reads from environment variables or mounted config files. Used only when BUILVERO_ENV=local. No AWS SDK usage.

NoopObjectStorage

No-op implementation of IObjectStorage for testing or when S3 is disabled. Returns deterministic placeholder URLs without making any AWS calls.

PasswordHasher

Implementation of IPasswordHasher using BCrypt for secure password hashing and verification.

PluginPackageService

Service for processing plugin ZIP packages.

ProjectNotificationEmailSender

Implementation of IProjectNotificationEmailSender using SendGrid's dynamic templates for project-related email notifications.

S3ObjectStorage

S3 implementation of IObjectStorage. Handles actual AWS S3 operations with support for LocalStack/minio via Endpoint and ForcePathStyle.

S3Service

Service for S3 operations related to profile photo uploads and resumes. Uses IObjectStorage abstraction internally for testability and feature-flagging.

SendGridEmailSender

Implementation of IEmailSender using SendGrid's dynamic templates for email delivery.

SesClient

AWS SES client wrapper implementation.

SesEmailSender

Implementation of IEmailSender using AWS SES for email delivery.

SesEmailService

Implementation of IEmailService using AWS SES for sending email verification codes.

SsmSendGridApiKeyResolver

Implementation of ISendGridApiKeyResolver that resolves SendGrid API keys from AWS Systems Manager (SSM) Parameter Store or environment variables.

TokenGenerator

Implementation of ITokenGenerator using cryptographically secure random number generation.

Interfaces

ISendGridClientWrapper

Wrapper interface for SendGrid client to enable dependency injection and testing.