"""Command pattern package for LeoCRM. Commands encapsulate business operations with: - Authorization (permission check) - Execution (delegates to services) - Audit logging - Outbox event enqueuing - State machine validation Commands do NOT commit or rollback — the calling layer (FastAPI dependency ``get_db``) manages the transaction boundary. """ from app.commands.base import BaseCommand, CommandResult from app.commands.contact_commands import ( CreateContactCommand, UpdateContactCommand, DeleteContactCommand, MergeContactsCommand, ) from app.commands.dms_commands import ( UploadFileCommand, DeleteFileCommand, ) from app.commands.mail_commands import ( SendMailCommand, MarkMailReadCommand, DeleteMailCommand, ) from app.commands.calendar_commands import ( CreateCalendarEntryCommand, UpdateCalendarEntryCommand, DeleteCalendarEntryCommand, ) __all__ = [ "BaseCommand", "CommandResult", "CreateContactCommand", "UpdateContactCommand", "DeleteContactCommand", "MergeContactsCommand", "UploadFileCommand", "DeleteFileCommand", "SendMailCommand", "MarkMailReadCommand", "DeleteMailCommand", "CreateCalendarEntryCommand", "UpdateCalendarEntryCommand", "DeleteCalendarEntryCommand", ]