mirror of
https://github.com/overte-org/overte.git
synced 2025-04-20 11:45:36 +02:00
Don't clear cert ID if static properties change; updates to DDV
This commit is contained in:
parent
59a6726af6
commit
c70ee6055f
2 changed files with 34 additions and 38 deletions
|
@ -431,39 +431,47 @@ void EntityServer::startDynamicDomainVerification() {
|
|||
while (i.hasNext()) {
|
||||
i.next();
|
||||
|
||||
QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance();
|
||||
QNetworkRequest networkRequest;
|
||||
networkRequest.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
|
||||
QUrl requestURL = NetworkingConstants::METAVERSE_SERVER_URL;
|
||||
requestURL.setPath("/api/v1/commerce/proof_of_purchase_status");
|
||||
QJsonObject request;
|
||||
request["certificate_id"] = i.key();
|
||||
networkRequest.setUrl(requestURL);
|
||||
if (!tree->findEntityByEntityItemID(i.value())->verifyStaticCertificateProperties()) {
|
||||
qCDebug(entities) << "During Dynamic Domain Verification, a certified entity with ID" << i.value() << "failed"
|
||||
<< "static certificate verification.";
|
||||
// Delete the entity if it doesn't pass static certificate verification
|
||||
tree->deleteEntity(i.value(), true);
|
||||
} else {
|
||||
|
||||
QNetworkReply* networkReply = NULL;
|
||||
networkReply = networkAccessManager.get(networkRequest);
|
||||
QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance();
|
||||
QNetworkRequest networkRequest;
|
||||
networkRequest.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);
|
||||
QUrl requestURL = NetworkingConstants::METAVERSE_SERVER_URL;
|
||||
requestURL.setPath("/api/v1/commerce/proof_of_purchase_status");
|
||||
QJsonObject request;
|
||||
request["certificate_id"] = i.key();
|
||||
networkRequest.setUrl(requestURL);
|
||||
|
||||
connect(networkReply, &QNetworkReply::finished, [=]() {
|
||||
QJsonObject jsonObject = QJsonDocument::fromJson(networkReply->readAll()).object();
|
||||
QJsonDocument doc(jsonObject);
|
||||
qCDebug(entities) << "ZRF FIXME" << doc.toJson(QJsonDocument::Compact);
|
||||
QNetworkReply* networkReply = NULL;
|
||||
networkReply = networkAccessManager.get(networkRequest);
|
||||
|
||||
connect(networkReply, &QNetworkReply::finished, [=]() {
|
||||
QJsonObject jsonObject = QJsonDocument::fromJson(networkReply->readAll()).object();
|
||||
QJsonDocument doc(jsonObject);
|
||||
qCDebug(entities) << "ZRF FIXME" << doc.toJson(QJsonDocument::Compact);
|
||||
|
||||
// ZRF FIXME!!!
|
||||
//if (networkReply->error() == QNetworkReply::NoError) {
|
||||
if (true) {
|
||||
// ZRF FIXME!!!
|
||||
//if (jsonObject["location"].toString() != thisDomainID) {
|
||||
if (false) {
|
||||
qCDebug(entities) << "invalid_reason not empty, deleting entity" << i.value();
|
||||
//if (networkReply->error() == QNetworkReply::NoError) {
|
||||
if (true) {
|
||||
// ZRF FIXME!!!
|
||||
//if (jsonObject["location"].toString() != thisDomainID) {
|
||||
if (false) {
|
||||
qCDebug(entities) << "invalid_reason not empty, deleting entity" << i.value();
|
||||
tree->deleteEntity(i.value(), true);
|
||||
}
|
||||
} else {
|
||||
qCDebug(entities) << "Call to proof_of_purchase_status endpoint failed; deleting entity" << i.value();
|
||||
tree->deleteEntity(i.value(), true);
|
||||
}
|
||||
} else {
|
||||
qCDebug(entities) << "Call to proof_of_purchase_status endpoint failed; deleting entity" << i.value();
|
||||
tree->deleteEntity(i.value(), true);
|
||||
}
|
||||
|
||||
networkReply->deleteLater();
|
||||
});
|
||||
networkReply->deleteLater();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
int nextInterval = qrand() % ((MAXIMUM_DYNAMIC_DOMAIN_VERIFICATION_TIMER_MS + 1) - MINIMUM_DYNAMIC_DOMAIN_VERIFICATION_TIMER_MS) + MINIMUM_DYNAMIC_DOMAIN_VERIFICATION_TIMER_MS;
|
||||
|
|
|
@ -382,18 +382,6 @@ bool EntityTree::updateEntity(EntityItemPointer entity, const EntityItemProperti
|
|||
qCDebug(entities) << (senderNode ? senderNode->getUUID() : "null") << "physical edits suppressed";
|
||||
}
|
||||
}
|
||||
|
||||
// Clear Certificate ID if any static certificate property is changed
|
||||
if (properties.itemNameChanged() || properties.itemDescriptionChanged() || properties.itemCategoriesChanged() ||
|
||||
properties.itemArtistChanged() || properties.itemLicenseChanged() || properties.limitedRunChanged() ||
|
||||
properties.editionNumberChanged() || properties.entityInstanceNumberChanged() || properties.certificateIDChanged()) {
|
||||
qCDebug(entities) << "A static certificate property on Entity" << entity->getID() << "has changed."
|
||||
<< "Clearing Certificate ID.";
|
||||
QWriteLocker locker(&_entityCertificateIDMapLock);
|
||||
_entityCertificateIDMap.remove(entity->getCertificateID());
|
||||
properties.setCertificateID("");
|
||||
properties.setCertificateIDChanged(true);
|
||||
}
|
||||
}
|
||||
// else client accepts what the server says
|
||||
|
||||
|
|
Loading…
Reference in a new issue