ExtensionManager: Read more fields from service response

This adds reading of "download_count", "id" and "is_internal".

Change-Id: I45382d7c70bbc5f44f9391bf3a87ee354d1809e4
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Alessandro Portale
2024-06-05 14:03:15 +02:00
parent 0650fe14e5
commit bbfb7542a7
2 changed files with 12 additions and 0 deletions

View File

@@ -38,6 +38,7 @@ struct Plugin
{ {
Dependencies dependencies; Dependencies dependencies;
QString copyright; QString copyright;
bool isInternal = false;
QString name; QString name;
QString packageUrl; QString packageUrl;
QString vendor; QString vendor;
@@ -54,6 +55,8 @@ struct Description {
struct Extension { struct Extension {
QString copyright; QString copyright;
Description description; Description description;
int downloadCount = -1;
QString id;
QString license; QString license;
QString name; QString name;
QStringList platforms; QStringList platforms;
@@ -83,6 +86,7 @@ static Plugin pluginFromJson(const QJsonObject &obj)
return { return {
.dependencies = dependencies, .dependencies = dependencies,
.copyright = metaDataObj.value("Copyright").toString(), .copyright = metaDataObj.value("Copyright").toString(),
.isInternal = obj.value("is_internal").toBool(false),
.name = metaDataObj.value("Name").toString(), .name = metaDataObj.value("Name").toString(),
.packageUrl = obj.value("url").toString(), .packageUrl = obj.value("url").toString(),
.vendor = metaDataObj.value("Vendor").toString(), .vendor = metaDataObj.value("Vendor").toString(),
@@ -158,6 +162,8 @@ static Extension extensionFromJson(const QJsonObject &obj)
const Extension extension = { const Extension extension = {
.copyright = obj.value("copyright").toString(), .copyright = obj.value("copyright").toString(),
.description = description, .description = description,
.downloadCount = obj.value("download_count").toInt(-1),
.id = obj.value("id").toString(),
.license = obj.value("license").toString(), .license = obj.value("license").toString(),
.name = obj.value("name").toString(), .name = obj.value("name").toString(),
.platforms = platforms, .platforms = platforms,
@@ -318,6 +324,10 @@ static QVariant dataFromExtension(const Extension &extension, int role)
return QVariant::fromValue(extension.description.links); return QVariant::fromValue(extension.description.links);
case RoleDescriptionText: case RoleDescriptionText:
return QVariant::fromValue(extension.description.text); return QVariant::fromValue(extension.description.text);
case RoleDownloadCount:
return extension.downloadCount;
case RoleId:
return extension.id;
case RoleItemType: case RoleItemType:
return extension.type; return extension.type;
case RoleLicense: case RoleLicense:

View File

@@ -30,6 +30,8 @@ enum Role {
RoleDescriptionImages, RoleDescriptionImages,
RoleDescriptionLinks, RoleDescriptionLinks,
RoleDescriptionText, RoleDescriptionText,
RoleDownloadCount,
RoleId,
RoleItemType, RoleItemType,
RoleLicense, RoleLicense,
RoleLocation, RoleLocation,