Skip to content

Commit d5e808f

Browse files
committed
feat(governance): update governance API for latest changes
related to nextcloud-gmbh/governance#140 Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
1 parent f6bb73f commit d5e808f

2 files changed

Lines changed: 29 additions & 49 deletions

File tree

src/gui/governance/governancelabelslistmodel.cpp

Lines changed: 17 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -289,56 +289,34 @@ void GovernanceLabelsListModel::refreshModel()
289289
oneLabelObject.value(u"color"_s).toString()
290290
);
291291

292+
auto labelKeyName = QString{};
292293
switch (_labelType)
293294
{
294295
case Governance::LabelType::Sensitivity:
295-
{
296-
qCDebug(lcGovernanceLabelsListModel()) << "checking existing sensitivity labels";
297-
if (!existingLabelsObject.contains(u"sensitivity"_s)) {
298-
qCWarning(lcGovernanceLabelsListModel()) << "missing sensitivity data in OCS reply";
299-
break;
300-
}
301-
302-
const auto &sensitivityLabel = existingLabelsObject[u"sensitivity"_s].toObject();
303-
304-
parseExistingSingleLabel(rowIndex, sensitivityLabel);
296+
labelKeyName = u"sensitivity"_s;
305297
break;
306-
}
307298
case Governance::LabelType::Retention:
308-
{
309-
qCDebug(lcGovernanceLabelsListModel()) << "checking existing retention labels";
310-
if (!existingLabelsObject.contains(u"retention"_s)) {
311-
qCWarning(lcGovernanceLabelsListModel()) << "missing retention data in OCS reply";
312-
break;
313-
}
314-
315-
const auto retentionLabels = existingLabelsObject[u"retention"_s].toArray();
316-
317-
for (const auto &oneLabel : retentionLabels) {
318-
const auto &oneLabelObject = oneLabel.toObject();
319-
parseExistingSingleLabel(rowIndex, oneLabelObject);
320-
}
299+
labelKeyName = u"retention"_s;
321300
break;
322-
}
323301
case Governance::LabelType::LegalHold:
324-
{
325-
qCDebug(lcGovernanceLabelsListModel()) << "checking existing legal hold labels";
326-
if (!existingLabelsObject.contains(u"hold"_s)) {
327-
qCWarning(lcGovernanceLabelsListModel()) << "missing legal hold data in OCS reply";
328-
break;
329-
}
330-
331-
const auto legalHoldLabels = existingLabelsObject[u"hold"_s].toArray();
332-
333-
for (const auto &oneLabel : legalHoldLabels) {
334-
const auto &oneLabelObject = oneLabel.toObject();
335-
parseExistingSingleLabel(rowIndex, oneLabelObject);
336-
}
302+
labelKeyName = u"hold"_s;
337303
break;
338-
}
339304
case Governance::LabelType::InvalidLabelType:
340305
break;
341306
}
307+
308+
qCDebug(lcGovernanceLabelsListModel()) << "checking existing" << labelKeyName << "labels";
309+
if (!existingLabelsObject.contains(labelKeyName)) {
310+
qCWarning(lcGovernanceLabelsListModel()) << "missing" << labelKeyName << "data in OCS reply";
311+
break;
312+
}
313+
314+
const auto &sensitivityLabels = existingLabelsObject[labelKeyName].toArray();
315+
316+
for (const auto &oneLabel : sensitivityLabels) {
317+
const auto &oneLabelObject = oneLabel.toObject();
318+
parseExistingSingleLabel(rowIndex, oneLabelObject);
319+
}
342320
}
343321
endResetModel();
344322
}

test/testgovernance.cpp

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -581,16 +581,18 @@ private slots:
581581
},
582582
"data": {
583583
"retention": [],
584-
"sensitivity": {
585-
"id": "91785883351310337",
586-
"name": "Test Sensitivity",
587-
"priority": 0,
588-
"description": "This is a long description",
589-
"color": "bf4040",
590-
"canAssign": "no",
591-
"canRemove": "no",
592-
"isAssigned": true
593-
}
584+
"sensitivity": [
585+
{
586+
"id": "91785883351310337",
587+
"name": "Test Sensitivity",
588+
"priority": 0,
589+
"description": "This is a long description",
590+
"color": "bf4040",
591+
"canAssign": "no",
592+
"canRemove": "no",
593+
"isAssigned": true
594+
}
595+
]
594596
}
595597
}
596598
}

0 commit comments

Comments
 (0)