1 #pragma once 2 #include <nlohmann/json.hpp> 3 4 namespace privileges 5 { 6 // clang-format off 7 8 enum class PrivilegeType{ 9 Invalid, 10 Login, 11 ConfigureManager, 12 ConfigureUsers, 13 ConfigureSelf, 14 ConfigureComponents, 15 NoAuth, 16 ConfigureCompositionInfrastructure, 17 AdministrateSystems, 18 OperateSystems, 19 AdministrateStorage, 20 OperateStorageBackup, 21 }; 22 23 NLOHMANN_JSON_SERIALIZE_ENUM(PrivilegeType, { 24 {PrivilegeType::Invalid, "Invalid"}, 25 {PrivilegeType::Login, "Login"}, 26 {PrivilegeType::ConfigureManager, "ConfigureManager"}, 27 {PrivilegeType::ConfigureUsers, "ConfigureUsers"}, 28 {PrivilegeType::ConfigureSelf, "ConfigureSelf"}, 29 {PrivilegeType::ConfigureComponents, "ConfigureComponents"}, 30 {PrivilegeType::NoAuth, "NoAuth"}, 31 {PrivilegeType::ConfigureCompositionInfrastructure, "ConfigureCompositionInfrastructure"}, 32 {PrivilegeType::AdministrateSystems, "AdministrateSystems"}, 33 {PrivilegeType::OperateSystems, "OperateSystems"}, 34 {PrivilegeType::AdministrateStorage, "AdministrateStorage"}, 35 {PrivilegeType::OperateStorageBackup, "OperateStorageBackup"}, 36 }); 37 38 } 39 // clang-format on 40