Table of Contents

Namespace Builvero.Infrastructure.Services

Classes

EmailService

Implementation of IEmailService using SendGrid for sending email verification codes.

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.

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.

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.