21#ifndef QGSSERVERAPIUTILS_H
22#define QGSSERVERAPIUTILS_H
24#include "qgis_server.h"
34#ifdef HAVE_SERVER_PYTHON_PLUGINS
44#include <nlohmann/json_fwd.hpp>
45using namespace nlohmann;
69 static QList< QgsServerWmsDimensionProperties::WmsDimensionInfo > temporalDimensions(
const QgsVectorLayer *layer );
97 template<
typename T,
class T2>
static T parseTemporalInterval(
const QString &interval )
SIP_SKIP;
167 static const QVector<QgsVectorLayer *> publishedWfsLayers(
const QgsServerApiContext &context );
180 template <
typename T>
183#ifdef HAVE_SERVER_PYTHON_PLUGINS
191 const auto constLayers { project->
layers<T>() };
192 for (
const auto &layer : constLayers )
194 if ( ! wfsLayerIds.contains( layer->
id() ) )
198#ifdef HAVE_SERVER_PYTHON_PLUGINS
204 result.push_back( layer );
217 static QString sanitizedFieldValue(
const QString &value );
223 static QStringList publishedCrsList(
const QgsProject *project );
236 static QString appendMapParameter(
const QString &path,
const QUrl &requestUrl );
A helper class that centralizes restrictions given by all the access control filter plugins.
bool layerReadPermission(const QgsMapLayer *layer) const
Returns the layer read right.
This class represents a coordinate reference system (CRS).
Class for parsing and evaluation of expressions (formerly called "search strings").
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
QVector< T > layers() const
Returns a list of registered map layers with a specified layer type.
A rectangle specified with double values.
Bad request error API exception.
The QgsServerApiContext class encapsulates the resources for a particular client request: the request...
const QgsProject * project() const
Returns the (possibly NULL) project.
QgsServerInterface * serverInterface() const
Returns the server interface.
The QgsServerApiUtils class contains helper functions to handle common API operations.
static const QVector< T > publishedWfsLayers(const QgsServerApiContext &context)
Returns the list of layers of type T accessible to the WFS service for a given project.
virtual QgsAccessControl * accessControls() const =0
Gets the registered access control filters.
Represents a vector layer which manages a vector based data sets.
SERVER_EXPORT QStringList wfsLayerIds(const QgsProject &project)
Returns the Layer ids list defined in a QGIS project as published in WFS.
#define SIP_THROW(name,...)
QgsTemporalRange< QDate > QgsDateRange
QgsRange which stores a range of dates.
const QgsCoordinateReferenceSystem & crs