package de.effigenix.domain.sales;

import de.effigenix.shared.security.Action;

/**
 * Type-safe actions for Sales Bounded Context.
 *
 * Example:
 * <pre>
 * authPort.assertCan(SalesAction.ORDER_WRITE);
 * </pre>
 */
public enum SalesAction implements Action {
    // Order Management
    ORDER_READ,
    ORDER_WRITE,
    ORDER_DELETE,

    // Invoice Management
    INVOICE_READ,
    INVOICE_WRITE,
    INVOICE_DELETE,

    // Customer Management
    CUSTOMER_READ,
    CUSTOMER_WRITE,
    CUSTOMER_DELETE
}
