mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-09 05:58:35 +02:00
start on handling group permissions
This commit is contained in:
parent
6fae35d9f2
commit
c80ca825b8
2 changed files with 49 additions and 29 deletions
|
@ -22,6 +22,45 @@ QStringList NodePermissions::standardNames = QList<QString>()
|
||||||
<< NodePermissions::standardNameLoggedIn
|
<< NodePermissions::standardNameLoggedIn
|
||||||
<< NodePermissions::standardNameAnonymous;
|
<< NodePermissions::standardNameAnonymous;
|
||||||
|
|
||||||
|
NodePermissions::NodePermissions(QMap<QString, QVariant> perms) {
|
||||||
|
_id = perms["permissions_id"].toString();
|
||||||
|
if (perms.contains("group_id")) {
|
||||||
|
_groupIDSet = true;
|
||||||
|
_groupID = perms["group_id"].toUuid();
|
||||||
|
}
|
||||||
|
|
||||||
|
canConnectToDomain = perms["id_can_connect"].toBool();
|
||||||
|
canAdjustLocks = perms["id_can_adjust_locks"].toBool();
|
||||||
|
canRezPermanentEntities = perms["id_can_rez"].toBool();
|
||||||
|
canRezTemporaryEntities = perms["id_can_rez_tmp"].toBool();
|
||||||
|
canWriteToAssetServer = perms["id_can_write_to_asset_server"].toBool();
|
||||||
|
canConnectPastMaxCapacity = perms["id_can_connect_past_max_capacity"].toBool();
|
||||||
|
}
|
||||||
|
|
||||||
|
QVariant NodePermissions::toVariant() {
|
||||||
|
QMap<QString, QVariant> values;
|
||||||
|
values["permissions_id"] = _id;
|
||||||
|
if (_groupIDSet) {
|
||||||
|
values["group_id"] = _groupID;
|
||||||
|
}
|
||||||
|
values["id_can_connect"] = canConnectToDomain;
|
||||||
|
values["id_can_adjust_locks"] = canAdjustLocks;
|
||||||
|
values["id_can_rez"] = canRezPermanentEntities;
|
||||||
|
values["id_can_rez_tmp"] = canRezTemporaryEntities;
|
||||||
|
values["id_can_write_to_asset_server"] = canWriteToAssetServer;
|
||||||
|
values["id_can_connect_past_max_capacity"] = canConnectPastMaxCapacity;
|
||||||
|
return QVariant(values);
|
||||||
|
}
|
||||||
|
|
||||||
|
void NodePermissions::setAll(bool value) {
|
||||||
|
canConnectToDomain = value;
|
||||||
|
canAdjustLocks = value;
|
||||||
|
canRezPermanentEntities = value;
|
||||||
|
canRezTemporaryEntities = value;
|
||||||
|
canWriteToAssetServer = value;
|
||||||
|
canConnectPastMaxCapacity = value;
|
||||||
|
}
|
||||||
|
|
||||||
NodePermissions& NodePermissions::operator|=(const NodePermissions& rhs) {
|
NodePermissions& NodePermissions::operator|=(const NodePermissions& rhs) {
|
||||||
this->canConnectToDomain |= rhs.canConnectToDomain;
|
this->canConnectToDomain |= rhs.canConnectToDomain;
|
||||||
this->canAdjustLocks |= rhs.canAdjustLocks;
|
this->canAdjustLocks |= rhs.canAdjustLocks;
|
||||||
|
@ -44,7 +83,6 @@ NodePermissionsPointer& operator|=(NodePermissionsPointer& lhs, const NodePermis
|
||||||
return lhs;
|
return lhs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
QDataStream& operator<<(QDataStream& out, const NodePermissions& perms) {
|
QDataStream& operator<<(QDataStream& out, const NodePermissions& perms) {
|
||||||
out << perms.canConnectToDomain;
|
out << perms.canConnectToDomain;
|
||||||
out << perms.canAdjustLocks;
|
out << perms.canAdjustLocks;
|
||||||
|
|
|
@ -25,15 +25,7 @@ class NodePermissions {
|
||||||
public:
|
public:
|
||||||
NodePermissions() { _id = QUuid::createUuid().toString(); }
|
NodePermissions() { _id = QUuid::createUuid().toString(); }
|
||||||
NodePermissions(const QString& name) { _id = name; }
|
NodePermissions(const QString& name) { _id = name; }
|
||||||
NodePermissions(QMap<QString, QVariant> perms) {
|
NodePermissions(QMap<QString, QVariant> perms);
|
||||||
_id = perms["permissions_id"].toString();
|
|
||||||
canConnectToDomain = perms["id_can_connect"].toBool();
|
|
||||||
canAdjustLocks = perms["id_can_adjust_locks"].toBool();
|
|
||||||
canRezPermanentEntities = perms["id_can_rez"].toBool();
|
|
||||||
canRezTemporaryEntities = perms["id_can_rez_tmp"].toBool();
|
|
||||||
canWriteToAssetServer = perms["id_can_write_to_asset_server"].toBool();
|
|
||||||
canConnectPastMaxCapacity = perms["id_can_connect_past_max_capacity"].toBool();
|
|
||||||
}
|
|
||||||
|
|
||||||
QString getID() const { return _id; }
|
QString getID() const { return _id; }
|
||||||
|
|
||||||
|
@ -41,6 +33,10 @@ public:
|
||||||
void setUserName(QString userName) { _userName = userName; }
|
void setUserName(QString userName) { _userName = userName; }
|
||||||
QString getUserName() { return _userName; }
|
QString getUserName() { return _userName; }
|
||||||
|
|
||||||
|
void setGroupID(QUuid groupID) { _groupID = groupID; }
|
||||||
|
QUuid getGroupID() { return _groupID; }
|
||||||
|
bool isGroup() { return _groupIDSet; }
|
||||||
|
|
||||||
bool isAssignment { false };
|
bool isAssignment { false };
|
||||||
|
|
||||||
// these 3 names have special meaning.
|
// these 3 names have special meaning.
|
||||||
|
@ -57,26 +53,9 @@ public:
|
||||||
bool canWriteToAssetServer { false };
|
bool canWriteToAssetServer { false };
|
||||||
bool canConnectPastMaxCapacity { false };
|
bool canConnectPastMaxCapacity { false };
|
||||||
|
|
||||||
void setAll(bool value) {
|
QVariant toVariant();
|
||||||
canConnectToDomain = value;
|
|
||||||
canAdjustLocks = value;
|
|
||||||
canRezPermanentEntities = value;
|
|
||||||
canRezTemporaryEntities = value;
|
|
||||||
canWriteToAssetServer = value;
|
|
||||||
canConnectPastMaxCapacity = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
QVariant toVariant() {
|
void setAll(bool value);
|
||||||
QMap<QString, QVariant> values;
|
|
||||||
values["permissions_id"] = _id;
|
|
||||||
values["id_can_connect"] = canConnectToDomain;
|
|
||||||
values["id_can_adjust_locks"] = canAdjustLocks;
|
|
||||||
values["id_can_rez"] = canRezPermanentEntities;
|
|
||||||
values["id_can_rez_tmp"] = canRezTemporaryEntities;
|
|
||||||
values["id_can_write_to_asset_server"] = canWriteToAssetServer;
|
|
||||||
values["id_can_connect_past_max_capacity"] = canConnectPastMaxCapacity;
|
|
||||||
return QVariant(values);
|
|
||||||
}
|
|
||||||
|
|
||||||
NodePermissions& operator|=(const NodePermissions& rhs);
|
NodePermissions& operator|=(const NodePermissions& rhs);
|
||||||
NodePermissions& operator|=(const NodePermissionsPointer& rhs);
|
NodePermissions& operator|=(const NodePermissionsPointer& rhs);
|
||||||
|
@ -86,6 +65,9 @@ public:
|
||||||
protected:
|
protected:
|
||||||
QString _id;
|
QString _id;
|
||||||
QString _userName;
|
QString _userName;
|
||||||
|
|
||||||
|
bool _groupIDSet { false };
|
||||||
|
QUuid _groupID;
|
||||||
};
|
};
|
||||||
|
|
||||||
const NodePermissions DEFAULT_AGENT_PERMISSIONS;
|
const NodePermissions DEFAULT_AGENT_PERMISSIONS;
|
||||||
|
|
Loading…
Reference in a new issue