The platform uses three categories of enumerations.
Types, states, and translation constants. Used by value (e.g., ServiceStates::RUNNING = 22).
Each bit in an integer represents an independent flag. Value 0 = empty set (no flags enabled).
Examples: StructureObjectTableFlags, StructureDataTableColumnFlags, RoleFlags, DeviceFlags.
Like flags, but with an additional null state:
| Value | Meaning |
|---|---|
null |
No access (entity is invisible) |
0 |
Base access (can see the entity) |
> 0 |
Specific permission bits enabled |
All permission enums extend BasePermissionsBitMask.
| Location | Scope |
|---|---|
app/Shared/Model/Enums/ |
Shared across all three apps |
app/Model/Enums/ |
App-specific (DBM or Node Manager) |
See Permissions and Admin Permissions.
See Creating Tables for data types, column types, flags, and settings.
| Enum | Values |
|---|---|
ServiceStates |
UNKNOWN, INACTIVE, ACTIVE, STOPPED, STARTING, RUNNING, STOPPING, WAITING |
TemplateVersionStates |
INACTIVE, ACTIVE, DEPRECATED |
InstanceModes |
STANDARD, IMPORT_INIT, IMPORT_PREPARED, MIGRATION_INIT, MIGRATION_PREPARED |
| Enum | Values |
|---|---|
IndividualTypes |
USER, DEVICE |
AuthenticationTypes |
Credentials, OAuth, Shibboleth |
TemplateTypes |
USER_DEFINED, PREDEFINED, BUILT_IN |
ClientTypes |
SERVICE, PREDEFINED_SERVICE, CUSTOM |
ServiceTypes |
SERVICE, PREDEFINED_SERVICE, CUSTOM |
HostRoleTypes |
BUILT_IN, SERVICE, PREDEFINED_SERVICE, CUSTOM_INTERNAL, CUSTOM_EXTERNAL |
StandardServiceSubtypes |
JSON_API, ARCVIEW, MQTT |
Most entities use two-phase deletion: soft-delete (mark as deleted) then permanent delete.
Exceptions: