package de.cannamanage.domain.enums;

/**
 * All auditable event types in the system.
 * Immutable audit trail for KCanG compliance (10-year retention).
 */
public enum AuditEventType {
    // Distribution events
    DISTRIBUTION_RECORDED,
    DISTRIBUTION_VOIDED,

    // Member events
    MEMBER_CREATED,
    MEMBER_UPDATED,
    MEMBER_SUSPENDED,
    MEMBER_EXPELLED,

    // Stock events
    BATCH_CREATED,
    BATCH_RECALLED,

    // Auth events
    LOGIN_SUCCESS,
    LOGIN_FAILED,
    LOGOUT,
    PASSWORD_CHANGED,

    // Staff events
    STAFF_INVITED,
    STAFF_PERMISSIONS_CHANGED,
    STAFF_REVOKED,

    // Consent events
    CONSENT_GRANTED,
    CONSENT_REVOKED,
    DATA_EXPORTED,
    DATA_DELETED,

    // Billing events
    SUBSCRIPTION_STARTED,
    SUBSCRIPTION_CANCELED,
    PAYMENT_RECEIVED,
    PAYMENT_FAILED
}
