|
ORE Studio 0.0.4
|
Reads and writes role-permission assignments to data storage. More...
#include <role_permission_repository.hpp>

Public Types | |
| using | context = ores::database::context |
Public Member Functions | |
| role_permission_repository (context ctx) | |
| std::string | sql () |
| Returns the SQL created by sqlgen to construct the table. | |
| std::vector< domain::role_permission > | read_latest () |
| Reads all active role-permission assignments. | |
| std::vector< domain::role_permission > | read_latest_by_role (const boost::uuids::uuid &role_id) |
| Reads all permissions assigned to a specific role. | |
| std::vector< domain::role_permission > | read_latest_by_permission (const boost::uuids::uuid &permission_id) |
| Reads all roles that have a specific permission. | |
| void | remove (const boost::uuids::uuid &role_id, const boost::uuids::uuid &permission_id) |
| Removes a specific role-permission assignment. | |
| void | remove_all_for_role (const boost::uuids::uuid &role_id) |
| Removes all permission assignments for a role. | |
| std::map< std::string, std::vector< std::string > > | read_all_role_permission_codes () |
| Gets all role-permission mappings with permission codes in a single query. | |
| std::map< std::string, std::vector< std::string > > | read_role_permission_codes (const std::vector< boost::uuids::uuid > &role_ids) |
| Gets permission codes for specific roles in a single query. | |
| void | write (const domain::role_permission &role_permission) |
| Writes role-permission assignments to database. | |
| void | write (const std::vector< domain::role_permission > &role_permissions) |
Reads and writes role-permission assignments to data storage.
| std::map< std::string, std::vector< std::string > > read_all_role_permission_codes | ( | ) |
Gets all role-permission mappings with permission codes in a single query.
Returns a map from role_id (as string) to vector of permission codes. Uses JOINs to efficiently fetch all data in one database round-trip.

| std::map< std::string, std::vector< std::string > > read_role_permission_codes | ( | const std::vector< boost::uuids::uuid > & | role_ids | ) |
Gets permission codes for specific roles in a single query.
More efficient than read_all_role_permission_codes when only a few roles are needed. Uses IN clause with JOINs.