refs #497 value objects role/user

* created value objects for role/role list and authenticated user
* removed old roles class
This commit is contained in:
Klaus Basan
2015-10-21 18:45:12 +02:00
committed by Mathew Sutcliffe
parent bcf1bed1d0
commit 134a725002
13 changed files with 588 additions and 120 deletions

View File

@@ -0,0 +1,53 @@
/* Copyright (C) 2015
* swift project Community / Contributors
*
* This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level
* directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project,
* including this file, may be copied, modified, propagated, or distributed except according to the terms
* contained in the LICENSE file.
*/
#include "blackmisc/network/rolelist.h"
namespace BlackMisc
{
namespace Network
{
CRoleList::CRoleList() { }
bool CRoleList::hasRole(const QString &roleName) const
{
return this->contains(&CRole::getName, roleName.trimmed().toUpper());
}
bool CRoleList::hasRole(const CRole &role) const
{
return hasRole(role.getName());
}
CRoleList::CRoleList(const CSequence<CRole> &other) :
CSequence<CRole>(other)
{ }
QString CRoleList::namesAsString(const QString &separator) const
{
QStringList rolesString;
for (const CRole &role : (*this))
{
rolesString.append(role.getName());
}
return rolesString.join(separator);
}
CRoleList CRoleList::fromDatabaseJson(const QJsonArray &array)
{
CRoleList roles;
for (const QJsonValue &value : array)
{
roles.push_back(CRole::fromDatabaseJson(value.toObject()));
}
return roles;
}
} // namespace
} // namespace