"""CRM event type contracts (publish-only)."""
from __future__ import annotations

import enum


class CrmEventType(str, enum.Enum):
    LEAD_CREATED = "crm.lead.created"
    LEAD_UPDATED = "crm.lead.updated"
    CONTACT_CREATED = "crm.contact.created"
    CONTACT_UPDATED = "crm.contact.updated"
    ORGANIZATION_CREATED = "crm.organization.created"
    ORGANIZATION_UPDATED = "crm.organization.updated"
    OPPORTUNITY_CREATED = "crm.opportunity.created"
    OPPORTUNITY_UPDATED = "crm.opportunity.updated"
    OPPORTUNITY_WON = "crm.opportunity.won"
    OPPORTUNITY_LOST = "crm.opportunity.lost"
    PIPELINE_CREATED = "crm.pipeline.created"
    PIPELINE_CHANGED = "crm.pipeline.changed"
    PIPELINE_STAGE_CREATED = "crm.pipeline_stage.created"
    STAGE_CHANGED = "crm.stage.changed"
    PLAYBOOK_ASSIGNED = "crm.playbook.assigned"
    PLAYBOOK_COMPLETED = "crm.playbook.completed"
    FORECAST_UPDATED = "crm.forecast.updated"
    ACTIVITY_CREATED = "crm.activity.created"
    ACTIVITY_COMPLETED = "crm.activity.completed"
    TASK_COMPLETED = "crm.task.completed"
    MEETING_FINISHED = "crm.meeting.finished"
    CALL_LOGGED = "crm.call.logged"
    TIMELINE_UPDATED = "crm.timeline.updated"
    COMMENT_CREATED = "crm.comment.created"
    MENTION_CREATED = "crm.mention.created"
    QUOTE_CREATED = "crm.quote.created"
    QUOTE_UPDATED = "crm.quote.updated"
    NOTE_CREATED = "crm.note.created"
    ATTACHMENT_ADDED = "crm.attachment.added"
