25 QString endPoint = communityUrl;
26 if ( endPoint.endsWith(
'/' ) )
30 endPoint += QLatin1String(
"/self" );
32 endPoint += QStringLiteral(
"/users/" ) + user;
34 QUrl queryUrl( endPoint );
35 QUrlQuery query( queryUrl );
36 query.addQueryItem( QStringLiteral(
"f" ), QStringLiteral(
"json" ) );
37 queryUrl.setQuery( query );
42QVariantMap
QgsArcGisPortalUtils::retrieveUserInfo(
const QString &communityUrl,
const QString &user,
const QString &authcfg, QString &errorTitle, QString &errorText,
const QMap< QString, QVariant > &requestHeaders,
QgsFeedback *feedback,
const QString &urlPrefix )
49 const QVariantMap info =
retrieveUserInfo( communityUrl, user, authcfg, errorTitle, errorText, requestHeaders, feedback, urlPrefix );
50 return info.value( QStringLiteral(
"groups" ) ).toList();
53QVariantList
QgsArcGisPortalUtils::retrieveUserGroups(
const QString &communityUrl,
const QString &user,
const QString &authcfg, QString &errorTitle, QString &errorText,
const QMap< QString, QVariant > &requestHeaders,
QgsFeedback *feedback,
const QString &urlPrefix )
60 QString endPoint = contentUrl;
61 if ( endPoint.endsWith(
'/' ) )
64 endPoint += QStringLiteral(
"/groups/" ) + groupId;
71 QUrl queryUrl( endPoint );
72 QUrlQuery query( queryUrl );
73 query.addQueryItem( QStringLiteral(
"f" ), QStringLiteral(
"json" ) );
74 query.addQueryItem( QStringLiteral(
"start" ), QString::number( start ) );
75 query.addQueryItem( QStringLiteral(
"num" ), QString::number( pageSize ) );
76 queryUrl.setQuery( query );
79 if ( !errorText.isEmpty() )
80 return QVariantList();
82 items.append( response.value( QStringLiteral(
"items" ) ).toList() );
87 const int total = response.value( QStringLiteral(
"total" ) ).toInt();
95QVariantList
QgsArcGisPortalUtils::retrieveGroupContent(
const QString &contentUrl,
const QString &groupId,
const QString &authcfg, QString &errorTitle, QString &errorText,
const QMap< QString, QVariant > &requestHeaders,
QgsFeedback *feedback,
int pageSize,
const QString &urlPrefix )
102 const QVariantList items =
retrieveGroupContent( contentUrl, groupId, authcfg, errorTitle, errorText, requestHeaders, feedback, pageSize, urlPrefix );
106 for (
const QVariant &item : items )
108 const QVariantMap itemDef = item.toMap();
109 const QString itemType = itemDef.value( QStringLiteral(
"type" ) ).toString();
111 for (
const int filterType : itemTypes )
123QVariantList
QgsArcGisPortalUtils::retrieveGroupItemsOfType(
const QString &contentUrl,
const QString &groupId,
const QString &authcfg,
const QList<int> &itemTypes, QString &errorTitle, QString &errorText,
const QMap< QString, QVariant > &requestHeaders,
QgsFeedback *feedback,
int pageSize,
const QString &urlPrefix )
135 return QStringLiteral(
"Feature Service" );
137 return QStringLiteral(
"Map Service" );
139 return QStringLiteral(
"Image Service" );
141 return QStringLiteral(
"Scene Service" );
ArcGisRestServiceType
Available ArcGIS REST service types.
@ GeocodeServer
GeocodeServer.
@ SceneServer
SceneServer.
@ Unknown
Other unknown/unsupported type.
@ GlobeServer
GlobeServer.
@ ImageServer
ImageServer.
@ FeatureServer
FeatureServer.
static QVariantList retrieveGroupItemsOfType(const QString &contentUrl, const QString &groupId, const QString &authcfg, const QList< int > &itemTypes, QString &errorTitle, QString &errorText, const QgsHttpHeaders &requestHeaders=QgsHttpHeaders(), QgsFeedback *feedback=nullptr, int pageSize=100, const QString &urlPrefix=QString())
Retrieves JSON definitions for all items which belong the the specified groupId.
static QVariantMap retrieveUserInfo(const QString &communityUrl, const QString &user, const QString &authcfg, QString &errorTitle, QString &errorText, const QgsHttpHeaders &requestHeaders=QgsHttpHeaders(), QgsFeedback *feedback=nullptr, const QString &urlPrefix=QString())
Retrieves JSON user info for the specified user name.
static QVariantList retrieveUserGroups(const QString &communityUrl, const QString &user, const QString &authcfg, QString &errorTitle, QString &errorText, const QgsHttpHeaders &requestHeaders=QgsHttpHeaders(), QgsFeedback *feedback=nullptr, const QString &urlPrefix=QString())
Retrieves JSON definitions for all groups which the specified user name is a member of.
static QVariantList retrieveGroupContent(const QString &contentUrl, const QString &groupId, const QString &authcfg, QString &errorTitle, QString &errorText, const QgsHttpHeaders &requestHeaders=QgsHttpHeaders(), QgsFeedback *feedback=nullptr, int pageSize=100, const QString &urlPrefix=QString())
Retrieves JSON definitions for all items which belong the the specified groupId.
static QVariantMap queryServiceJSON(const QUrl &url, const QString &authcfg, QString &errorTitle, QString &errorText, const QgsHttpHeaders &requestHeaders=QgsHttpHeaders(), QgsFeedback *feedback=nullptr, const QString &urlPrefix=QString())
Performs a blocking request to a URL and returns the retrieved JSON content.
Base class for feedback objects to be used for cancellation of something running in a worker thread.
bool isCanceled() const
Tells whether the operation has been canceled already.
#define BUILTIN_UNREACHABLE