ORE Studio 0.0.4
Loading...
Searching...
No Matches
Public Attributes | List of all members
permission Struct Referencefinal

Represents an atomic permission that can be granted to roles. More...

#include <permission.hpp>

Collaboration diagram for permission:
Collaboration graph

Public Attributes

boost::uuids::uuid id
 Unique identifier for the permission.
 
std::string code
 Permission code following the format "resource:action".
 
std::string description
 Human-readable description of what this permission allows.
 

Detailed Description

Represents an atomic permission that can be granted to roles.

Permissions follow a hierarchical naming convention using colons as separators: "resource:action" (e.g., "accounts:create", "currencies:read"). The special code "*" represents all permissions (superuser).

Note
This type does not include change tracking fields (change_reason_code, change_commentary) because permissions are system-defined constants populated from bootstrap data. They are not user-editable and do not require audit trails. Roles, which reference permissions, are user-manageable and do have change tracking.

Member Data Documentation

◆ code

std::string code

Permission code following the format "resource:action".

Examples: "accounts:create", "currencies:read", "flags:update". Use "*" for wildcard (all permissions).