from dataclasses import dataclass
from enum import Enum
from typing import Optional


class EventType(str, Enum):
    CREATED = "created"
    UPDATED = "updated"
    DELETED = "deleted"
    RESTORED = "restored"


@dataclass
class AlfrescoEvent:
    event_type: EventType
    document_id: str
    document_name: str
    folder_path: str
    mimetype: Optional[str] = None
    size_bytes: Optional[int] = None
    version: str = "1.0"
    timestamp: Optional[str] = None
