package de.effigenix.domain.procurement;

import de.effigenix.shared.security.Action;

/**
 * Type-safe actions for Procurement Bounded Context.
 *
 * Example:
 * <pre>
 * authPort.assertCan(ProcurementAction.PURCHASE_ORDER_WRITE);
 * </pre>
 */
public enum ProcurementAction implements Action {
    // Purchase Orders
    PURCHASE_ORDER_READ,
    PURCHASE_ORDER_WRITE,
    PURCHASE_ORDER_DELETE,

    // Goods Receipt
    GOODS_RECEIPT_READ,
    GOODS_RECEIPT_WRITE,

    // Supplier Management
    SUPPLIER_READ,
    SUPPLIER_WRITE,
    SUPPLIER_DELETE
}
