" Permissions for administrators and customers "
enum Permission {
    " The Authenticated role means simply that the user is logged in "
    Authenticated
    " SuperAdmin can perform the most sensitive tasks "
    SuperAdmin
    " Owner means the user owns this entity, e.g. a Customer's own Order"
    Owner
    " Public means any unauthenticated user may perform the operation "
    Public

    CreateCatalog
    ReadCatalog
    UpdateCatalog
    DeleteCatalog

    CreateCustomer
    ReadCustomer
    UpdateCustomer
    DeleteCustomer

    CreateAdministrator
    ReadAdministrator
    UpdateAdministrator
    DeleteAdministrator

    CreateOrder
    ReadOrder
    UpdateOrder
    DeleteOrder

    CreateSettings
    ReadSettings
    UpdateSettings
    DeleteSettings
}
