Я нигде не вижу, чтобы вы использовали список авторизации Вы можете удалить это. Чтобы убедиться, что всегда есть только один ключ авторизации, вы можете использовать существующую карту. Существующая запись будет перезаписана.
Если вы хотите узнать, существует ли ключ, проверьте, чтобы active
было true
, так как оно будет false
по умолчанию для всех несуществующих ключей.
Вам нужно перебрать все адреса в какой-то момент?
Чтобы проверить, равна ли роль Admin, я бы создал Enum для ролей и сравнил бы с этим. Примерно так:
// Enum
enum Roles { User, Admin };
// Struct
struct Authorization {
Roles role;
bool active;
}
// Checking
if (assetStructs[assetKey].authorizationStructs[authorizationKey].role == Roles.Admin) {
// something here
}